본문 바로가기

JavaScript

Cookie

 

Cookie(쿠키)

 

HTTP 쿠키(웹 쿠키, 브라우저 쿠키)는 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각입니다. 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재 요청 시 저장된 데이터를 함께 전송합니다. 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용합니다. 이를 이용하면 사용자의 로그인 상태를 유지할 수 있습니다. 상태가 없는(stateless) HTTP 프로토콜에서 상태 정보를 기억시켜주기 때문입니다.


MDN에 너무 잘나와있다..

developer.mozilla.org/ko/docs/Web/HTTP/Cookies

 

쿠키는 stateless한 HTTP 특성에 따라 통신이 끝나면 상태를 유지 하지 않는데, 이때, 클라이언트에서 인증을 하기 위해 사용을 한다. 다만, 쿠키의 경우 클라이언트만 쿠키를 가지고 있고, 서버에서 별도로  검증을 하지 않기 때문에 쿠키 자체가 탈취당하게 되면, 보안에 취약할 수 밖에 없다. 따라서 보안에 크게 영향을 미치지 않는 쇼핑몰의 장바구니나 자동로그인 여부등에 쓰인다.

 

HTTP 헤더에 포함하여 요청을 받아 서버에서 cookie 를 넣어 응답을 해줄수 있다.

Set-Cookie를 통해 진행이 가능하다

 

 

 

 

1.브라우저에서 request(요청) 을 보낸다. 

2. 서버는 요청을 받아  Cookie 를 생성하고 HTTP 헤더에 Cookie를 담아 (Set-Cookie)  응답한다. 

3. 브라우저는 이후 서버에 요청시 쿠키를 포함하여 요청을 보내고 서버는 그에 따른 적절한 응답을 한다. 

 

Set-Cookie

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

쿠키의 식별하는 쿠키 이름과, 쿠키가 가지고 있는 값을 넣어줄수 있다. 또 w3schools에 나온것 처럼  유효시간이나 도메인,  쿠키를 전송할 경로를 지정할 수 있다! 쿠키에 대해서 더 자세히 코드샘플을 보면서 이해할 수 있다.

 

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";

https://www.w3schools.com/js/js_cookies.asp

 

'JavaScript' 카테고리의 다른 글

SQL  (0) 2020.06.11
CORS  (0) 2020.05.19
Fetch  (0) 2020.05.18
Web Architectures  (0) 2020.05.18
[Data Structure]Linked List, Hash Table  (0) 2020.05.12