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 | 31 |
Tags
- 삼성 청년 SW 아카데미
- 웹 호스팅
- 뮤텍스
- 서버 호스팅
- 동기화
- floyd-warshall
- 호스팅이란?
- 호스팅
- Proxy
- SSAFY
- 프록시
- 최단 경로
- 싸피 합격
- Proxy Server
- 세마포어란?
- Synchronization
- 클라우드 서버
- 세마포어와 뮤텍스
- Dijkstra Algorithm
- 플로이드 워셜
- 다익스트라
- 다익스트라 알고리즘
- 싸피
- 뮤텍스란?
- 세마포어
- 세마포어와 뮤텍스의 차이
- 플로이드 와샬
- 프록시서버
- 싸피 면접 후기
Archives
- Today
- Total
어제의 나보다 성장한 오늘의 나
쿠키 & 세션 (Cookie & Session) 본문
HTTP는 비연결성(Connectionless)과 비상태성(Stateless)의 특징을 가진다.
- 비연결성 : 클라이언트가 서버에 요청을 보내면 서버는 클라이언트에 응답을 하고 접속을 끊는 특성이다.
- 비상태성 : 비연결성 특성으로 인해 클라이언트의 정보를 알 수 없다.
- 그래서 이전 요청과 현재 요청이 같은 사용자의 요청인지 알 수 없다는 단점이 있다.
쿠키와 세션을 사용하는 이유
위와 같이 HTTP의 두가지 특성을 보완하기 위해서 쿠키(Cookie)와 세션(Session)을 사용하게 되었다.
만약 쿠키와 세션이 없다면 페이지를 넘어갈때마다 인증을 다시 받아야 한다.
예를 들면, 쇼핑몰에서 옷을 구매하려고 로그인음 했음에도, 페이지를 이동할 때마다 계속 로그인을 해야한다.
쿠키(Cookie)
- 쿠키는 웹 사이트에 접속할 때 생성되는 정보를 담은 임시파일이다.
- 서버가 사용자의 웹 브라우저에 저장하는 데이터를 말한다.
- 쿠키의 데이터 형태는 Key와 Value로 구성되고 String 형태로 이루어져 있다.
쿠키의 사용목적
- 세션 관리 : 로그인, 사용자 닉네임, 접속 시간, 장바구니 등의 서버가 알아야할 정보들을 저장한다.
- 개인화 : 사용자마다 다르게 그 사람에 적절한 페이지를 보여줄 수 있다.
- 트래킹 : 사용자의 행동과 패턴을 분석하고 기록한다.
쿠키의 단점
- 방문했던 웹 사이트에 대한 정보 및 개인정보가 기록되기 때문에 사생활 침해할 소지가 있다.
- 이를 해소하기 위해서 웹 브라우저 자체에 쿠키 거부 기능이 있다. 웹 브라우저에서 거부가 되어 있다면 쿠키 본래의 목적인 연결을 지속시키는 기능을 수행할 수 없다.
- 서버가 가지고 있는 것이 아니라 사용자에게 저장되기 때문에, 임의로 고치거나 지울 수 있고 가로채기도 쉬워 보안이 취약하다. 따라서 쿠키에는 민감하거나 중요한 정보를 담는 것이 위험하다.
세션
- 세션은 쿠키를 기반하고 있지만, 사용자 정보 파일을 브라우저에 저장하는 쿠키와 달리 서버측에에서 관리한다.
- 세션 아이디는 웹 브라우저 당 1개씩 생성되어 웹 컨테이너에 저장되며 브라우저 종료시 소멸된다.
- 일정 시간동안 같은 사용자로부터 들어오는 일련의 요구를 하나의 상태로 보고, 그 상태를 일정하게 유지하는 기술이다.
- 로그인한 사용자에 대해서만 세션을 생성하는 것이 아니라 로그아웃하면 새로운 사용자로 인식해서 새로운 세션이 생성된다.
- 아이디, 닉네임 등의 정보를 세션에 담아두면 요청이 있을 때마다, DB에 접근할 필요가 없어서 효율적이다.
세션을 쓰면되는데 굳이 쿠키를 사용하는 이유?
- 세션이 쿠키에 비해 보안도 높은 편이나 쿠키를 사용하는 이유는 세선은 서버에 저장되고, 서버자원을 사용하기 때문에 사용자가 많을 경우 소모되는 자원이 상당하다.
- 이러한 자원관리 차원에서 쿠키와 세션을 적절한 요소 및 기능에 병행 사용하며, 서버 자원의 낭비를 방지하여 웹 사이트의 속도를 높일 수 있다.
비교
출처
'CS > 네트워크' 카테고리의 다른 글
주소창에 naver.com을 치면 일어나는 일 (0) | 2021.04.06 |
---|---|
HTTP와 HTTPS의 차이는 무엇일까? (0) | 2021.04.04 |
프록시 서버(proxy server)란? (0) | 2021.04.01 |
호스팅이란 무엇인가? (0) | 2021.04.01 |
[브라우저 동작원리] 브라우저는 어떻게 동작하는가? (0) | 2021.04.01 |
Comments