쿠키에 대해 설명해주세요
서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각이다. 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재요청시 저장된 데이터를 함께 전송한다. 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용하며 이를 이용하여 사용자의 로그인 상태를 유지한다.
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로 문장 정리하기
쿠키에 대해 설명해줘
- 클라이언트측에서 저장되는 작은 데이터 조각
- 웹 브라우저를 통해 서버와 상호작용하는 과정에서 정보를 유지하고 전달하는데 사용
- 주로 다음과 같은 용도로 사용
- 세션 관리: 사용자의 세션을 식별하고 세션 정보를 유지하는데 사용
- 개인화: 사용자 선호도, 설정 정보를 쿠키에 저장하여 사용자 경험 개선 혹은 맞춤 콘텐츠 제공
- 트레킹 및 분석: 사용자 활동 분석
- 다음과 같은 특징을 가짐
- 유효 기간: 유효 기간을 가지고 있어 언제까지 유지할 것인지 나타냄
- 도메인 제한: 특정 도메인에 속한 서버에 의해 생성, 해당 도메인으로 전송되는 요청만 전송
- 보안: 민감한 정보를 저장하는 것은 권장하지 않음