클라이언트(웹 브라우저) 컴퓨터에 저장하는 작은 데이터 파일 (최대 크기 4KB) 쿠키 이름과 값을 반환합니다.도메인에서만 읽을 수 있습니다. (최대 20개)HTTP는 Stateless(상태를 유지하지 않음)하기 때문에쿠키를 사용하면 사용자 컴퓨터에 저장된 작은 파일을 사용하여 응용 프로그램의 상태를 추적할 수 있습니다.쿠키가 저장된 경로는 브라우저에 따라 다릅니다.
요청쿠키를 생성쿠키를 포함시켜 응답클라이언트에서 보관하고 있음헤더에 쿠키를 함께 보냄변경된 쿠키를 HTTP 헤더에 포함시켜 응답서버에 저장된 전역 변수고유한 ID가 할당컴퓨터에 저장되고 모든 요청과 함께 서버에 반환됩니다.큰 데이터를 저장할 수 있음세션 값이 자동으로 삭제됨세션 ID를 발급받는다.쿠키를 사용해서 저장하고 가지고 있는다.세션 ID를 서버에 전달해서 사용한다.세션에 있는 클라이언트 정보를 가져온다.서버 요청을 처리하여 클라이언트에게 응답합니다.사용자 ID와 같은 중요한 정보를 보다 안전하게 저장합니다.다른 페이지로 값을 전달하는 데 사용됩니다.쿠키를 대체하고 전역 변수를 URL에 전달하는 것보다 효율적이고 안전한 방식으로 저장| 구분 | 쿠키(Cookie) | 세션(Session) |
|---|---|---|
| 저장 위치 | 사용자 정보를 포함하는 클라이언트 측 파일(로컬) | 사용자 정보를 포함하는 서버 측 파일 |
| 라이프 사이클 | 설정 한 수명(만료 시간)에 따라 종료 | 브라우저 닫으면 소멸 |
| 저장 크기 | 공식 최대 쿠키 크기는 4KB | 세션 내에서 원하는 만큼의 데이터를 저장할 수 있다. 도달할 수 있는 유일한 제한은 스크립트가 한 번에 소비할 수 있는 최대 메모리(기본적으로 128MB)입니다. |
| 보안 | 로컬에 저장되기 때문에 변질되거나 request에서 스니핑 당할 우려가 있음 | 서버에서 처리돼며, 쿠키를 이용해 sessionid 만 저장하고 구분되므로, 비교적 보안성이 좋음 |
| 처리 속도 | 서버의 자원들 사용하지 않고 쿠키에 정보가 남아 있으므로 요청시 처리 속도가 빠름 | 서버의 자원을 사용하므로 쿠키에 비해 느린 속도를 냄 |
=> 세션을 무분별하게 사용하면 서버의 메모리가 감당할 수 없어질 수 있고 속도가 느려진다.
Reference