books/Network

7. HTTP 특징과 데이터 저장 방식

836586697769 2024. 1. 17. 17:37

@notion

 

무상태 프로토콜(stateless protocol)

  • 이전 요청과 응답에 대한 정보를 서버에서 따로 저장하지 않는 프로토콜
  • 서버를 단순하게 설계 가능하나 요청마다 추가 정보를 전달해야 함
  • e.g. HTTP, IP, UDP
  • TCP는 신뢰성을 보장해야 하므로 상태 프로토콜(stateful protocol)

 

클라이언트 기반 저장소

쿠키

  • 키/값의 형태, 문자열만, 한 개 키에 최대 4KB까지 저장
  • 클라이언트와 서버 둘 다 접근 가능
  • 서버는 응답 메시지 안에 Set-Cookie 헤더를 추가하여 쿠키 정보 전송
  • 종류
    • 세션 쿠키: 만료 기간 X, 브라우저 종료 시 삭제
    • 영구 쿠키: 만료 기간 O
  • 장점: 작은 크기의 데이터를 쉽게 저장할 수 있음
  • 단점: 누구나 쉽게 접근 가능하여 보안에 취약, 개인 정보 침해 가능
  • 개인 정보처럼 민감한 데이터보다는 팝업 등 개인 설정을 유지하는 용도로 사용

웹 스토리지

  • 키/값의 형태, 문자열만, 최대 5~10MB까지 저장
  • 클라이언트에서만 접근 가능, 별도 서버 전송 X
  • 로컬 스토리지
    • 데이터 영구 저장
    • 브라우저의 다른 창이나 탭의 정보 공유됨
    • 자동 로그인처럼 지속해서 사용해야 하는 데이터 저장에 사용
  • 세션 스토리지
    • 탭이 닫히면 데이터 삭제
    • 브라우저 창과 탭마다 데이터가 다름
    • 일회성 정보 저장에 사용

IndexedDB

  • 브라우저에 내장된 데이터베이스
  • 서버의 DB처럼 다양한 타입의 데이터를 용량 제한 없이 지원
  • 복잡한 구조, 큰 규모의 데이터에 적합

 

서버 기반 저장소

세션

  • 서버에서 일시적으로 데이터를 저장할 수 있는 기술
  • 과정
    1. 서버는 클라이언트로부터 전달 받은 회원 정보로 클라이언트가 예전에 접근한 적이 있는지 확인
    2. 없다면 고유한 값인 세션 ID 발급해 자신의 메모리에 저장
    3. 서버는 요청에 대한 응답과 함께 세션 ID를 클라이언트에 전달
    4. 클라이언트는 쿠키에 해당 세션 ID 저장
    5. 이후 클라이언트는 요청과 함께 쿠키 안의 세션 ID를 함께 전달
  • 장점: 정보를 서버에서 관리하기 때문에 쿠키만 사용했을 때보다 보안이 우수함
  • 단점: 서버에 데이터를 저장하므로 서버의 부담이 있고 데이터 제공 속도 느릴 수 있음
  • 로그인 같이 보안상 중요한 값을 저장해야 할 때 사용

'books > Network' 카테고리의 다른 글

8. 네트워크 접속 장치  (0) 2024.01.26
6. HTTP  (0) 2024.01.17
5. TCP  (1) 2024.01.09
4. IP  (0) 2024.01.07
3. URL  (1) 2024.01.05