본문 바로가기
개발/Network

쿠키

by BellOne4222 2024. 1. 31.

CH5 - 09.쿠키


쿠키란

  • HTTP는 상태를 유지하지 않는 프로토콜
  • 그럼 요청을 보낼 때마다 모든 정보를 URL 쿼리, HTTP 바디로 보내야할까?

쿠키

  • 서버로부터 받은 정보를 클라이언트 측(웹 브라우저)에 임시 저장되는 이름=값 형태의 데이터
  • 서버가 쿠키를 세팅해서 클라이언트에게 보내주면 앞으로의 요청에 있어 클라이언트가 쿠키 데이터를 함께 서버에 요청 메세지를 보낼 수 있다..
  • 유효기간이 있다.(EXPIRES)
  • 쿠키를 전송할 도메인과 경로가 정해져 있다.
  • 서버가 Set-Cookie 헤더로 쿠키를 전달하면 클라이언트는 쿠키를 저장하여 다음 HTTP 요청의 Cookie 헤더로 활용한다.

쿠키의 도메인

  • Set-Cookie : domain=example.com(이름,값 형태)
  • example.com(을 비롯한 서브 도메인)에 접근할 때 쿠키 활용

쿠키의 경로

  • Set-Cookie:path=/

path에 명시된 경로 하위 경로에서 쿠키 활용

path =/posts

→ path =/posts1,path =/posts2 등 하위 경로에서 쿠키를 활용 할 수 있다.

쿠키의 유효기간

  • Set-Cookie:expires = Wed, 날짜(쿠키가 만료되는 시점)
  • Set-Cookie:max-age=1000(쿠키를 활용가능한 시간)

쿠키는 보안에 민감하다.(*)

→ 쿠키는 개인정보를 포함하면 안된다.

→ 쿠키 정보는 탈취당하지 않도록 주의 필요

→ 정보는 암호화해서 넣어야한다.

쿠키와 세션

  • 쿠키의 저장/관리 주체가 클라이언트(브라우저)라면 세션의 저장/관리 주체는 서버
  • 서버는 클라이언트를 식별할 수 있는 세션 ID를 제공하고, 클라이언트는 서버에게 세션 ID를 쿠키로 넘겨 호스트를 식별하게 할 수 있다.

→ 세션 ID값을 기반으로 클라이언트의 요청을 사용자의 정보 등을 서버에서 검증할 수 있다.

쿠키의 보안 기능

  • Secure : HTTPS인 경우에만 전송(HTTP를 TLS로 암호화를 통해서 보안 강화 → HTTPS)
  • HTTPOnly : 자바스크립트에서 접근 불가, XSS 공격 방지

'개발 > Network' 카테고리의 다른 글

컨텐츠 협상  (0) 2024.01.31
캐시  (0) 2024.01.31
HTTP 헤더  (0) 2024.01.31
HTTP 메세지 개관  (0) 2024.01.31
HTTP의 특성  (0) 2024.01.31