-
[HTTP] 쿠키를 왜 쓰는거죠?코딩은 주댕이로/인터넷 2017. 3. 27. 21:56
HTTP는 Stateless 프로토콜입니다. 즉, 하나하나의 HTTP통신은 이전 통신의 결과와는 전혀 무관한 독립적인 통신을 하게 되는 것입니다.
하지만 로그인과 같은 인증이 필요한 경우를 생각해봅시다.
인증이 필요한 HTTP통신을 할 때마다, 인증에 필요한 작업을 해주어야 할까요?
Stateless 프로토콜의 특징을 생각해보면.. 해주는 것이 맞는 것 같습니다. 페이지를 이동할 때마다 아이디와 패스워드를 요구하겠네요.
이건 말도 안되는 상황입니다.
이런 경우를 해결하기 위해 쿠키라는 시스템이 도입되었습니다.
쿠키는 서버가 Response로 내려주는 데이터 중 하나입니다. 클라이언트가 Request를 보내면 서버가 해당 Request의 Reponse에 쿠키를 설정할 수 있습니다.
쿠키발급이 필요한 Response라면 헤더필드에 Set-Cookie필드를 추가하여 클라이언트가 쿠키를 보존하도록 할 수 있습니다.
이 쿠키에 인증 정보를 보낸다면 다음 번에 클라이언트가 같은 서버로 Request를 보낼 때, 자동으로 쿠키 값을 넣어서 송신합니다.
서버는 클라이언트가 보내온 쿠키를 확인해서 어느 클라이언트가 접속했는지 체크하고 서버 상의 기록을 확인해서 이전 상태를 알 수 있습니다.
출처 : 그림으로 배우는 HTTP&Network Basic
'코딩은 주댕이로 > 인터넷' 카테고리의 다른 글
[HTTP] HTTP메시지와 HTTP엔티티 (0) 2017.04.24 [HTTP] Status Code를 알아보자 (0) 2017.04.15 [HTTP] HTTP의 method (1) 2017.03.24 [TCP/IP] HTTP 학습에 필요한 IP, ARP, TCP를 짚고 넘어가보자. (2) 2017.03.21 [REST API] Query Param vs Path Param 뭐가 더 좋을까? (0) 2017.02.22