N

(TIL Day02-2)쿠키와 세션 본문

TIL

(TIL Day02-2)쿠키와 세션

naeunchan 2021. 8. 4. 22:34
728x90
반응형

HTTP 통신

  • HTTP Request는 기본적으로 상태가 존재하지 않는다.
  • 따라서 서버는 어떤 브라우저에서 요청이 들어 왔는지 알 수 없다.
  • 이때, 헤더에 쿠키를 담으면 서버가 쿠키를 읽어 데이터의 출처를 할 수 있다.

 


 

쿠키(Cookie)

하이퍼 텍스트의 기록서(HTTP)의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일을 일컫는다.

https://ko.wikipedia.org/wiki/HTTP_%EC%BF%A0%ED%82%A4

 

HTTP 쿠키 - 위키백과, 우리 모두의 백과사전

쿠키(영어: cookie)란 하이퍼 텍스트의 기록서(HTTP)의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해 인터넷 사용자의 컴퓨터에 설치되는 작

ko.wikipedia.org

  • 클라이언트에 저장 및 관리하는 데이터.
  • 브라우저를 닫아도 데이터가 유지된다.
  • 서버에서 Set-Cookie를 응답 헤더로 내려주면 클라이언트는 이를 받아 저장한다.
  • 클라이언트 쪽에서 자체적으로 조작이 가능하다.
  • 각 상태(state)의 수명을 정할 수 있다.
  • XSS 공격을 당할 수 있다.(JS를 이용한 쿠키값 탈취 가능)
  • XSS를 방지하기 위해 HTTPS 통신을 이용한다.
  • HTTPS가 완전한 해답은 아니다!

https://noirstar.tistory.com/266

 

XSS(Cross-Site Scripting) 이란?

2. XSS (Cross-Site Scripting)  2.1 개요 Ÿ   XSS Attack  XSS(Cross-Site Scripting) 이란 웹 애플리케이션에서 일어나는 취약점으로 관리자가 아닌 권한이 없는 사용자가 웹 사이트에 스크립트를 삽입하..

noirstar.tistory.com

 


 

세션(Session)

  • HTTP Session ID를 식별자로 사용하여 사용자를 구분한다.
  • 클라이언트는 HTTP Session Id를 쿠키 형태로 저장한다.
  • 쿠키는 클라이언트, 세션은 서버 자체적으로 관리한다.
  • 서버에 저장되기 때문에 데이터 양이 많아지면 서버 관리가 힘들다.
  • 이를 해결하기 위해 서버와 클라이언트 사이의 인증은 별도의 토큰(Token)을 사용하고, 쿠키는 클라이언트 자체적으로 데이터를 관리한다.

 


 

웹 스토리지

  • 클라이언트에 데이터를 저장하기 위한 새로운 방법
  • HTML5 부터 등장하여 많은 인기를 얻었다.
  • 로컬 스토리지와 세션 스토리지가 존재.

 

로컬 스토리지

  • 데이터를 저장하면 반영구적으로 데이터가 저장된다.
  • 브라우저를 종료해도 데이터가 남아있다.
  • 저장했던 도메인과 이용하려는 도메인이 다른 경우 접근이 불가하다.
  • Key - Value 형태로 저장.

 

세션 스토리지

  • 새 창을 생성할 때마다 개별적으로 저장된다.
  • 브라우저를 닫는 순간 데이터가 소멸.
  • 같은 도메인이라도 세션이 다르다면 데이터에 접근이 불가하다.
  • Key - Value 형태로 저장.
728x90
반응형