오늘은 모던 JavaScript 튜토리얼에서 쿠키와 document.cookie에 대해 공부했다. 작성한 질문은 다음과 같다.
쿠키는 주로 웹서버에 의해 만들어지는데, 서버가 HTTP 응답 헤더에 Set-Cookie에 내용을 넣어 전달하면 브라우저는 이를 브라우저에 자체적으로 저장하며 브라우저는 사용자가 쿠키를 생성하도록 한 동일 서버에 접속할 때마다 쿠키의 내용을 Cookie 요청 헤더에 넣어서 함께 전달하고, 클라이언트 식별과 같은 인증에 많이 쓰인다.
쿠키의 옵션으로는 다음과 같이 존재한다.
- path - 이 경로나 이 경로 하위에 있는 페이지만 쿠키에 접근할 수 있으며 절대 경로여야 한다. 예를 들어, path=/admin 옵션을 사용하여 설정한 쿠키는 /admin과 /admin/blahblah에선 접근할 수 있지만 /home에선 접근할 수 없다.
- domain - 쿠키에 접근 가능한 domain을 지정한다. 다만, 아무 도메인이나 지정할 수 없다. domain 옵션에 아무런 값도 넣어주지 않았다면 쿠키를 설정한 도메인에서만 쿠키에 접근할 수 있고 다른 도메인에서는 얻을 수 없다.
- expires, max-age - 유효 일자(expires), 만료 기간(max-age) 옵션이 지정되어 있지 않으면, 브라우저가 닫힐 때 쿠키도 같이 사라지고 이런 쿠키를 세션 쿠키라고 부른다.
- secure - 이 옵션을 설정하면 HTTPS로 통신하는 경우에만 쿠키가 전송된다.
- samesite - 크로스 사이트 요청 위조(XSRF) 공격을 막기 위해 만들어진 옵션이다.
'TIL' 카테고리의 다른 글
TIL - 20220922 (0) | 2022.09.22 |
---|---|
TIL - 20220921 (1) | 2022.09.21 |
TIL - 20220919 (0) | 2022.09.19 |
TIL - 20220918 (0) | 2022.09.18 |
TIL - 20220917 (0) | 2022.09.17 |