TIL 23.11.08

한승준·2023년 11월 8일

TIL

목록 보기
17/41

Cookie

사용자가 방문한 웹페이지에서 이용된 환경설정 및 기타 정보를 사용자의 컴퓨터에 작은 text 파일로 저장한 것입니다.
;(세미클론)으로 구분한다 ex) name="han";id="1234"
쿠키 하나는 4KB 저장 가능하다

구성요소

이름 (name)
값 (value)
만료시간 (Expires)
도메인 (Domain)
경로 (Path)
보안 여부 (Secure)
HttpOnly 여부 (HttpOnly)

작동순서

1.클라이언트가 서버에 요청(request)
2.서버에서 Cookie를 생성 > 클라이언트에게 전달
3.클라이언트 로컬 pc에 저장

Session

세션(session)이란 웹 사이트의 여러 페이지에 걸쳐 사용되는 사용자 정보를 저장하는 방법을 의미합니다.
웹서버에 접속한 순간부터 종료까지 유지하는 것을 Session이라고 합니다.
Session이라고 서버 측에 데이터를 객체(Object)형식으로 저장합니다
서버에서는 세션 ID로 클라이언트를 구분하여 웹 브라우저가 서버에 접속해서 브라우저를 종료할 때까지 인증상태를 유지합니다.
세션은 일반적으로 민감한 정보나 로그인 상태와 같은 상태 정보를 유지하는 데 사용됩니다.

작동순서

  1. 클라이언트가 서버에 접속
  2. 클라이언트의 Request-Header필드에 세션ID 존재여부 확인
    2-1. 만약존재하지 않는다면 새로운 새션ID를 생성 후 클라이언트에게 전달
    2-2. 전달 받은 클라이언트는 발급받은 새션ID를 클라이언트 Cookie에 저장
  3. 페이지를 옮기거나 서버에 새로운 요청을 보낼때 세션ID만 체크하여 상태를 유지

JWT

JSON 형식의 토큰에 대한 표준 규칙
3부분으로 나누어짐 Header.Payload.signiture
항상 3개가 존재해야지만 JWT라고 불림
https://jwt.io/ << JWT형식을 디코딩 해주는 사이트
암호키가 없어도 디코딩은 가능하다 그러므로 보안부분에서 취약하다

  • Header signiture에서 어떤 암호화가 되었는지 나타내는 부분
  • Payload 실제 데이터가 보관되어있는 부분
  • signiture 토큰을 인코딩하거나 유효성검사를 할때 필요한 코드

참고자료
https://support.google.com/google-ads/answer/2407785?hl=ko
https://lgphone.tistory.com/65
http://www.tcpschool.com/php/php_cookieSession_session

profile
한승준

0개의 댓글