-
Cookie & Session개발 지식/기타 2020. 7. 23. 23:52
HTTP 프로토콜의 특징
- 비연결지향 (Connectionless)
HTTP는 먼저 클라이언트가 서버에 request를 보내면 서버는 response를 보내고 접속을 끊는다. - 상태정보 유지 안함 (stateless)
연결을 끊는 순간 클라이언트와 서버의 통신이 끝나고 상태정보를 유지하지 않는다.
이 두가지 특성을 보완하기 위해 쿠키와 세션을 사용한다.
쿠키 (Cookie)
- 클라이언트 로컬 저장소에 저장되는 키와 값으로 구성된 파일이다.
- 이름, 값, 만료날짜, 경로 정보가 들어있다.
- 일정시간동안 데이터를 저장할 수 있다.
세션 (Session)
- 일정 시간동안 같은 브라우저로부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 유지하는 기술. 서버 측에서 관리한다.
- 클라이언트를 구분하기 위해 세션 ID를 부여하며 서버에 접속하여 브라우저를 종료할 때 까지 유지한다.
쿠키와 세션의 차이
- 쿠키는 클라이언트의 내부 저장소, 세션은 서버의 저장소
- 쿠키는 클라이언트의 로컬에 저장되고 클라이언트가 전송하기 때문에 보안에 취약하다
- 하지만 세션은 서버에서 처리함으로 로그인 정보 같은 보안이 필요한 정보를 처리하기에 좋다.
- 쿠키는 정해진 시간까지 (만료날짜) 계속 유지가 된다. 세션도 마찬가지로 만료날짜를 설정할 수 있지만 브라우저가 종료되면 클라이언트의 세션정보가 삭제된다.
- 쿠키는 클라이언트에서 처리하기 때문에 서버에서 처리하는 세션에 비해 속도가 빠르다.
'개발 지식 > 기타' 카테고리의 다른 글
DMS, DMM, DD (위도와 경도) (0) 2020.08.22 Design Pattern (0) 2020.07.23 HTTP, HTTPS (0) 2020.07.23 펌) 우분투 오라클 xe 설치 (0) 2020.06.07 - 비연결지향 (Connectionless)