关于HTTP协议
什么是HTTP
HTTP是基于TCP/IP协议的应用层协议,是TCP/IP的一个子集。主要规定了客户端和服务器之间的通信格式,默认使用80端口。
HTTP历史
1991年 http0.9诞生 只有get,只能传递字符串,都是短连接
1996年5月 http1.0发布 post,head请求方式,支持状态码(status code)、多字符集支持、多部分发送(multi-part type)、权限(authorization)、缓存(cache)、内容编码(content encoding)等
1997年1月 http1.1发布 options,put,delete,trees,delete,持久连接,管道机制
2015年5月 http2.0发布
web与http
web,World Wide Web,全球广域网,是一种基于超文本和http(超文本传输协议)的、全球性的、动态交互的、跨平台的分布式图形信息系统
它是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面
web中的文档和超链接将Internet上的信息节点组织成为一个互相关联的网状结构
web和Internet
Internet是互联网,指连接计算机的网络(TCP/IP)协议。移动互联网是指连接移动设备的网络。
互联网是相对于计算机而言的概念,web是针对计算机上的应用(端到端)。
HTTP协议特点
1 支持客户/服务器模式
客户/服务器模式工作的方式是客户端向服务器发出请求,服务器端响应请求,并进行相应服务
2 简单快速
- 客户向服务器发送请求时,只需传送请求方法和路径
- 请求方法常用的有GET、HEAD、POST,每种方法规定了客户与服务器联系的类型不同
- 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快
3 灵活
HTTP允许传输任意类型的数据对象
正在传输的类型由Content-Type(表示内容类型的标识)加以标记
4 无连接
含义是每次连接只处理一个请求
服务器处理完客户的请求,并收到客户的应答后,即断开连接
采用这种方式可以节省传输时间
(请求数太多,突发,瞬时,请求完就释放,用于其他的客户。keep-alive用于解决tcp/ip请求图片,避免重新建立连接(长连接、短连接)
有规定时间)
5 无状态
- http协议是无状态协议
- 协议对事务处理没有记忆能力。这意味着后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。
- 服务器不需要先前信息时,它的应答就快
- cookie和session用于留住记忆
HTTP协议的瓶颈
- 一条连接上只可发送一个请求
HTTP基于tcp协议,浏览器第三次握手捎带http报文(Range头断点续传,长连接) - 单向性。请求只能从客户端开始,客户端不可以接受除响应以外的指令
(服务器一有更新就告诉我,但是没有这种机制,只有不断请求) - 请求头/响应头不压缩就发送(体量大)
- 每次互相发送相同的头部造成浪费较多
- 非强制压缩发送(可以选择数据压缩的格式,性能上未必是最优的)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具