쿠키(Cookie)를 이용한 세션 추적
웹 서버는 각 웹 클라이언트에게 고유한 세션 ID를 쿠키 형태로 부여할 수 있습니다. 이후 클라이언트가 보내는 요청에는 이 쿠키가 함께 전달되므로, 서버는 수신된 쿠키를 확인하여 해당 클라이언트를 식별할 수 있습니다.
하지만 이 방식은 항상 효과적이지 않습니다. 브라우저에 따라 쿠키 기능을 지원하지 않거나, 사용자가 쿠키 저장을 차단하는 경우도 있기 때문입니다. 따라서 세션 유지 목적으로 쿠키에만 의존하는 방식은 권장되지 않습니다.
숨겨진 폼 필드(Hidden Form Field)를 이용한 세션 추적
웹 서버는 고유한 세션 ID를 다음과 같이 숨겨진 HTML 폼 필드 형태로 클라이언트에 전송할 수 있습니다.
<input type = "hidden" name = "sessionid" value = "12345">
이 코드는 폼이 제출될 때 지정된 이름(name)과 값(value)이 자동으로 GET 또는 POST 데이터에 포함되도록 합니다. 웹 브라우저가 요청을 다시 보낼 때마다 session_id 값을 함께 전달받아, 서버는 서로 다른 브라우저의 요청을 구분하고 추적할 수 있습니다.
숨겨진 폼 필드 방식의 한계
숨겨진 폼 필드는 세션을 추적하는 효과적인 방법이 될 수 있지만, 중요한 제약이 있습니다. 일반 하이퍼텍스트 링크(<A HREF...>)를 클릭하면 폼 제출이 발생하지 않기 때문에, 숨겨진 필드의 값이 전달되지 않습니다. 즉, 이 방식 역시 폼 기반 요청에만 적용 가능하며, 일반적인 모든 상황에서의 세션 추적을 지원하지 못합니다.