http相关

162 阅读5分钟

http报文结构都包含什么

用于 HTTP 协议交互的信息被称为 HTTP 报文,

请求端(客户端)的 HTTP 报文叫做请求报文;

响应端(服务器端)的叫做响应报文,

HTTP 报文本身是由多行数据构成的字符串文本。

image.png

HTTP 报文大致可分为请求行、请求头、空行、请求主体四部分。
也有人将报文分为请求首部(请求行+请求头)、空行、请求主体。
通常,前几部分是必有的,最后的请求体不是必有的,每个部分结尾都用空行来作为结束标志。

http协议常用的状态码

HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。 状态代码由服务器发出,以响应客户端对服务器的请求。
状态码如200 OK,由3位数字和原因短语组成。
数字中的第一位指定了响应类别,后两位无分类。相应类别由以下五种:

状态码类别描述
1xxInformational(信息状态码)接受请求正在处理(收到请求,继续处理)
2xxSuccess(成功状态码)请求正常处理完毕(请求已成功接收,理解和接受)
3xxRedirection(重定向状态码)需要附加操作已完成请求(需要采取进一步措施才能完成请求)
4xxClient Error(客户端错误状态码)服务器无法处理请求(请求包含错误的语法或无法满足)
5xxServer 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加密传输协议。

httphttps使用的是完全不同的连接方式,用的端口也不一样,前者是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 主要特性对比