HTTP Protocol
- Hyper Text Transfer Protocol
- 텍스트 형태의 프로토콜
- 웹 서버와 사용자의 인터넷 브라우저 사이 문서 전송을 위한 통신 규약
- www상에서 주로 HTML 문서를 주고 받는데 사용되는 7계층의 프로토콜
- HTTP: RFC 2616
- FTP: RFC 959
DNS
- Domain Name System
- 도메인 이름을 IP주소로 변환해주는 시스템
- 인터넷에서 쓰이는 주소록 같은 존재
- URL 입력 → 도메인의 IP 주소 알아내기 → DNS Resolver에 요청 → 로컬 DNS 캐시 확인 → 여부에 따른 처리
ipconfig /flusdns : DNS 캐시를 비우는 명령어
ipconfig /displaydns : DNS 캐시 내용을 확인하는 명령어
DNS 서버가 2개인 이유? ➡️ 1차/2차 DNS를 보유함으로써 1차가 다운되어도 인터넷 연결을 유지하기 위해서!
이처럼, 과부하/다운 방지를 위해 여러 개의 서버를 설정해놓는다.
Cookie & Session
Cookie
- 웹 사이트에 접속할 때 생성되는 정보를 저장하는 임시 파일
- 웹 사이트(클라이언트)에 저장되는 데이터
key:value의 string 형태- 이때, 브라우저마다 저장되는 쿠키는 다름!
- 서버는 브라우저가 다르면 다른 사용자로 인식한다
쿠키 사용 목적
웹 브라우저와의 연결 지속을 위해
- 세션 관리 (로그인, 장바구니 등)
- 개인화 (사용자마다 적절한 페이지 보여주기)
- 트래킹 (사용자 행동/패턴 분석 및 기록)
쿠키 단점
- 개인정보 저장 ➡️ 웹 브라우저 자체 거부 기능을 쓸 수는 있음. 그러면, 쿠키 본래의 목적을 잃음
- 보안에 취약 ➡️ 웹 브라우저(사용자)에게 저장되므로 임의 수정 및 가로채기에 취약
위와 같은 단점을 보완하고자 나온 것이 바로 Session이다.
Session
- 1 웹 브라우저 = 1 Session 생성
- 클라이언트가 아닌 서버에 저장
- 따라서, 브라우저 종료시 소멸 됨
- 로그인 사용자에 대한 세션뿐만 아니라, 로그아웃하면 새로운 사용자로 인식해서 새로운 세션을 생성함
- id/pw 등의 정보를 세션에 담아두면 요청 때마다 DB를 들리지 않아도 되는 편리함
Written on August 3, 2024