웹 브라우저와 웹 서버 사이에서 암묵적인 정보 교환을 하기 위한 장치다.
Cookie는 웹 서버의 지시에 따라 웹 브라우저가 클라이언트 컴퓨터 안에 저장한다.
브라우저에도 저장된다.
**작은 텍스트 파일이다.
웹사이트는 쿠키를 통해 사용자의 장치를 인식 식별하여
웹사이트에 대해 접속자에 대해 개인화하는 용도에 쓰인다.
예를 들어 사용자에 따라 색을 바꾸거나 메뉴 구성을 바꾸는 것과 같은 일을 한다.
**즉, 접속자의 설정과 과거 이용내역에 대한 일부 데이터를 저장하기 때문에 그런 일이 가능하다.
그 내용은 도메인명이나 Cookie의 유효기한과 같은 기본 정보 외에 해당 처리의 독자적인 값으로 구성된다.
**물론 해당 페이지에서 나가면 삭제되는 쿠키가 있는 반면 수동으로 삭제할 때까지 남아있는 쿠키도 있다.
이러한 쿠키는 Cookie에 의해 저장된 정보는 액세스한 URL이 Cookie 안의 정보와 일치하는 경우
자동으로 웹 서버에 송신된다.
이렇게 개인화가 된다면 페이지 탐색, 웹사이트의 보안영역 접속, 검색 등 기능을 이용할 수 있고
쿠키로 인해 접속자의 지역 및 언어와 같은 정보가 저장되어 웹사이트가 그에 따라 작동하기도 한다.
성능을 개선하는데에 쓰이기도 하는데
이는 접속자와 웹사이트의 상호관계에 대한 통계 자료를 만드는 데에 사용된다.
마지막으로 가장 쿠키가 많이 쓰이고 우리가 느끼는 것은
바로 광고, 마케팅이다.
유저의 웹사이트 방문 내역을 추적하거나, 쿠기 제공자인 웹사이트 접속자의 경향, 이용 패턴을 파악하여
그에 맞게 광고를 제공하는 것이다.
쿠키로 저장되는 정보는 일절 암호화지 않는다.
그래서 클라이언트 컴퓨터에서 얼마든지 변조가 가능해서
보안과 관련된 정보를 쿠키로 저장하는 것은 위험하다.
세션
세션 방식은 세션ID를 이용해서 클라이언트를 식별한다.
서버는 인증된 클라이언트에서 세션 ID를 발급해 쿠키에 넣어 보내고, 브라우저는 이를 저장한 후 쿠키에 담아 보낸다.
서버는 발급해준 세션 ID를 서버에 저장해서 클라이언트의 세션 ID를 이용해 정보를 확인한다.
따라서 세션 ID는 열쇠라고 할 수 있다.
- 동작 방식
- 특징
- 서버에 저장하기 때문에, 용량의 제한이 없다. (서버의 용량을 잡아먹기 때문)
- 서버에 세션 객체를 생성 후, 클라이언트마다 고유한 세션 ID를 부여한다.
- 웹 브라우저가 종료되면 세션 쿠키를 삭제한다.
쿠키와 세션의 차이
세션은 쿠키와 반대되는 개념이 아니다. 세션은 쿠키를 이용한 하나의 방법이다.
저장 위치
쿠키 : 정보를 클라이언트에 저장한다. 따라서 접근속도가 빠르다.
세션 : 정보를 서버에 저장 후 클라이언트에 세션 ID를 발급해 준다. 접근속도가 쿠키에 비해 상대적으로 느리다.
보안
쿠키 : 정보를 클라이언트에 저장하기 때문에 보안에 취약하다.
세션 : 쿠키에 비해서 보안성이 높다. (쿠키의 취약점을 보완하기 위해 제시된 방법이다.)
언제 사용?
쿠키 : 장바구니, 맞춤형 광고를 위한 사용자의 행동 등 보안이 중요하지 않은 정보를 저장할 때 사용한다.
세션 : ID, PW, 토큰과 같은 보안이 중요한 정보를 저장해둔다.
** 세션 만료를 클/서 중에 누가하느냐?
세션 ID : 웹 브라우저 닫으면 강제로 없앨 수 있다
세션 ID를 삭제하는쪽은 클라이언트로 명확하지만, 세션 만료의 권한이 누구에게 있느냐는 아직 명확한 답을 얻지 못했다.
참고링크
https://velog.io/@chelsea/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-HTTP-Cookie-vs-Session
'컴퓨터(Computer Science) > 네트워크, Network' 카테고리의 다른 글
소켓 프로그래밍, Socket Programming (0) | 2022.09.03 |
---|---|
네트워크 바이트 오더 [네트워크] (0) | 2021.10.01 |
SSL, Secure Sockets Layer 란 무엇일까? (+HTTPS) (0) | 2021.09.14 |
TCP vs UDP 비교 (2) | 2021.09.13 |
VPN, Virtual Private Network, 우회하는 원리 (0) | 2021.09.13 |