cookie解决了什么问题(cookie处理)

图片授权基于 www.pixabay.com 相关协议
要说 Cookie 得先说 HTTP 的「无状态」协议。

什么是「无状态」?

就是没有上下文的连接状态。换句话说:浏览器向服务器发送请求,服务器并不知道这个浏览器是谁。

浏览器说:「你好,我是浏览器01号,我想要 index.html 页面」

服务器说:「你好01号,你有权限,给你 index.html 页面」

浏览器说:「你好,我是浏览器01号,我想要 about.html 页面」

服务器说:「你好01号,你有权限 ,给你 about.html 页面」

每次浏览器都会向服务器表明自己的身份,而服务器并不认识它,也不记录它是谁。就好比服务器有「失忆症」,见过之后就忘记了,再见面,你还要再做自我介绍。

这就是无状态。

大家在网上浏览信息的时候,浏览器是怎样记录并保持你的登录状态呢?

Cookie 来了。

Cookie 相当于服务器给浏览器的一个标识符,浏览器第一次访问服务器的时候,服务器就会返回一个属于你当前浏览器的标识符。下次你再发送或者请求数据的时候,会连带着 Cookie 一起发送回去,服务器一解析标识符,就知道你是谁,你从哪里来。

换句话说:Cookie 实现了「有状态」。不过,Cookie 是由浏览器负责存储的,只是在当前浏览器生效。如果换了浏览器,那就需要重新绑定 Cookie。

几个属性:

1、传递 Cookie 使用了两个字段:响应头字段 Set-Cookie 和 请求头字段 Cookie。

2、Cookie 可以设置有效期,使用 Expires 和 Max-Age 两个属性。

3、Cookie 还可以设置作用域,可以使浏览器只发送给特定的服务器,通过 Domain 和 Path 指定 Cookie 所属的域名和路径,发送请求之前浏览器会去提取并对比。

负载均衡是基于 HTTP 的「无状态」处理的,浏览器发送一个数据给服务器,由于没有状态的区别,所以可以让「负载均衡」把请求转发到任意一台服务器。

微信小程序是没有「Cookie」的,所以需要在做项目的时候手动存一下 Cookie 。


内容参考于:极客时间《透视 HTTP 协议》

原创文章,作者:小道研究,如若转载,请注明出处:https://www.sudun.com/ask/34632.html

(0)
小道研究的头像小道研究
上一篇 2024年4月12日
下一篇 2024年4月12日

相关推荐

  • Web基础与HTTP协议

    Web基础与HTTP协议一、Web基础 Web基础知识,包含域名的概念,DNS原理,静态网页和动态网页的相关知识。
    一、1 域名和 DNS
    1.域名的概念         网络是基于 TCP/I

    网站运维 2024年7月5日
    0
  • TortoiseSVN使用教程

    TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。TortoiseSVN 安装下载地址:http

    2024年9月2日
    0
  • 那我们聊一下(我们该聊聊了吧 日语)

    本来没打算写文章。但明年的任务计划里增加了一项「写作」,想着什么时候可以开始定期更新?既然无法确定一个时间点,那就从现在开始吧 … 做事情最好的开始时间就是现在。 聊聊…

    网站运维 2024年4月20日
    0
  • Linux 路由命令

    route命令用来显示并设置Linux内核中的网络路由表,route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,

    1天前
    0

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注