set-cookie 和 cookie 的区别

set-cookie 和 cookie 的区别
最新回答
咱狠自私

2022-12-28 23:44:27

一、形式不同

1、set-cookie是一个函数,由服务器发送一个HTTP-cookie到浏览器。

2、cookie是服务器发送到浏览器的变量。

二、存在形式

1、Cookie:独立于语言存在,也就是说,不论是PHP还是JSP(亦或是Java、.Net等其他语言)设置的Cookie,其本质都是一样滴,客户端脚本Javascript都能读取到。

2、set-cookie:PHP函数setcookie()和setrawcookie()均可设置Cookie,它们都有一个boolean型的返回值,如果是false,代表设置失败;如果是true,代表设置成功。但这个返回值仅供参考,并不能保证100%客户端能够成功。

三、作用不同

1、Cookie是由网络服务器存储在你电脑硬盘上的一个txt类型的小文件,它和你的网络浏览行为有关,所以存储在你电脑上的Cookie就好像你的一张身份证,你电脑上的Cookie和其他电脑上的Cookie是不一样的

2、set-cookie() 函数向客户端发送一个 HTTP cookie。cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。

扩展资料:

网络请求中的cookie与set-Cookie的交互模式和作用:

1、当很多人访问统一网络服务器,服务器如何区分不同的用户

sessionid,sessionid保证了浏览器和服务器唯一性的通信凭证号码,session保存在服务器上,sessionid保存在浏览器等客户端,服务器根据浏览器发送来的sessionid作为一个唯一的key值找到对应的用户。

所以说sessionid的唯一性用来区别和查询用户信息,因此sessionid的作用不言而喻。

2、我们经常说浏览器关闭后session就会被清除,那session有生命周期么?

有的,这个是服务器的配置,浏览器关闭只是把sessionid给清除了,所以在此打开浏览器并请求服务,你的登录状态无法找到,由此你需要重新登录。

一般情况下,浏览器如果不刷新或者不重新请求的话,服务器一般会缓存session数据20分钟左右。

3、cookie会被缓存,sessionid保存在cookie中,sessionid一定会被清除么?

不一定,这个需要服务器cookie的设置了,但总体而言,因安全性考量,最好不要缓存sessionid

4、cookie保存用户状态时需要保存sessionid么?

不需要,保存user_id或者其他token即可

5、cookie是如何发送到服务器的?

使用http请求头,浏览器进行了封装,但在一般网络编程时可以加上

参考资料来源:

百度百科--setcookie

时光暖心

2021-10-10 09:27:52

一、形式不同


1、set-cookie是一个函数,由服务器发送一个HTTP-cookie到浏览器。


2、cookie是服务器发送到浏览器的变量。


二、存在形式


1、Cookie:独立于语言存在,也就是说,不论是PHP还是JSP(亦或是Java、.Net等其他语言)设置的Cookie,其本质都是一样滴,客户端脚本Javascript都能读取到。


2、set-cookie:PHP函数setcookie()和setrawcookie()均可设置Cookie,它们都有一个boolean型的

返回值
,如果是false,代表设置失败;如果是true,代表设置成功。但这个返回值仅供参考,并不能保证100%客户端能够成功。


三、作用不同


1、Cookie是由网络服务器存储在你

电脑硬盘
上的一个txt类型的小文件,它和你的网络浏览行为有关,所以存储在你电脑上的Cookie就好像你的一张
身份证
,你电脑上的Cookie和其他电脑上的Cookie是不一样的


2、set-cookie()函数向客户端发送一个HTTPcookie。cookie是由服务器发送到浏览器的变量。cookie通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个cookie。



cookie写入与读取


Cookies集合是附属于Response对象及Request对象的

数据集合
,使用时需要在前面加上Response或Request。用于给客户机发送Cookies的语法通常为:


<%Response.cookies(“Cookies名称”)=数据%>


当给不存在的Cookies集合设置时,就会在客户机创建,如果该Cookies己存在,则会被代替。由于Cookies是作为HTTP传输的头信息的一部分发给客户机的,所以向客户机发送Cookies的代码一般放在发送给浏览器的

HTML文件
的标记之前。如果用户要读取Cookies,则必须使用Request对象的Cookies集合,其使用方法是:


<%efg=request.cookies(“abc”)(将cookies对象abc的值赋给efg)%>


需要注意的是,只有在服务器未被下载任何数据给浏览器前,浏览器才能与Server进行Cookies集合的数据交换,一旦浏览器开始接收Server所下载的数据,Cookies的数据交换则停止,为了避免错误,要在程序和前面加上response.Buffer=True。


以上内容参考 

百度百科-cookie
百度百科-setcookie

听海的哭泣ぃ

2022-01-09 23:02:37

Cookie是在远程浏览器端存储数据并以此跟踪和识别用户身份的机制。从实现上来说,Cookie是存储在客户端的一小段数据,浏览器(即客户端)通过HTTP协议和服务器端进行Cookie的交互。
注:在实际应用中能管理Cookie的客户端不仅仅只有浏览器,当然作为Web应用我们最常见的客户端即是浏览器,这个概念我们应该加以理解。
Cookie独立于语言存在,也就是说,不论是PHP还是JSP(亦或是Java、.Net等其他语言)设置的Cookie,其本质都是一样滴,客户端脚本Javascript都能读取到。从严格的意义上来讲,Cookie并不是由具体的某种语言实现的,这些语言做的仅仅是通过发送HTTP指令,告诉浏览器,最终由浏览器操作Cookie并返回给服务器端。因此,Cookie的真正实现者是浏览器。
举例来说,我们经常使用PHP设置Cookie,但实际上PHP并没有真正设置过Cookie,也可以说是PHP压根没有能力去设置Cookie,PHP能做的只是告诉浏览器,让浏览器去设置Cookie。简单点说,Cookie和PHP没有任何关系,只和浏览器相关,PHP只是遵循某种标准向浏览器发送指令,具体Cookie的设置与管理由浏览器完成。理解这一点,对我们学习Cookie的原理有至关重要的影响。
设置Cookie需要注意以下几点:
PHP函数setcookie()和setrawcookie()均可设置Cookie,它们都有一个boolean型的返回值,如果是false,代表设置失败;如果是true,代表设置成功。但这个返回值仅供参考,并不能保证100%客户端能够成功。
由PHP(服务器端)设置的Cookie不能立即生效,要等到下一个页面才能生效。如果是客户端Javascript设置的,则是立即生效。
Cookie没有显式的删除函数,如果想要删除Cookie,只能将Cookie的expire设置为过去的某个时间点,这样会自动触发浏览器删除Cookie。
而setcookie() 函数向客户端发送一个 HTTP cookie。cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。
两者关系是密不可分的。
cookies是由网络服务器存储在你电脑硬盘上的一个txt类型的小文件,它和你的网络浏览行为有关,所以存储在你电脑上的cookies就好像你的一张身份证,你电脑上的cookies和其他电脑上的cookies是不一样的;cookies不能被视作代码执行,也不能成为病毒,所以它对你基本无害。
setcookie() 函数向客户端发送一个 HTTP cookie。cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。