루비 CGI 쿠키


HTTP 프로토콜은 상태 비저장 프로토콜입니다. 하지만 상업용 웹사이트의 경우 서로 다른 페이지 간의 세션 정보를 유지해야 합니다.

사용자가 웹사이트 등록 과정에서 특정 페이지로 이동해야 하지만 이전에 입력한 정보가 손실되지 않았는지 확인해야 하는 경우.

이 경우에는 쿠키가 문제 해결에 매우 도움이 되었습니다.


쿠키는 어떻게 작동하나요?

거의 모든 웹사이트 디자이너는 웹사이트를 디자인할 때 쿠키를 사용합니다. 이는 웹사이트를 탐색하는 사용자에게 보다 친근하고 인간적인 탐색 환경을 제공하는 동시에 방문자 정보를 보다 정확하게 수집할 수 있기 때문입니다.

쓰기 및 읽기

Cookies 컬렉션은 Response 객체와 Request 객체에 첨부된 데이터 컬렉션입니다. 사용 시 앞에 Response 또는 Request를 추가해야 합니다.

클라이언트에 쿠키를 보내는 데 사용되는 구문은 일반적으로 다음과 같습니다.

존재하지 않는 쿠키 세트가 설정되면 클라이언트에 쿠키가 생성됩니다. 쿠키가 이미 있으면 대체됩니다. 쿠키는 HTTP 전송의 헤더 정보의 일부로 클라이언트에 전송되므로 클라이언트에 쿠키를 보내는 코드는 일반적으로 브라우저에 전송되는 HTML 파일의 태그 앞에 배치됩니다.

사용자가 쿠키를 읽으려면 요청 개체의 쿠키 컬렉션을 사용해야 합니다. 사용 방법은 다음과 같습니다. 서버가 브라우저에 데이터를 다운로드하기 전에만 브라우저가 서버를 통해 쿠키를 수집할 수 있다는 점에 유의해야 합니다. . 데이터 교환은 브라우저가 서버에서 다운로드한 데이터를 수신하기 시작하면 오류를 방지하기 위해 response.Buffer=True 를 프로그램 앞에 추가해야 합니다.

컬렉션의 속성

  • 1. 만료 속성: 이 속성은 해당 기간 동안 웹페이지가 열려 있는 동안 저장된 쿠키를 호출할 수 있습니다. 만료되면 쿠키가 자동으로 삭제됩니다. 좋다: 쿠키의 유효기간은 2004년 4월 1일로 설정되어 있으며, 이때 자동으로 삭제됩니다. 쿠키에 유효 기간이 설정되어 있지 않으면 해당 수명 주기는 브라우저를 열 때부터 시작되어 브라우저를 닫을 때 종료됩니다. 수명 주기는 각 실행 후에 종료되고 다음에 실행될 때 다시 시작됩니다.

  • 2.도메인 속성: 이 속성은 쿠키가 전송하는 데이터의 고유성을 정의합니다. _blank"> 소후 홈페이지로만 특정 쿠키를 보내는 경우, 다음 코드를 사용할 수 있습니다:

  • 3.Path 속성: 은 쿠키가 지정된 경로 요청에만 전송되도록 정의합니다. Path 속성이 그렇지 않은 경우 set , 응용 프로그램 소프트웨어의 기본 경로가 사용됩니다.

  • 사용자가 쿠키를 읽을 수 있는지 여부를 지정합니다.
  • 5. 이름=값:
  • 쿠키는 키 형식입니다. -값 쌍 설정 및 검색
  • Ruby에서 쿠키 처리
쿠키라는 개체를 만들고 텍스트 정보를 저장하고 정보를 브라우저에 보내고 CGI.out을 호출하여 쿠키 헤더를 설정할 수 있습니다.
다음으로 이 페이지로 돌아가서 아래와 같이 쿠키 값을 찾습니다.

#!/usr/bin/ruby

require "cgi"
cgi = CGI.new("html4")
cookie = CGI::Cookie.new('name' => 'mycookie',
                         'value' => 'Zara Ali',
                         'expires' => Time.now + 3600)
cgi.out('cookie' => cookie) do
   cgi.head + cgi.body { "Cookie stored" }
end

CGI::Cookie 개체는 다음 매개변수로 인스턴스화됩니다.

parameterdescription
name쿠키의 이름을 지정합니다.
value쿠키의 값을 지정합니다.
expire쿠키의 유효 기간을 지정합니다.
path쿠키의 서버 경로를 지정합니다.
domain쿠키의 도메인 이름을 지정합니다.
secure쿠키가 보안 HTTPS 연결을 통해 전송되는지 여부를 지정합니다.