쿠키, 세션, 웹 스토리지에 대해 설명해주세요.

최관수·2023년 9월 11일
0

기술면접

목록 보기
19/58
post-custom-banner

내용 정리

  • 쿠키는 브라우저에 저장되는 작은 크기의 문자열인데, 서버가 HTTP Response Headers의 Set-Cookie에 내용을 넣어 전달하면 브라우저는 이 내용을 브라우저에 저장합니다. 클라이언트는 이제부터 매 HTTP Request시 HTTP Header에 쿠키를 담아서 전송하고, 만료 전이라면 쿠키는 브라우저에 저장되어 있어서 항상 요청시 사용 가능합니다. 만료됐다면 클라이언트가 새로 서버에 요청하여 새로 발급하는 형식으로 작동합니다. 쿠키는 클라이언트를 식별하는 유저 인증에 가장 많이 쓰인다고 할 수 있습니다.
  • 웹 스토리지는 클라이언트가 데이터를 저장해서 들고 있을 수 있도록 HTML5부터 나온 새로운 방식의 저장소 개념으로 볼 수 있습니다. window 객체의 프로퍼티로 존재하고 key, value의 쌍으로 데이터를 저장하는데, 로컬 스토리지와 세션 스토리지로 나뉩니다. 로컬 스토리지는 브라우저를 종료하더라도 데이터가 남아 있고, 세션 스토리지는 브라우저 닫히면 스토리지가 초기화되는 특징이 있습니다.
  • 세션과 쿠키, 스토리지와의 가장 큰 차이점은 저장 위치인데, 세션은 서버에 저장됩니다. 브라우저를 통해 서버에 접속할 때 서버는 세션 id를 쿠키에 담아 되돌려주고, 사용자는 세션 id를 담은 쿠키인 세션 쿠키를 이 후 요청부터 계속해서 함께 전달함으로 서버가 클라이언트를 식별할 수 있게 하는 방식으로 작동합니다. 서버에 저장되기 때문에 쿠키에 비해 상대적으로 안전하지만 서버와 지속적으로 통신을 해야 하기 때문에 서버에 부하가 생길 수 있다는 단점이 있습니다.

꼬리 질문

  • HTTP Header에 대해서 간략하게 설명해주세요
    • HTTP Header는 클라이언트와 서버가 요청 또는 응답으로 부가적인 정보를 전송하는 영역이라고 볼 수 있습니다. 크게 General Header(공통 헤더), Request Header(요청 헤더), Response Header(응답 헤더), Entity Header(엔티티 헤더)로 분류할 수 있습니다.
  • 로컬 스토리지와 세션 스토리지를 구분해서 설명 주셨는데, 선택의 기준이 있다면 뭘까요?
    • 로컬 스토리지 - 자동 로그인, 세션 스토리지 - 브라우저 영역에서 임시로 저장할 법한 데이터
  • 로컬 스토리지에 비해 쿠키를 통한 자동 로그인의 장점은 무엇일까요?

참고자료

profile
평소엔 책과 영화와 음악을 좋아합니다. 보편적이고 보통사람들을 위한 서비스 개발을 꿈꾸고 있습니다.
post-custom-banner

0개의 댓글