저는 비즈니스를 좋아하는 사람으로서 무엇을 해야 할지, 무엇을 배워야 할지 항상 궁금합니다.
이 쿠키에 무슨 일이 일어나는지 여쭤보고 싶습니다.
서버에서 상대방의 사용자 이름과 비밀번호를 확인한 후 암호화된 문자열을 반환하고 해당 문자열을 서버에 저장한다는 것인가요? 데이터 베이스.
이후 로그인 시에는 아이디와 비밀번호를 확인할 필요 없이 데이터베이스에 맞는 문자열만 확인하면 됩니다. 잠시 후 데이터베이스의 문자열이 삭제됩니다.
이것이 원칙이어야 합니다. 하지만 제가 이해하지 못하는 것은 이 쿠키가 이전 섹션에서 어떻게 전송되었는지입니다. 액션을 사용하여 게시물을 제출하고 얻을 수 있으며, Ajax를 사용하여 숫자를 전달할 수도 있습니다. URL은 값을 전달하는 데에도 사용됩니다.
이전 섹션에서 쿠키를 제출하는 jQuery 또는 html 코드의 관련 기능은 무엇입니까?
PHP 서버에서 쿠키를 수집하는 데 관련된 기능은 무엇입니까? 키워드를 입력해 주시면 검색해 드리겠습니다. 아니면 몇 가지 주의사항만 알려주시면 감사하겠습니다.
저는 비즈니스를 좋아하는 사람으로서 무엇을 해야 할지, 무엇을 배워야 할지 항상 궁금합니다.
이 쿠키에 무슨 일이 일어나는지 여쭤보고 싶습니다.
서버에서 상대방의 사용자 이름과 비밀번호를 확인한 후 암호화된 문자열을 반환하고 해당 문자열을 서버에 저장한다는 것인가요? 데이터 베이스.
이후 로그인 시에는 아이디와 비밀번호를 확인할 필요 없이 데이터베이스에 맞는 문자열만 확인하면 됩니다. 잠시 후 데이터베이스의 문자열이 삭제됩니다.
이것이 원칙이어야 합니다. 하지만 제가 이해하지 못하는 것은 이 쿠키가 이전 섹션에서 어떻게 전송되었는지입니다. 액션을 사용하여 게시물을 제출하고 얻을 수 있으며, Ajax를 사용하여 숫자를 전달할 수도 있습니다. URL은 값을 전달하는 데에도 사용됩니다.
이전 섹션에서 쿠키를 제출하는 jQuery 또는 html 코드의 관련 기능은 무엇입니까?
PHP 서버에서 쿠키를 수집하는 데 관련된 기능은 무엇입니까? 키워드를 입력해 주시면 검색해 드리겠습니다. 아니면 몇 가지 주의사항만 알려주시면 감사하겠습니다.
서버는 유저 에이전트(주로 브라우저)가 쿠키를 저장한 후 쿠키의 이름, 값, 해당 경로, 유효 기간 등을 HTTP 응답 헤더Set-Cookie
를 통해 알려줍니다. 해당 쿠키는 요청 헤더에 배치되어 서버로 전송됩니다.
프런트엔드는 JS를 통해 쿠키를 설정할 수도 있습니다.
쿠키가 설정되어 있는 한 브라우저는 자동으로 쿠키를 요청에 첨부하므로 쿠키를 적극적으로 제출할 필요가 없습니다.
PHP에서 쿠키를 설정하는 함수는 setcookie
입니다(자주 사용하지 않는 setrawcookie
도 있습니다).
<code class="php">setcookie('hello', 'world', time()+3600, '/test/', 'example.com');</code>
이렇게 하면 hello
이라는 값을 갖는 world
이라는 파일이 설정되고, 유효 기간은 현재 시간에 3600초(즉, 1시간)를 더한 값이고, 도메인 이름은 example.com
이고, 경로는 /test/
(http://example.com/test/a.php
과 같은 경로에서 유효한 경로만 나타냄) 쿠키입니다.
구체적인 매개변수는 http://php.net/manual/zh/func... 문서를 참조하세요.
서버는 응답 HTTP 헤더에 Set-Cookie
헤더를 포함합니다:
<code>Set-Cookie: hello=world; Expires=Sun, 13 Nov 2016 11:30:00 GMT; Domain=example.com; Path=/test/</code>
만료 시간(Expires
)은 GMT로 표시됩니다. 여기서는 베이징 시간으로 2016년 11월 13일 18:30:00(즉, 2016년 11월 13일 GMT 10:30)이라고 가정합니다. 00) 쿠키 세트는 1시간 동안 유효합니다.
쿠키가 여러 개인 경우 Set-Cookie
헤더도 여러 개 있습니다.
자세한 내용은 http://www.cnblogs.com/hdtian... 을 참고하세요.
브라우저가 이 쿠키를 저장합니다. 다음에 쿠키 조건을 충족하는 주소를 요청할 때 브라우저는 요청 헤더에 Cookie
헤더를 포함합니다:
<code>Cookie: hello=world</code>
쿠키가 여러 개이거나 Cookie
헤더가 하나만 있는 경우 세미콜론과 공백 ;
을 사용하여 각 쿠키의 이름-값 쌍을 구분하세요.
AJAX 요청이든 일반 POST 및 GET이든 쿠키가 유효하다면 브라우저는 이를 서버로 보냅니다.
PHP는 헤더 정보를 구문 분석하고 쿠키를 $_COOKIE
배열로 구문 분석합니다. 다음과 같이 hello
이라는 쿠키 값에 액세스할 수 있습니다.
<code class="php">$_COOKIE['hello'];</code>
JS에서 쿠키에 접근하는 것은 쿠키를 읽고 설정할 수 있는 편리한 인터페이스가 없기 때문에 약간 번거롭습니다. document.cookie
을 통해서만 쿠키를 조작할 수 있습니다. 자세한 내용은 https://developer.mozilla.org...를 참조하세요.
JS中读取cookie直接用document.cookie
,但是得到的确实和上面浏览器发送cookie中的格式类似的字符串,就是用分号和空格隔开的名值对。
比如hello=world; PHPSESSID=web5~toqn2au0krlholat9c2c4aast3
这样的。我们需要自己解析。
JS中设置cookie则是和上面服务器发送cookie类似,都要设置各个参数。比如:
<code class="javascript">document.cookie="hello=kitty; expires=Sun, 13 Nov 2016 12:00:00 GMT"</code>
这样就把hello
的值改成了kitty
,并且把过期时间延长了半个小时。
虽然看起来好像修改了document.cookie
整个值,但实际上并不会影响到其他cookie。我们再次访问document.cookie
将得到hello=kitty; PHPSESSID=web5~toqn2au0krlholat9c2c4aast3
这样的结果。
要删除一个cookie,只要把过期时间设置在当前时间之前就行了。
因为HTTP
设计是无状态的,所以就有了cookie
来充当HTTP
的状态。有了cookie
,服务端就知道,你是谁了。php
有setcookie
函数,还有$_COOKIE
来获取cookie
。cookie
是通过头部字段Cookies
和Set-Cookie
来传递的。所以php
也可以使用设置返回头和读取返回头来设置cookie
和读取cookie
。