쿠키와 세션은 HTTP프로토콜의 단점을 보완하기 위해서 생겨난 개념입니다.
HTTP의 문제
HTTP는 클라이언트와 서버의 연결이 끊기는 순간 상태정보를 잃어버립니다. 이는 다시 연결할 때 클라이언트로부터 정보를 다시 얻어와야 하는 번거로움이 있습니다.
첫번째 해결책 : 쿠키
클라이언트가 웹사이트에 방문할 경우 사용자의 컴퓨터에 기록파일을 저장합니다. 그렇게 하면 나중에 다시 접속했을 때도 필요시에 그 정보를 재활용할 수 있습니다.
쿠키 특징
- 이름, 값, 만료일, 경로정보로 구성
- 클라이언트에 총 300개 쿠키를 저장
- 도메인 하나당 최대 20개의 쿠키 소유
- 하나의 쿠키는 최대 4kb까지 저장가능
예) 아이디와 비밀번호 저장
두번째 해결책 : 세션
클라이언트가 웹브라우저를 통해 접속한 시점부터 사용자가 보내는 요청들을 일정시간동안 서버에 저장합니다. 일정시간내에 클라이언트가 다시 접속했을 때 저장한 정보를 불러와 지난번 접속을 끊었을 때의 상태를 보여줍니다.
세션 특징
- 웹 서버에 웹 컨테이너의 상태를 유지하기 위한 정보를 저장
- 저장데이터에 제한이 없음
- 클라이언트에 고유 세션ID를 부여하고 그것으로 클라이언트를 구분해 정보를 불러옴
예) 화면 이동 후에도 재접속시 자동로그인
쿠키와 세션의 차이
차이점
|
쿠키
|
세션
|
저장공간
|
클라이언트 컴퓨터
|
서버 컴퓨터
|
보안성
|
쿠키를 패킷에 담아서 서버에 보낼때 스니핑 당할 가능성
|
내부에서 처리되므로 우려 없음
|
속도
|
빠름
|
느림
|
만료기간
|
쿠키에 쓰여진 만료기간 만큼
|
만료기간이 지나지 않아도 브라우저가 종려되면 자동삭제
|
+ 캐시?
웹페이지 요소를 저장하기 위한 임시 저장소이며 웹페이지를 빠르게 렌더링 할 수 있도록 도와줍니다.
이미지, 비디오, 오디오, css, js파일 등 데이터나 값을 복사해두고 같은 웹페이지를 접속할 때 재사용합니다.
쿠키는 서버를 자동으로 거치게 되지만 캐시는 서버를 거치지 않아도 됩니다.
'네트워크' 카테고리의 다른 글
HTTPS 특징 (0) | 2022.09.28 |
---|---|
web.xml ? (0) | 2022.09.28 |
HTTP 상태코드 표 (0) | 2022.09.28 |
OSI 7계층 (1) | 2022.09.28 |
HTTP와 그 메서드 (0) | 2022.09.28 |