欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

session - 浏览器HTTP请求发送的COOKIE和PHP setcookie函数种下的COOKIE有什么区别?

程序员文章站 2022-05-10 21:02:11
...
浏览器HTTP请求发送的COOKIE和PHP setcookie函数种下的COOKIE有什么区别?两种COOKIE是否在能在浏览器-》网页信息-》显示网站cookie里面看到呢?

回复内容:

浏览器HTTP请求发送的COOKIE和PHP setcookie函数种下的COOKIE有什么区别?两种COOKIE是否在能在浏览器-》网页信息-》显示网站cookie里面看到呢?

setCookie设置的cookie,会已hhtp响应头的形式,写入浏览器,若path,domain等匹配,将会在下一次HTTP发送请求时加入HTTP请求头。二者只是设置的方式不一样,但一旦设置成功,都可以在浏览器开发者工具中看到。

可以参考下我以前回答的一个问题 http://segmentfault.com/q/1010000002655809/a-1020000002655842

PHP setcookie函数,是通知浏览器,把这个cookie保存起来;浏览器HTTP请求发送的COOKIE是把之前保存的cookie发送给服务器,告诉服务器,我是有这个cookie的。

其实你首先要理解从cookie的作用,他就是服务端生成之后发给客户端,用于验证用户的身份用的。这样客户端(浏览器)向服务器发送请求时就将cookie也发送到服务器,这样服务端只要查一下你的cookie是不是对的,这样就不用每次都去查一下用户的账号密码是不是正确的。(当然cookie还是有其他作用的,例如储存用户的访问习惯之类的)。
而对于你的问题
客户端(浏览器):HTTP请求发送的cookie就是服务器生成后发给浏览器,浏览每次向服务器发送请求都携带回去的。
服务端:PHP的setcookie,其实就是服务端生成cookie的过程。
两者就是同一个东西。所以在浏览器看到的就是同一个东西。

1 Cookie是统一的标准,用什么方式发送,都应该是一样的,否则就失去了它存在的意义。
2 浏览器是不会发送Cookie的,所以也就不存在“浏览器HTTP请求发送的COOKIE”,都是从server端发送给浏览器的,因为http是个无状态协议,只有使用cookie和session,来分辨某个用户的身份。