关于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 简单快速

  1. 客户向服务器发送请求时,只需传送请求方法和路径
  2. 请求方法常用的有GET、HEAD、POST,每种方法规定了客户与服务器联系的类型不同
  3. 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快

3 灵活
HTTP允许传输任意类型的数据对象
正在传输的类型由Content-Type(表示内容类型的标识)加以标记

4 无连接
含义是每次连接只处理一个请求
服务器处理完客户的请求,并收到客户的应答后,即断开连接
采用这种方式可以节省传输时间
(请求数太多,突发,瞬时,请求完就释放,用于其他的客户。keep-alive用于解决tcp/ip请求图片,避免重新建立连接(长连接、短连接)
有规定时间)

5 无状态

  1. http协议是无状态协议
  2. 协议对事务处理没有记忆能力。这意味着后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。
  3. 服务器不需要先前信息时,它的应答就快
  4. cookie和session用于留住记忆

HTTP协议的瓶颈

  1. 一条连接上只可发送一个请求
    HTTP基于tcp协议,浏览器第三次握手捎带http报文(Range头断点续传,长连接)
  2. 单向性。请求只能从客户端开始,客户端不可以接受除响应以外的指令
    (服务器一有更新就告诉我,但是没有这种机制,只有不断请求)
  3. 请求头/响应头不压缩就发送(体量大)
  4. 每次互相发送相同的头部造成浪费较多
  5. 非强制压缩发送(可以选择数据压缩的格式,性能上未必是最优的)
posted @ 2022-05-24 16:32  IslandZzzz  阅读(40)  评论(0编辑  收藏  举报