HTTP系列之报文及状态码

HTTP请求

请求行

包含请求方法,请求URI和http版本。

请求方法

  • GET,请求访问已被URI识别的资源,请求不需要实体主体。
  • POST,传输实体主体。
  • PUT,传输文件,本身无验证机制,存在安全问题。
  • DELETE,删除文件,与PUT相反的方法,也无验证机制。
  • HEAD,HEAD方法和GET方法一样用于获取资源,只是HEAD方法的请求不返回报文的主体部分。
  • OPTIONS,用来查询针对请求URI指定的资源支持的方法(GET?POST?等)。
  • TRACE,让web服务器端将之前的请求通信返回给客户端的方法,用于追踪路径,请求在各个代理服务器之间中转最终到达目标服务器,在中转时请求可能会被篡改。
  • CONNECT,要求用隧道协议连接代理,主要使用SSL和TLS协议把通信内容加密后经网络隧道传输。

请求头

浏览器的一些信息

请求主体

HTTP响应

响应行

返回状态码,原因短语和http版本。

状态码

  • 1xx:指示信息–表示请求已接收,继续处理
  • 2xx:成功–表示请求已被成功接收、理解、接受
  • 3xx:重定向–要完成请求必须进行更进一步的操作
  • 4xx:客户端错误–请求有语法错误或请求无法实现
  • 5xx:服务器端错误–服务器未能实现合法的请求

200(ok): 服务器正常处理了请求

304(Not Modified): 资源未发生变动,一般浏览器会使用已经缓存过的资源

401(UNauthorized): 第一次返回表示需要认证,第二次则是表示认证失败

403(Forbidden): 请求资源的访问被服务器拒绝

404(Not Found): 服务器上不存在请求的资源

500: 服务器内部处理异常

503: 服务器暂时处于超负荷或者正在进行停机维护,无法处理请求

响应头

服务器的一些信息

响应主体

报文

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

报文结构

HTTP报文大致分为报文首部和报文主体两块,中间用空行来划分。通常,不一定有报文主体。

  • 报文首部:包含服务器或客户端需处理的请求或响应的内容及属性。
  • 报文主体:是应该被发送的数据。

《HTTP系列之报文及状态码》

报文首部

通用首部

既可以出现在请求报头,也可以出现在响应报头中

Cache-Control

用于操作缓存的工作机制,如缓存时间,是否必须向服务器确认等

Connection

控制不再转发给代理的首部字段和持久连接,http1.1版本默认的连接都是持久连接

Date

表明创建Http报文的日期和时间

Transfer-Encoding

规定传输报文主体时采用的编码方式

请求首部

Accept

通知服务器客户端可以处理的媒体类型以及媒体类型的相对优先级,如 application/json,text/html,image/jpeg等。优先级使用q=来表示权重,最大值为1,默认权重为1.0

Accept-Language

通知服务器客户端可以处理的语言集以及相对优先级

Accept-Encoding

优先的内容编码

Authorization

用于高速服务区客户端的认证信息。通常在接收到服务器返回的401状态码后,客户端将Authorization加入请求中

Host

http1.1规范中唯一一个必须包含在请求内的首部字段,可为空

User-Agent

创建请求的浏览器名称等信息

响应首部

Location

提供重定向的资源地址

Server

服务器上安装的http服务器应程序信息

Set-Cookie

开始状态管理所使用的Cookie信息(响应首部),管理服务器端设置的cookie信息,如expires过期时间,domain所属域名和httponly等

Cookie

服务器端收到的Cookie信息(请求首部)

实体首部

实体报头用来定于被传送资源的信息,既可以用于请求也可用于响应。请求和响应消息都可以传送一个实体

Content-Type

发送给接收者的实体正文的媒体类型

Content-Lenght

实体正文的长度

Content-Language

描述资源所用的自然语言,没有设置则该选项则认为实体内容将提供给所有的语言阅读

Content-Encoding

实体报头被用作媒体类型的修饰符,它的值指示了已经被应用到实体正文的附加内容的编码,因而要获得Content-Type报头域中所引用的媒体类型,必须采用相应的解码机制。

Last-Modified

实体报头用于指示资源的最后修改日期和时间

Expires

实体报头给出响应过期的日期和时间

    原文作者:HTTP
    原文地址: https://segmentfault.com/a/1190000015783244
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞