[CS]네트워크(AJAS, Cookies, Session, 포트,라우팅 등)
AJAS(Asychronous Javascript and XML)
동기
- 여러 함수를 실행할 때, 이전 함수가 값을 리턴할 때 까지 다음 함수가 실행되지 않음.
비동기
- 함수를 실행할 때, 함수가 호출만 되면 다음 함수로 넘어감. 결과는 Callback
- thread와 유사개념
HTML과 XML의 차이
- HTML이 데이터의 표현에 그 목적을 두고 있다면 XML은 데이터 교환을 위한 구조정의에 그 목적을 두고 있다.
- HTML이 정해진 태그를 가지고 표현하는 것이라면, XML은 사용자가 태그를 정의해서 사용할 수 있다.
- HTML이 인터넷 웹 환경에서 작동되는 언어라고 본다면 XML은 어느 특정 환경에 구애를 받지 않는다.
- HTML이 데이터와 그 표현을 동시에 하고 있다면 XML은 데이터만을 가지고 있을 뿐 그 표현은 하고 있지 않다.
웹에서 변수 저장하기
Cookies(쿠키)
- HTTP 헤더를 기반으로 이루어지는 데이터
- 로컬에 저장되는 key-value쌍의 작은 데이터 파일
- 클라이언트(브라우저)에 저장되는 변수
- 데이터를 원하는 형태로 변경 가능하고, 브라우저를 종료해도 남아있음
- 파일에서 읽어서 상대적으로 빠름
Session(세션)
- 쿠키를 이용해서 서버에 저장되는 변수
- ID값만 가지고 있어서 상대적으로 안전
- 실제 DB에 저장되어 있음
- 브라우저 종료 시 지워지게 됨(저장공간에 한계가 있으므로)
포트(port)
- 하나의 IP에 여러 port가 있고, 각 port는 해당 application에 대응이 됨.
- FTP는 21, HTTP는 80번 포트를 이용
- netstat- n : 서버, 컴퓨터 포트 관련 리스트
라우팅
- 네트워크 안에서 통신 데이터를 보낼 때 최적의 경로를 선택하는 과정
- 클라이언트가 요청을 하게 되면 URL를 입력하고 그것이 DNS 서버에 의해 IP주소로 변환되어 호출됨
- 이 IP를 찾아가는 데 이용되는 기기를 라우터, 찾아가는 행위를 라우팅이라고 함
- 다시말해 라우터는 해당 IP를 갖고 있는 패킷들을 전달함
NAT(Network address Translation)
- private IP를 public IP로 전환하여 수신될 IP로 데이터가 전달될 수 있게 함
파싱
- 어떤 페이지에서 내가 원하는 데이터를 특정 패턴이나 순서로 추출해 가공하는 것
네트워크 관련 명령어
ipconfig
ping
- ip주소와 함꼐 입력하면 요청에 의해 응답을 받을 수 있음
tracert
nslookup(network system lookup)
- 해당 명령어를 입력하면 DNS서버에 의해 URL을 통해 IP를 알 수 있고, IP를 통해 URL을 알 수 있음
허브
HTTP, HTTPS
Hash화
- 주민번호와 같은 개인정보의 경우, DB에 저장하면 안되는 규약이 있다면 고유 Key를 생성하여 일치하는 지 알아볼 수 있음
- 이 고유 키는 암호화와 달리 비가역적. 이것을 Hash화라고 한다.
Reference