set-cookie 和 cookie 的区别

2025-04-14 02:40:30
推荐回答(1个)
回答1:

一、形式不同

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