无状态指
每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求是无直接关系的,它不会受前面的请求应答情况直接影响,也不会直接影响后面的请求应答情况

web应用是有状态的。所以我们加入了cookies、session等机制去实现由状态的web应用。所以我们可以这么理解:
Web应用=http协议+session、cookies等状态机制+其他辅助的机制。

TCP为一个有状态的传输层通信协议,而UDP则不是;IP是无状态的。要明白这种有状态与否的判定,是指你这一协议栈层次所要实现的功能——是否由上下文决定——来判定的(是否受之前的通信过程直接影响、是否直接影响之后的通信过程)

原因
(1)IP是无状态的,它只负责将一个IP包发送到指定的IP地址上去。它不会考虑这个包与前面已经发送的包和后面的包的联系。(可能是重发包、可能是不连续包,它不管)。

(2)TCP是有状态的,它通过包头中的一些控制字段(序列编码等)来表明各个包之间的关系(前后关系,重包与否等等)。所以,通过这个协议你可以做到一个可靠的传输。那么TCP是面向连接的协议是什么意思呢?其实这里的面向连接其实就是“三次握手”。三次握手,首先可以保证对方的存在,其次握手的所交换的内容是为将来进行有状态的传输做准备。

(3) UDP是无状态的,它仅仅是在IP上加了Port,其他的事情什么也不干。这样它不可能做到可靠的传输,同样也不需要连接。

(4) HTTP是无状态的,它的底层协议是由状态的TCP,但是HTTP的一次完整协议动作,里面是使用有状态的TCP协议来完成的。而每次协议动作之间没有任何关系。例如:第7次请求HTTP协议包,并不知道,这个包是为了什么?它或许是因为上次没有请求成功而重传,或许是上次的后续请求,或许是其他的,这些HTTP自身都不知道。

(5) www应用,很多时候,www应用是需要每个HTTP请求或应答动作之间是有关联的,那就是使应用有状态。这样才能提供给用户最好的用户体验。

转载https://www.cnblogs.com/aspirant/p/5702338.html

HTTP协议的无状态性相关推荐

  1. http协议是无状态的,无连接的

    引子: 最近在好好了解http,发现对介绍http的第一句话[http协议是无状态的,无连接的]就无法理解了:无状态的[状态]到底指的是什么?! 找了很多资料不仅没有发现有一针见血正面回答这个问题的, ...

  2. 如何理解HTTP协议是无状态的

    HTTP协议是无状态的,指的是协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态.

  3. HTTP协议是无状态协议,怎么理解

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp24 HTTP协议是无状态协议,怎么理解?  2010-02-23 09:4 ...

  4. HTTP协议是无状态的/无连接的到底指的是什么?

    直观的说,"每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求是无直接关系的,它不会受前面的请求应答情况直接影响,也不会直接影响后面的请求应答情况" 要明白,这句话的 ...

  5. HTTP 协议是无状态协议,怎么理解

    HTTP 是一个属于应用层的面向对象的协议,HTTP 协议一共有五大特点:1.支持客户/服务器模式:2.简单快速:3.灵活:4.无连接:5.无状态. 无连接 无连接的含义是限制每次连接只处理一个请求. ...

  6. HTTP协议是无状态协议,怎么理解?

    2019独角兽企业重金招聘Python工程师标准>>> Http是一个无状态协议,同一个会话的连续两个请求互相不了解,他们由最新实例化的环境进行解析,除了应用本身可能已经存储在全局对 ...

  7. HTTP协议的无状态和无连接

    无连接:指HTTP协议每次连接只处理一个HTTP请求,服务器处理完客户端的请求并且得到客户端的应答后,就会断开连接. 无状态:无状态是指HTTP协议对于事务处理是没有记忆能力的,缺少状态就意味着后续的 ...

  8. 在web项目中实现会话跟踪(http协议是无状态)

    HTTP是"无状态"协议:客户程序每次读取 Web 页面,都打开到 Web 服务器的单独的连接,并且,服务器也不自动维护客户的上下文信息.即使那些支持持续性 HTTP 连接的服务器 ...

  9. cookie和session之会话机制:   http 协议  ---》 无状态协议

    设置cookie:             通过response对象:      response = make_response()      response.set_cookie(key,val ...

最新文章

  1. 【Android基础】序列化 Serializable vs Parcelable
  2. rtcp 实时传输控制协议 简介
  3. iOS 7 新版微信 URL 不支持跳转 App Store 的解决方案
  4. Redis简介 与Memcache的区别
  5. 一代不如一代?别轻易给年轻人贴标签
  6. 利用延迟关联或者子查询优化超多分页场景
  7. crawler py
  8. Clojure的引用类型:var,ref,agent和atom
  9. 自动驾驶 11-4: 优化状态估计 Optimizing State Estimation
  10. 各版本JQuery文件下载
  11. 小米9se无法连接adb的问题
  12. Java程序编写 • 【第4章 程序:随机本周菜品;简易计算器】
  13. 实测 ubuntu 20.04 使用 lidar_imu_calib 功能包 进行 激光雷达与imu标定
  14. 虚拟机Ubuntu安装vmtools
  15. 市场调研报告-全球与中国燃油泄漏检测设备市场现状及未来发展趋势
  16. 一个小巧,也很nice的“小日历”--一个Android App
  17. [源码和文档分享]基于java的葫芦娃大战妖精
  18. 为了甩锅,我写了个牛逼的日志切面!
  19. steam创建账号一直验证人工操作_绝地求生轻量版即将登陆STEAM:预约送M416皮肤...
  20. 进阶 Nginx 高手必须跨越的 5 座大山

热门文章

  1. HIT Software Construction Review Notes(3-1 Data Type and Type Checking)
  2. XAMPP报错:mysqli::real_connect(): (HY000/1045): Access denied for user ‘pma‘@‘localhost‘
  3. HTML+CSS+JS实现网页随机点名
  4. java编程应该要的英语_java编程中常用英语单词
  5. 别看人家日子过得很轻松的样子,实际都很难,相信吗?
  6. 有多少人自驾过独库公路?
  7. 生意场逃不开三个关键词:留存、转化、数据
  8. 打工好,还是创业好?
  9. 最近我一个朋友在职场上陷入了迷茫
  10. 4.2第一个窗口程序