쿠키란?
- 웹사이트 접속시 접속자의 개인장치에 다운로드 되고 브라우저에 저장되는 작은 텍스트 파일
- 쿠키를 통해 접속자의 장치를 인식하고 접속자의 설정과 과거 이용내역에 대한 일부 데이터를 저장
세션 쿠키 = 브라우저를 닫는 경우 자동 삭제되는 쿠키
지속적 쿠키 = 수동 삭제가 필요한 쿠키
세션
- 클라이언트로부터 오는 일련의 요청을 하나의 상태로 보고 그 상태를 일정하게 유지하는 기술
- 클라이언트가 웹 서버에 접속해있는 상태가 하나의 단위
세션 동작 순서:
- 클라이언트 요청
- Request-Header 필드의 쿠키에서 세션ID를 보냈는지 확인
- 세션ID가 없을 경우, 서버에서 생성하여 클라이언트에게 전송
- 쿠키를 사용해 세션ID를 서버에 저장
- 클라이언트 재접속 시, 쿠키를 이용하여 세션ID 값을 서버에 전달
HTTP 프로토콜 환경 특징
- Connectionless : 클라이언트가 요청을 한 후 응답을 받으면 그 연결을 끊어버리는 특징
- Stateless : 연결을 끊는 순간 클라이언트와 서버의 통신이 끝나며 상태 정보는 유지하지 않는 특성이 있다
세션 vs. 쿠키
- 세션은 서버의 자원을 사용하나 쿠키는 전혀 사용하지 않는다
- 보안면에선 세션이, 요청 속도면에선 쿠키가 더 우수
- 세션은 브라우저가 닫히면 사라지지만, 쿠키는 만료기간까지 또는 수동으로 지우기 전까지는 유지된다
- 세션은 서버의 자원을 사용하기 때문에 서버의 메모리에 부하를 줄 수 있고 속도가 느려질 수 있기 떄문에 쿠키가 유리한 경우가 있다.
'IT 공부' 카테고리의 다른 글
DNS와 SSL 인증서 (0) | 2024.07.19 |
---|---|
Load Balancing와 HAProxy란? (0) | 2024.06.26 |
토큰 기반 로그인 인증 방법 (JWT) 란? (0) | 2024.06.24 |