✨데브코스 2일차(쿠키 and 세션)✨

sincerity developer·2023년 6월 5일
0

데브코스

목록 보기
3/5

서론

우리는 브라우져에 접속하면 보통 로그인을 진행합니다.
약간 인증서 같은건데, 예를들면, 스포츠 경기나, 콘서트 등을 가기위해 우리는 티켓이 있어야 합니다.
웹에서도 회원만 들어갈 수 있는 페이지가 있는데, 인증 절차를 거친다고 얘기합니다.
우리는 들어갈 수 있는 자격이 있으니까 허용해줘!라는 느낌으로 이해하시면 좋습니다
이러한 절차는 보통 로그인이라는 방식으로 이루어집니다.

그렇다면 갑자기 쿠키는 뭐고, 세션은 무엇일까요?

쿠키 세션 사용이유

HTTP프로토콜의 약점을 보완하기 위해 사용됐다.

HTTP프로토콜 약점 (쿠키 세션 등장이유)

1. Connectionless(비연결)

사용자가 서버에 요청을 보내면 응답 후 연결을 바로 끊는다.

2. Stateless(상태가 없는)

연결이 끊어지는 순간, 유져의 모든 상태는 사라진다.

만약 모든 페이지를 들어갈 때 마다 고객의 연결이 다시 끊기고, 상태마저 사라진다면?
----> 유저는 모든 페이지에 들어갈 때 마다 로그인을 다시 해주던가 어떤 식으로라도 계속 연결을 다시 해줘야 합니다.

쿠키

정의 : 유저가 웹 사이트에 방문할 경우, 서버에서 사용자 컴퓨터에 파일 형태의 작은 유저 기록을 저장시키는데 이것을 쿠키라고 한다.(즉, 내 정보)

쿠키 특징

  1. 총 300개의 쿠키를 브라우져에 저장할 수 있다.
  2. 만료일이 존재한다(지나지 않았다면 브라우져를 끄더라도 유효하다)

    혹시 7일동안 보지 않기, 이런 팝업창 보신적 있으신가여????
    만약 보지않기를 누르셨다면, 만료일이 될 동안 브라우져에 이 사용자는 안 본다는 정보의 쿠키가 저장됩니다. => 그래서 안 뜨게 되는 것입니다..

  3. 하나의 도메인 당 20개의 쿠키를 가질 수 있다.

세션

정의 : 클라이언트 별로 각각의 상태정보를 브라우져가 아닌 서버에서 저장하는 기술

세션 특징

  1. 서버에 저장되는 쿠키이다.
  2. 유져들에게 각각 session ID를 부여한다.
  • 유져들을 id로 구분해서 적절한 서비스를 제공한다.

세션 동작

  1. 클라이언트가 요청한다.
  2. client의 Request-Header안에 있는 쿠키를 확인해서, session-id를 확인한다.
  3. 만약 id가 없다면 client에게 response한다.
  4. client는 서버로부터 받은 session-id를 저장한다.
  5. 이제 요청 할 때 session-id를 같이 보내게 되고,
  6. 그 id를 보고 client에 맞는 서비스를 제공한다.

쿠키 vs 세션

  1. 유저의 정보가 어디에 저장되는지!
    쿠키는 브라우져, 세션은 서버에.
  2. 보안면에서 보이지 않는 서버에 저장되는 세션이 더 높다.
  3. 쿠키는 만료기간이 있는 파일로 저장돼서, 브라우져 종료시에도 저장이 됨, 세션은 브라우져를 종료하면 없어짐.
    (물론 세션도 만료기간을 정할 수 있다.)
profile
열심히 할 필요없이 그냥 일단 하면된다!

0개의 댓글