无状态&短链接
短链接的概念是指:将原本冗长的URL做一次“包装”,变成一个简洁可读的URL。
什么是短链接-> https://www.cnblogs.com/54chensongxia/p/11673522.html
HTTP是一种无状态的协议
短链接:一次请求和一次响应之后,浏览器和服务器之间的连接断开
下次再连接时会当做重新的开始,不会有记录,这就是无状态 。
如何解决无状态,引入cookie和session机制
cookie:服务器单纯从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了。这就是Cookie的工作原理。
- 保存在浏览器中的键值对
- 发送请求是,自动携带
Cookie的不可跨域名性
- 根据Cookie规范,浏览器访问Google只会携带Google的Cookie,而不会携带Baidu的Cookie。Google也只能操作Google的Cookie,而不能操作Baidu的Cookie。
Session
由于网页是一种无状态的连接程序,因此无法得知用户的浏览状态。在网上购物的时,把很多商品加入了购物车,而在结账时网站却不知道你购物车有哪些物品。为了解决这个问题,服务器端就为特定用户创建了特定的session,用于标示并跟踪这个用户,这样才知道购物车里有哪些商品
-
Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。
-
客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了
-
Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了
Session和Cookie的关系
- cookie 是一个实际存在的、具体的东西,http 协议中定义在 header 中的字段
- session 是一个抽象概念、开发者为了实现中断和继续等操作,将client和server之间一对一的交互,抽象为“会话”,进而衍生出“会话状态”,也就是 session 的概念。
- 即session描述的是一种通讯会话机制,而cookie只是目前实现这种机制的主流方案里面的一个参与者,它一般是用于保存session ID。
参考链接:https://www.cnblogs.com/lingyejun/p/9282169.html
·