Network
Cookie

쿠키에 대해 설명해주세요

서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각이다. 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재요청시 저장된 데이터를 함께 전송한다. 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용하며 이를 이용하여 사용자의 로그인 상태를 유지한다.

Set-Cookie, Cookie 헤더

Set-Cookie HTTP 응답 헤더는 서버로부터 사용자 에이전트로 전송된다.

Set-Cookie: <cookie-name>=<cookie-value>

다음 서버 헤더는 클라이언트에게 쿠키를 저장하라고 전달한다.

HTTP/1.0 200 OK
Content-type: text/html
Set-Cookie: yummy_cookie=choco
Set-Cookie: tasty_cookie=strawberry

[page content]

서버로 전송되는 모든 요청과 함께 브라우저는 Cookie 헤더를 사용해 서버로 이전에 저장했던 모든 쿠키들을 회신한다.

GET /sample_page.html HTTP/1.1
Host: www.example.org
Cookie: yummy_cookie=choco; tasty_cookie=strawberry

Secure, HttpOnly 쿠키

Secure 쿠키는 HTTPS 프로토콜 상에서 암호화된 요청일 경우에만 전송된다. Secure 쿠키일지라도 민감한 정보는 저장해서는 안된다.

XSS 공격을 방지하기 위해 HttpOnly 설정을 적용할 수 있다. HttpOnly 쿠키는 JavaScript의 Document.cookie API에 접근할 수 없다. 서버에게 전송되기만 한다.

GPT로 문장 정리하기

쿠키에 대해 설명해줘

  • 클라이언트측에서 저장되는 작은 데이터 조각
  • 웹 브라우저를 통해 서버와 상호작용하는 과정에서 정보를 유지하고 전달하는데 사용
  • 주로 다음과 같은 용도로 사용
    • 세션 관리: 사용자의 세션을 식별하고 세션 정보를 유지하는데 사용
    • 개인화: 사용자 선호도, 설정 정보를 쿠키에 저장하여 사용자 경험 개선 혹은 맞춤 콘텐츠 제공
    • 트레킹 및 분석: 사용자 활동 분석
  • 다음과 같은 특징을 가짐
    • 유효 기간: 유효 기간을 가지고 있어 언제까지 유지할 것인지 나타냄
    • 도메인 제한: 특정 도메인에 속한 서버에 의해 생성, 해당 도메인으로 전송되는 요청만 전송
    • 보안: 민감한 정보를 저장하는 것은 권장하지 않음

키워드 정리

참고 자료