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 캐시 내용을 확인하는 명령어

2dns DNS 서버가 2개인 이유? ➡️ 1차/2차 DNS를 보유함으로써 1차가 다운되어도 인터넷 연결을 유지하기 위해서!

이처럼, 과부하/다운 방지를 위해 여러 개의 서버를 설정해놓는다.




Cookie & Session

  • 웹 사이트에 접속할 때 생성되는 정보를 저장하는 임시 파일
  • 웹 사이트(클라이언트)에 저장되는 데이터
  • key:value의 string 형태
  • 이때, 브라우저마다 저장되는 쿠키는 다름!
  • 서버는 브라우저가 다르면 다른 사용자로 인식한다

쿠키 사용 목적

웹 브라우저와의 연결 지속을 위해

  1. 세션 관리 (로그인, 장바구니 등)
  2. 개인화 (사용자마다 적절한 페이지 보여주기)
  3. 트래킹 (사용자 행동/패턴 분석 및 기록)

쿠키 단점

  1. 개인정보 저장 ➡️ 웹 브라우저 자체 거부 기능을 쓸 수는 있음. 그러면, 쿠키 본래의 목적을 잃음
  2. 보안에 취약 ➡️ 웹 브라우저(사용자)에게 저장되므로 임의 수정 및 가로채기에 취약

위와 같은 단점을 보완하고자 나온 것이 바로 Session이다.

Session

  • 1 웹 브라우저 = 1 Session 생성
  • 클라이언트가 아닌 서버에 저장
  • 따라서, 브라우저 종료시 소멸 됨
  • 로그인 사용자에 대한 세션뿐만 아니라, 로그아웃하면 새로운 사용자로 인식해서 새로운 세션을 생성함
  • id/pw 등의 정보를 세션에 담아두면 요청 때마다 DB를 들리지 않아도 되는 편리함
Written on August 3, 2024