http无状态?

276 阅读1分钟

http无状态————http无状态协议对业务场景没有记忆能力。

http通讯协议不会保留以前的通讯状态,即每个请求都是独立的,互不影响。这里所说的和cookie、session没有关系,这个‘无状态’描述的是通讯协议层面。

为什么是无状态?

在http涉及之初,http只是用来拉取一些静态HTML文件,没有考虑后期的交互场景,以及在b/s和c/s模型中使用。

无状态优点

可扩展性:无需在请求之间维护会话状态,简化实现,允许服务器资源快速释放;

可靠性:简化了从部分故障中恢复的任务;

可见行:无需从单个请求确定整体性质。

无状态缺点

无法保持一个有效的会话,无法做到承上启下,需要通过cookie或session等额外的手段来实现;这个同样也可以看做无状态的一种优点,无需担心网络波动等原因而造成的链接中断而带来的会话断开问题。

现象表现

有状态:

浏览器:吃饭了吗?

服务器:吃了。

浏览器:和谁吃了?

服务器:一个人吃的!

无状态:

浏览器:吃饭了吗?

服务器:吃了。

浏览器:和谁吃了?

服务器:什么和谁?吃什么?

以上描述有问题欢迎指出。