[HTTP] Cookie : Set-Cookie Header
- Archive2/WEB
- 2022. 6. 22.
* 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다.
* 지속적으로 내용을 수정 및 추가해 나갈 예정입니다.
#Cookie
쿠키(cookie)는 HTTP의 일종으로 사용자가 웹페이지를 방문할 경우 방문자를 식별하기 위하여 사이트가 사용하고 있는 서버를 이용해 사용자의 컴퓨터에 설치되는 작은 정보 기록 파일이다.
로그인 기능을 예시로 들어보자. 웹사이트에 한 번 로그인하면 새로고침(새로운 요청)을 하여도 로그아웃이 되지 않는다.
이는 클라이언트가 서버에게 접속자가 누구인지 지속적으로 알려주고 있기 때문이다. 이 때 사용되는 것이 쿠키이다.
서버는 요청에 들어있는 쿠키를 읽어들어 사용자가 누구인지 파악한다.
특징
1. 쿠키는 클라이언트에 저장되며 단순한 'Key-Value'의 쌍이다.
2. 쿠키는 만료시간을 설정 가능하며, 만료시간 전 까지는 브라우저가 종료 되더라도 삭제되지 않는다.
3. 쿠키는 Server에서 생성하며 Set-Cookie HTTP Response Header에 넣어 클라이언트에 전송한다.
#Set-Cookie Header
Set-Cookie Header로 쿠키를 설정 시 각종 옵션을 넣을 수 있으며, 옵션 사이는 세미콜론(;)을 사용해 구분한다.
Set-Cookie - key=value; Expires=만료날짜; Domain=도메인명; Path=URL; Secure; HttpOnly
key=value : 쿠키명과 쿠키값의 쌍으로 이루어진 문자열 쿠키값이다.
Expires=만료날짜 : 쿠키의 만료 기간이다.
domain=도메인명 : 쿠키가 전송될 도메인을 특정한다. default 값은 현재 도메인이다.
path=URL : 쿠키가 전송될 URL을 특정할 수 있다. defualt값은 '/'이다.
Secure : HTTPS일 경우에만 쿠키가 전송된다.
HttpOnly : JS에서 쿠키에 접근할 수 없도록 설정한다. 주로 로그인 구현 코드에서 자주 사용되며, XSS 공격을 방지해 준다.
'Archive2 > WEB' 카테고리의 다른 글
[HTTP] Content-Type & MIME (0) | 2022.06.23 |
---|---|
[JavaScript] encodeURIComponent & decodeURIComponent : URI 인코딩 & 디코딩 (0) | 2022.06.23 |
[JavaScript] 템플릿 리터럴 : 백틱(``) 달러(${}) 문법 사용법 (0) | 2022.06.21 |
JavaScript / String.startsWith : 특정 문자열로 시작하는지 확인하는 메서드 (0) | 2022.06.20 |
[JavaScript] 생성자 함수를 이용한 객체 생성 (0) | 2022.05.14 |