티스토리 뷰
쿠키와 세션
- HTTP 프로토콜은 요청에 대한 응답을 하고나면 연결을 끊고 클라이언트의 상태정보를 유지하지 않는다.
- 하지만 실제로는 로그인을 유지한다던가 선택한 상품을 다른 페이지에서도 봐야한다던가 하는 등 데이터 유지가 필요한 경우가 많다.
- 이러한 경우를 대처하기 위해 쿠키와 세션을 이용하는 것이고 둘의 차이는 정보의 저장 위치와 라이프사이클이다.
- 쿠키는
사용자의 PC
에 저장하는 작은 기록 정보이다. 사용자가 웹사이트에 접근을 했을 때 웹서버가 생성을 하고 쿠키에 정보를 담아서 HTTP 응답을 할 때 클라이언트에게 넘겨준다. 클라이언트는 그 쿠키를로컬PC
에 가지고 있다가 서버에 요청을 할 때 쿠키를 함께 넘깁니다. 로그인 페이지에 아이디와 비밀번호를 저장한다던가 팝업창을 하루 동안 보지 않도록 체크하는 등에서 사용된다. - 세션은 일정시간동안 사용자가 보내는 요청들을 하나의 상태로 보고 그 상태를 유지시키는 기술이다. 사용자가 로그인을 한 상태로 사이트를 이곳저곳 다닐 수 있을 수 있는 것은 세션 덕분이다. 클라이언트가 웹사이트에 접근하면 서버에서 세션ID를 쿠키에 담아서 응답하고 세션ID는 서버에 저장해둔다. 클라이언트가 새로운 요청을 할 때 쿠키에 세션id를 담아서 요청하게 되고 서버는 그 세션id를 확인하여 상태를 유지하게 된다.
- 또 한 가지는, 브라우저를 종료했을 때 쿠키는 파일로 남아있어서 정보가 유지될 수 있지만 세션은 만료기간에 상관없이 삭제가 된다.
참고
- 쿠키와 세션이 사용자의 정보를 저장하기 위한 기술이라면, 캐시(Cashe)는 웹 페이지 요소를 저장하기 위한 기술이다.
- 이미지, CSS, JS 등의 웹페이지 요소를 미리 저장해두고 저장된 요소들은 서버를 거치지 않기 때문에 웹페이지가 빠르게 렌더링 될 수 있다.
연관자료
반응형
'CS > CS 14일 프로젝트' 카테고리의 다른 글
[CS 14일 프로젝트] 2022-12-07(JPA N+1문제) (0) | 2022.12.07 |
---|---|
[CS 14일 프로젝트] 2022-12-06(객체지향프로그래밍) (0) | 2022.12.06 |
[CS 14일 프로젝트] 2022-12-04(URI과 URL, MVC) (0) | 2022.12.04 |
[CS 14일 프로젝트] 2022-12-03(REST API, 오버라이딩과 오버로딩) (0) | 2022.12.03 |
[CS 14일 프로젝트] 2022-12-02(TCPIP, Docker와 VM 차이) (0) | 2022.12.02 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 자바트리
- 백준
- SQLD
- 해시맵
- BFS
- Comparator
- Queue
- 스프링
- Algorithm
- Spring
- 프로그래머스
- java
- JavaScript
- 스프링부트
- DP
- 자바스크립트
- 자바bfs
- SQL
- 자바
- 이분탐색
- 자바dp
- dfs
- Nest
- 알고리즘
- 리액트
- 타입스크립트
- 형변환
- 정렬
- CS
- JPA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함