HTTP 프로토콜은 비연결지향과 무상태성이라는 특성을 가짐. 클라이언트와 서버는 요청-응답 후 연결을 종료하며 각 요청은 독립적으로 처리되기 때문에 서버는 이전 요청의 상태를 기억하지 않음 이러한 특성 때문에 사용자 상태 유지를 위해 쿠키와 세션 같은 기술이 필요함. 쿠키와 세션을 통해 사용자의 로그인 상태나 장바구니 정보 같은 상태를 지속적으로 관리할 수 있음.
쿠키의 종류는 어떻게 나누어지나요? 각각의 특징을 설명해주세요.
지속 쿠키(Persistent Cookie): 만료 시간이 설정된 쿠키로 만료 시간이 될 때까지 브라우저가 종료되어도 클라이언트에 유지됨
세션 쿠키(Session Cookie): 만료 시간이 설정되지 않은 쿠키로 브라우저 메모리에 저장하고 브라우저가 종료될 때 삭제됨
쿠키와 세션의 차이점을 설명해주세요.
저장위치 : 쿠키는 클라이언트에 저장되고 세션은 서버에 저장
보안 : 쿠키는 클라이언트에 저장되어 보안에 취약하고 세션은 서버에 저장되어 상대적으로 안전
HTTP는 무상태(stateless) 프로토콜로, 각 요청과 응답이 독립적이어서 이전 상태를 기억하지 못한다. 즉, 서버는 사용자가 이전에 누구였는지 알 수 없기 때문에 사용자 상태를 유지하기 위해 쿠키와 세션이 필요하다. 이를 통해 로그인 상태 유지, 장바구니 등 사용자 정보를 관리할 수 있다.
쿠키의 종류와 특징
세션 쿠키 (Session Cookie): 브라우저가 종료되면 삭제되는 쿠키로, 일시적으로 사용자 정보를 저장한다.
영구 쿠키 (Persistent Cookie): 만료 기한이 설정되어 브라우저를 닫아도 유지되며, 기한이 끝날 때까지 사용자의 상태를 저장한다.
서드파티 쿠키 (Third-party Cookie): 사용자가 방문한 웹사이트가 아닌 다른 도메인에서 생성된 쿠키로, 주로 광고 추적에 사용된다.
보안 쿠키 (Secure Cookie): HTTPS를 통해서만 전송되는 쿠키로, 보안이 중요한 데이터에 사용된다.
쿠키와 세션의 차이점
저장 위치: 쿠키는 클라이언트(브라우저)에 저장되고, 세션은 서버에 저장된다.
유효 기간: 쿠키는 만료 기한에 따라 영구적일 수 있고, 세션은 일정 시간 동안 서버에서 유지되며 브라우저가 닫히면 대부분 만료된다.
보안성: 쿠키는 클라이언트에 저장되므로 상대적으로 취약할 수 있으며, 세션은 서버에 저장되므로 더 안전하다.
예상 면접 질문