반응형
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
- C++
- DP
- 프로그래머스
- SRE
- 제노블레이드 2
- Github
- ASF-110
- Algorithmus
- GitHub Desktop
- programmers
- Pro-Con
- 네이버 검색 시스템
- 프로콘
- 격리수준
- 알고리즘
- git
- Ultimate Search
- 프로콘 갈림현상
- baekjoon
- python3
- 알고리즘 종류 정리
- Python
- algorithm
- 백준
- 취준
- LeetCode
- 리트코드
- 코딩테스트
- 자소서
- 백트래킹
Archives
- Today
- Total
산타는 없다
쿠키와 세션 본문
반응형
쿠키와 세션을 사용하는 이유는 HTTP의 비연결성과 비상태성 때문이다
- 비연결성 : HTTP 통신 이후로 연결을 끊는 특징
- 비상태성 : HTTP 통신의 상태를 유지하지 않는다
이로 인해 로그인을 해도 사용자 식별을 할 수 없어서 매번 새로운 사용자로 인식하게된다.
이러한 문제를 해결하기위해 사용하는 방법 중 하나가 쿠키 / 세션 방식이다.
쿠키
서버가 사용자의 웹 브라우저에 저장하는 데이터로 Key, Value(String타입)으로 구성되어 있다.
또한 쿠키는 클라이언트가 서버에 요청할 때마다 자동으로 Header에 포함되어 전송되기 때문에, 서버가 사용자를 식별할 수 있게 도와준다.
하지만 쿠키는 서버가 아닌 브라우저에 저장되기 때문에 보안에 아주 취약하다. 따라서 쿠키에는 민감한 개인정보를 절대 넣지 않아야 한다.
세션
쿠키가 웹 브라우저에 저장되는 데이터라면, 세션은 서버(메모리)에 저장되는 데이터이다. 클라이언트의 접근이 어려워 쿠키보다 보안성이 좁지만 서버의 자원을 사용하기 때문에 세션의 내용이 커질 경우 부하가 걸릴 수 있다는 단점이 있다.
쿠키 - 세션 인증방식
- 로그인시 세션에 유저정보를 저장하고 해당 정보의 키로 session_id를 추가한다.
- session_id를 요청 HTTP헤더에 쿠키로 설정한다.
- 클라이언트에서 서버에 다른 작업 요청시, 서버는 클라이언트에 저장된 session_id를 이용하여 요청한 유저정보를 확인 할 수 있다.
장점
쿠키에는 세션 ID 밖에 들어있지 않아 계정정보를 넣는 것보다 안전하다
서버에서 세션 ID로 세션에 들어있는 유저정보를 확인 할 수 있어서 따로 조회하지 않아도 된다.
단점
세션 ID로 사용자를 판단하기 때문에 세션 ID가 해커의 의해 탈취당할 경우, 해커가 해당 세션 ID를 사용하여 사용자인 척 할 수 있다.
유저정보가 세션 즉, 서버 메모리에 저장 되기 때문에 사용자가 많을 경우 서버에 부하가 걸릴 수 있다.
참고
반응형
'Computer Science > 네트워크' 카테고리의 다른 글
흐름 제어, 오류 제어, 혼잡 제어 (0) | 2021.04.14 |
---|---|
웹 브라우저에 주소(www.naver.com 등) 입력하여 접속하기까지 과정 (0) | 2021.03.26 |
Comments