Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 선택정렬
- stack
- 해시함수
- divide and conquer
- 백준
- 코테
- 트라이
- 스터디
- 우선순위 큐
- 프로그래머스
- 이진트리탐색
- 스택
- 분할정복
- LinkedList
- 큐
- 삽입정렬
- 거품정렬
- 코테준비
- collections.sort
- 15552번
- 퀵정렬
- 팀정렬
- MSA
- 연결리스트
- 자료구조
- heap
- 파싱
- Timsort
- 힙
- 코딩테스트
Archives
- Today
- Total
Little bIT awesome
[용어 정리] HTTP 쿠키 & 세션 본문
HTTP 쿠키(Cookie)
하이퍼 텍스트의 기록서의 일종으로 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각
서버에 요청한 사람이 누구인지 표시하기 위해 클라이언트에 남김
HTTP 통신은 stateless하기 때문에 필요
※ HTTP의 stateless: 상태가 없다는 의미, 서버 입장에서 동일한 클라이언트의 요청이라도 각 요청은 독립적이다.
주로 세션 관리, 개인 설정 유지, 사용자 트래킹 용도로 사용됨
HTTP 쿠키의 특징
- 한 개에 4kb 까지 저장 가능하며, 최대 300개까지 저장할 수 있는 텍스트 파일
- 클라이언트에 저장됨
- 이름, 값, 만료날짜, 경로 정보를 포함한다.
- 웹 브라우저가 종료되면 삭제됨 (만료 날짜 지정 가능)
- 웹 브라우저에 해당 서버의 쿠키 정보가 있으면 HTTP 요청에 담아 보냄 (HTTP 헤더의 쿠키에)
HTTP 쿠키 작동 방식
HTTP 세션 (session)
통신을 하기 위해 서로 연결된 순간부터 통신을 마칠 때까지의 기간
즉, 클라이언트가 웹서버에 연결된 순간부터 웹 브라우저를 닫아 서버와의 HTTP 통신을 끝낼 때까지의 기간
하지만 보통 세션이라고 말할 때는,
서버에 세션에 대한 정보(세션 상태, 클라이언트 상태, 세션 데이터 등)를 저장해놓고
세션 쿠키(고유한 세션 ID 값)를 클라이언트에게 주어
서버가 클라이언트를 식별할 수 있도록하는 방식 자체를 의미하는 경우가 많다.
HTTP 세션의 특징
- 따로 용량의 제한이 없다. (서버 성능에 의존)
- 서버에 세션 객체를 생성하며 각 클라이언트마다 고유한 세션 ID 값을 부여
- 쿠키를 사용하여 세션 ID 값을 클라이언트에게 전송
- 웹 브라우저가 종료되면 세션 쿠기 삭제
HTTP 세션 작동방식
쿠키와 세션의 관계
주로 쿠키는 클라이언트에 정보를 저장하는 것, 세션은 서버에 정보를 저장하는 것으로 비교함
세션은 쿠키를 이용하는 방식 중 하나 (방식의 차이일 뿐 반대 개념이 아니다)
클라이언트에 저장된다는 쿠키의 특징은 보안에 있어서는 치명적 단점이 될 수 있다.
예를 들어 사용자 로그인 아이디와 비밀번호를 담은 쿠키로 사용자를 식별한다고 하면 누구나 볼 수 있다.
이를 해결하기 위해 세션이라는 개념을 도입. 중요 정보는 서버에서 관리하고, 클라이언트에게는 세션 쿠키를 주어 식별이 가능하도록 한 것
'백엔드' 카테고리의 다른 글
[Docker] 도커란? (0) | 2024.01.31 |
---|---|
[용어 정리] 파싱(Parsing) (0) | 2023.12.26 |
HTTP 수료증 (0) | 2023.07.14 |
캐시와 조건부 요청 (0) | 2023.07.14 |