http报文结构都包含什么
用于 HTTP 协议交互的信息被称为 HTTP 报文,
请求端(客户端)的 HTTP 报文叫做请求报文;
响应端(服务器端)的叫做响应报文,
HTTP 报文本身是由多行数据构成的字符串文本。
HTTP 报文大致可分为请求行、请求头、空行、请求主体四部分。
也有人将报文分为请求首部(请求行+请求头)、空行、请求主体。
通常,前几部分是必有的,最后的请求体不是必有的,每个部分结尾都用空行来作为结束标志。
http协议常用的状态码
HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。
状态代码由服务器发出,以响应客户端对服务器的请求。
状态码如200 OK,由3位数字和原因短语组成。
数字中的第一位指定了响应类别,后两位无分类。相应类别由以下五种:
| 状态码 | 类别 | 描述 |
|---|---|---|
| 1xx | Informational(信息状态码) | 接受请求正在处理(收到请求,继续处理) |
| 2xx | Success(成功状态码) | 请求正常处理完毕(请求已成功接收,理解和接受) |
| 3xx | Redirection(重定向状态码) | 需要附加操作已完成请求(需要采取进一步措施才能完成请求) |
| 4xx | Client Error(客户端错误状态码) | 服务器无法处理请求(请求包含错误的语法或无法满足) |
| 5xx | Server Error(服务器错误状态码) | 服务器处理请求出错(服务器无法满足明显有效的请求) |
HTTP的状态码总数达60余种,但是常用的大概只有14种。接下来,我们就介绍一下这些具有代表性的14个状态码。
http头部关于缓存的字段
彻底弄懂强缓存与协商缓存
博客园:http协商缓存VS强缓存
知乎,张云龙的回答
http和https的区别
HTTPS协议是什么
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
超文本传输协议 (HTTP-Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
HTTP协议是什么?
HTTP协议是超文本传输协议的缩写,英文是Hyper Text Transfer Protocol。它是从WEB服务器传输超文本标记语言(HTML)到本地浏览器的传送协议。
设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
HTPP有多个版本,目前广泛使用的是HTTP/1.1版本。
HTTPS和HTTP的主要区别
https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。
http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl/tls加密传输协议。
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
http的连接很简单,是无状态的;
HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
http1.0 1.1 2 大致的区别
http1.0和http1.1的主要区别如下:
1、缓存处理:1.1添加更多的缓存控制策略(如:Entity tag,If-Match)
2、网络连接的优化:1.1支持断点续传
3、错误状态码的增多:1.1新增了24个错误状态响应码,丰富的错误码更加明确各个状态
4、Host头处理:支持Host头域,不在以IP为请求方标志
5、长连接:减少了建立和关闭连接的消耗和延迟。
http1.1和http2.0的主要区别:
1、新的传输格式:2.0使用二进制格式,1.0依然使用基于文本格式
2、多路复用:连接共享,不同的request可以使用同一个连接传输(最后根据每个request上的id号组合成正常的请求)
3、header压缩:由于1.X中header带有大量的信息,并且得重复传输,2.0使用encoder来减少需要传输的hearder大小
4、服务端推送:同google的SPDUY(1.0的一种升级)一样
总结
HTTP1.0
- 无状态、无连接
HTTP1.1
- 持久连接
- 请求管道化
- 增加缓存处理(新的字段如
cache-control) - 增加
Host字段、支持断点传输等
HTTP2.0
- 二进制分帧
- 多路复用(或连接共享)
- 头部压缩
- 服务器推送
参考
参考博客:HTTP请求头部+响应码
参考博客:浅谈http协议(三):HTTP 报文及其结构
参考维基百科
HTTP 中常用的状态码(14种)
HTTPS和HTTP的主要区别
Http1.0和1.1及2.0的区别
HTTP1.0 HTTP1.1 HTTP2.0 主要特性对比