http无状态————http无状态协议对业务场景没有记忆能力。
http通讯协议不会保留以前的通讯状态,即每个请求都是独立的,互不影响。这里所说的和cookie、session没有关系,这个‘无状态’描述的是通讯协议层面。
为什么是无状态?
在http涉及之初,http只是用来拉取一些静态HTML文件,没有考虑后期的交互场景,以及在b/s和c/s模型中使用。
无状态优点
可扩展性:无需在请求之间维护会话状态,简化实现,允许服务器资源快速释放;
可靠性:简化了从部分故障中恢复的任务;
可见行:无需从单个请求确定整体性质。
无状态缺点
无法保持一个有效的会话,无法做到承上启下,需要通过cookie或session等额外的手段来实现;这个同样也可以看做无状态的一种优点,无需担心网络波动等原因而造成的链接中断而带来的会话断开问题。
现象表现
有状态:
浏览器:吃饭了吗?
服务器:吃了。
浏览器:和谁吃了?
服务器:一个人吃的!
无状态:
浏览器:吃饭了吗?
服务器:吃了。
浏览器:和谁吃了?
服务器:什么和谁?吃什么?