일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- wecode
- westagram
- node
- javascript
- 호이스팅
- 스코프
- docker
- OSI7계층
- 장고초기세팅
- Jest
- TypeError: this.boardRepository.createBoard is not a function
- pm2
- bcrypt
- async/await
- 트랜잭션
- rebase
- 노드
- 프로미스
- status code
- typescript
- Django
- django westagram
- JWT
- 실행 컨텍스트
- 자바스크립트
- manytomanyfield
- crud2
- CORS
- nodeJS
- on_delete
- Today
- Total
될때까지
개념정리 :: 쿠키, 세션, 캐시 본문
이 블로그에 정리되어있는 모든 개념들은 학습 개념으로 혼자 정리한 내용입니다.
잘못 기술한 부분이 있을 수 있으니 발견하시면 언제든지 지적해주세요😄
HTTP는 무상태성(클라인트와 첫 통신에서 주고받은 데이터를, 다음에 유지하지 않는다.) 그리고 비연결성(클라이언트의 요청에 대한 응답을 하고 나면, 연결을 끊어버린다.)이라는 특징이 있어서 정보가 유지되지 않는다. 하지만 페이지를 이동해도 특정 데이터들을 유지해야할 필요가 생겼고, 이러한 HTTP의 무상태성을 보완하기 위해 쿠키와 세션이 사용되고 있다.
"쿠키"는 사용자가 웹사이트를 방문할 때 사용자의 컴퓨터(클라이언트)에 저장되는 key-value쌍의 데이터 파일이다. 웹사이트에서 ID 기억하기를 체크하면 내 id가 유지되어 있고, 7일간 보지않기를 체크하면 7일관 관련 팝업창이 뜨지 않는 것들이 쿠키의 예라고 볼 수 있다. 쿠키는 브라우저를 종료해도 파일로 남아있어서 반영구적으로 사용이 가능하고, 파일에서 읽어오기 때문에 빠르다. 하지만 클라이언트에서 수정이 가능하기 때문에 보안에 취약하다는 단점이 있다.
반면 똑같은 웹사이트를 방문했을 때 관련 정보들을 서버에 저장하고 관리한다면 이는 "세션"이다. 세션은 브라우저를 종료하게 되면 세션도 삭제된다. 그래서 세션은 보안성이 좋지만 매 요청마다 서버를 다녀와야하기 때문에 속도가 쿠키보다 느리다.
"캐시"는 임시 저장소이다. 서버에서 받아온 데이터를 복사해서 캐시에 저장해두고, 같은 데이터의 요청이 들어왔을 때 서버가 아닌 캐시에서 꺼내 전달하기 때문에 페이지 로딩 속도를 향상시킬 수 있다.
'학습 > 개념정리' 카테고리의 다른 글
개념정리 :: 파이썬의 동작원리? (0) | 2022.05.19 |
---|---|
개념정리 :: 인코딩, 유니코드, 아스키코드, UTF-8 (0) | 2022.05.06 |
개념정리 :: 프로세스, 쓰레드 (0) | 2022.04.04 |
개념정리 :: break와 continue (0) | 2022.02.27 |
개념정리 :: CORS? (0) | 2022.02.23 |