HTTP系列之报文及状态码

HTTP请求

请求行

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

请求方法

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

请求头

浏览器的一些信息web

请求主体

HTTP响应

响应行

返回状态码,缘由短语和http版本。json

状态码

  • 1xx:指示信息--表示请求已接收,继续处理
  • 2xx:成功--表示请求已被成功接收、理解、接受
  • 3xx:重定向--要完成请求必须进行更进一步的操做
  • 4xx:客户端错误--请求有语法错误或请求没法实现
  • 5xx:服务器端错误--服务器未能实现合法的请求
200(ok): 服务器正常处理了请求
304(Not Modified): 资源未发生变更,通常浏览器会使用已经缓存过的资源
401(UNauthorized): 第一次返回表示须要认证,第二次则是表示认证失败
403(Forbidden): 请求资源的访问被服务器拒绝
404(Not Found): 服务器上不存在请求的资源
500: 服务器内部处理异常
503: 服务器暂时处于超负荷或者正在进行停机维护,没法处理请求
https://segmentfault.com/a/11...

响应头

服务器的一些信息segmentfault

响应主体

报文

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

报文结构

HTTP报文大体分为报文首部和报文主体两块,中间用空行来划分。一般,不必定有报文主体。缓存

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

图片描述

报文首部

通用首部

既能够出如今请求报头,也能够出如今响应报头中安全

Cache-Control

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

Connection

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

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

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

相关文章
相关标签/搜索