-
728x90
위 저장소들을 알아보기 전에 HTTP 프로토콜에 대해서 알면 좋은데
HTTP 프로토콜은 기본적으로 무상태(Stateless) 프로토콜이라는 특성을 가지고 있다.
각각의 요청은 이전 요청과 독립적으로 처리되어 서버가 클라이언트 상태를 유지하지 않는다.
이로 인해 일부 상황에서는 사용자의 상태를 유지하고 정보를 전달하는데 한계가 발생한다.
그래서 HTTP 프로토콜의 한계를 보완하기 위해 쿠키나 세션, 웹스토리지 같은 메커니즘이 사용된다.
1 .쿠키(Cookie)
쿠키는 name(key)-value 형태의 구조를 갖는 작은 텍스트 파일
주로 로그인 상태, 사용자 환경설정, 장바구니 정보 등을 저장하는 데 활용되며 만료일을 설정할 수 있어 만료일이 지나면 삭제된다.
쿠키는 보통 4KB로 용량이 제한적이고, 클라이언트에 존재하기 때문에 보안에 취약하기 때문에 중요한 정보는 저장하지 않는 것이 좋다.
2. 세션(Session)
서버는 클라이언트에 고유한 세션 ID를 부여하고, 이를 사용해서 클라이언트를 식별한다.
브라우저를 닫거나 세션이 만료되기 전까지 유지되며 일정 시간 응답이 없으면 세션을 만료된다.
세션은 서버에서 데이터를 관리하기 때문에 쿠키에 비해 보안성이 높다.
3. 웹 스토리지(Web Storage)
클라이언트에서 데이터를 저장하는 HTML5 표준 기술로 로컬스토리지와 세션스토리지로 나누어진다.
1) 로컬 스토리지
로컬 스토리지는 데이터를 영구적으로 저장하고 브라우저를 닫아도 데이터는 유지된다.
2) 세션 스토리지
세션 스토리지는 브라우저 탭을 닫거나 세션이 종료되면 삭제되며 보안적인 측면에선 로컬 스토리지보다 안전하다.
'etc' 카테고리의 다른 글
[CS] 주소창에 URL 입력 시 브라우저 동작 원리 (0) 2024.01.04 [CS] 브라우저 렌더링 과정 이해하기 (1) 2024.01.03 [CS] TDD(테스트 주도 개발)와 단위(Unit) 테스트, 기능(function) 테스트 (0) 2023.11.08 [CS] CORS(Cross-Origin Resource Sharing)란? (1) 2023.10.28 [CS] 실시간 통신 기술 (polling, SSE, WebSocket) (0) 2023.06.25 댓글