쿠커 – 02.웹페이지 상태유지

상태 유지

메뉴 “회원인증에 대하여”의 세션관리에서도 언급하였듯이 인터넷의 기본 프로토콜인 HTTP(HyperText Transfer Protocol)를 사용하면, 웹 페이지에 대한 각각의 요구(request)은 다른 요구들과 상관 관계없이 모두 독립적입니다. 즉, 현재 페이지에 대한 데이터를 모두 수신하게 되면 웹서버는 현재 접속된 브라우저에 대하여 자동으로 세션이 종료합니다. 다음에는 웹브라우저에서 모든 것이 처리되기 때문에 웹서버와의 관계는 완전히 끊어지게 됩니다. 즉, 웹서버와 웹브라우저는 파일 단위의 요구, 연결, 송수신을 기본으로 하고 있습니다. 그렇기 때문에 웹서버는 그 방문자에게 이전에 어떠한 페이지가 보내어졌는지에 관한 아무런 기록도 가지고 있지 않습니다. 이런 프로토콜을 스테이트리스 프로토콜(stateless protocol)이라고 합니다.

그러나 대부분의 웹문서는 페이지간 변수의 값을 보존하여야 하는 경우가 많이 발생하게되어 상태 유지 관리가 필요하게 됩니다. 이러한 상태를 유지하기 위한 방법으로는 다음과 같은 것이 있습니다.

  • 쿠키 사용
  • URL 링크에 암호화해서 넣기
  • 히든 태그 사용
  • 다른 프레임에 저장하기
  • 웹서버에 저장하기

그전에는 이러한 상태 유지를 위해 URL 파라미터 또는 히든 태그(hidden type)를 이용하였으나 이러한 방법에 의한 상태 유지는 사용자가 연결을 유지하고 있는 동안의 단기간 지속할 뿐입니다. 연결이 끊어지게 되면 상태 유지가 종료하게 됩니다. 또한 각 페이지간에 정보를 넘겨주기 위해서 매 페이지마다 히든 태그(<INPUT type=hidden ……>)를 사용하게 되면 소스 구조가 대단히 지저분해지게 됩니다.

쿠키에 의한 상태유지

이러한 지속적인 상태 유지 문제(HTTP의 스테이트리스 문제)를 해결하고자 넷스케이프에서 쿠키라는 상태 정보 유지 시스템을 만들어 사용하던 것으로 지금은 익스플로러 또는 모자이크 등 대부분의 웹브라우저에서 널리 사용되고 있습니다. 쿠키를 이용하게 되면 서버와 브라우저가 지속적으로 정보를 주고 받을 수 있으며 이를 통해 어떤 상태를 지속적으로 유지할 수 있게 되는 것입니다.

상태를 유지한다는 말은 사용자가 같은 웹 사이트 내에서 서로 다른 페이지로 옮겨 다니는 상황에서 여러 정보들을 기억한다는 것입니다. 이러한 정보를 가지고 있으면 사용자 설정, 초기 폼 값 채우기, 방문 횟수의 기억과 같은 많은 일들을 수행할 수 있으며 페이지를 사용할 때 더 많은 정보를 사용자에게 제공할 수 있습니다.

쿠키는 웹사이트에서 상태를 관리할 수 있는 가장 강력한 방법 중 하나입니다.

답글 남기기