zoukankan      html  css  js  c++  java
  • 深入Nginx之《HTTP请求报文与HTTP响应报文》

    HTTP请求报文


     

    这个很有必要了解,好歹我们得知道Nginx在提供HTTP服务时,客户端都会传些什么。HTTP请求中客户端传送的内容称为HTTP请求报文。

    1、请求行包含:

     请求方法,请求URL,HTTP协议及版本。其中请求方法和支持的协议版本包含如下:
            GET,HEAD,POST 它们都支持HTTP1.0/1.1。
            PUT,DELETE,CONNECT,OPTIONS,TRACE,PATCH 它们只支持HTTP1.1。

    2、请求头部:

    客户端向服务器传递请求时附加的一些信息,由key/value组成,key和value由冒号分隔,每行一对,请求头常见的key 有 Cookie,User_Agent, Accept-Encoding。

    3、请求体:

     一般是由POST方法提交,它可能是图片,文件,或者是字符串。

    1.2 HTTP响应报文


      

          这个仍然很有必要了解的,客户端得到了想要东东(有时候可能也得不到,如服务异常了),那里面包含了些什么。HTTP请求后返回给客户端的内容称为HTTP响应报文。

    HTTP响应报文(服务器返回给客户端的内容)由三部分组成,它们分别是响应行,响应头,响应体。

    响应行包含HTTP协议版本,状态码,状态码描述。

    其中状态码的分类如下:

    状态码

                                              作用

    1XX

    它表示请求已经被接受,正在继续处理,这种响应是临时响应,不会返回响应体。

    2XX

    成功处理并返回,它表示在服务器内已经被接收,被知晓,并处理完成。

    3XX

    重定向功能,告知客户端需要继续执行操作才可以完成请求。

    4XX

    出现问题,和客户端有关系,比如401表示权限问题,404表示访问了一个不存在的URL。

    5XX

    出现问题,和服务端有关,比如500表示内部错误,504表示请求超时。

    响应头,为响应报文附加额外的信息,和请求头相似。区别在于它是返回给客户端,请求头部是从客户端发起。常见的响应头key如Content-Type,Content-Encoding。

    响应体,请求返回到客户端的正文数据。

    下面是一个完整的响应报文示例:

    响应报文并非只有Nginx的后端服务器才能发送的,有些时候Nginx也可以作为服务器对请求报文的内容进行响应,比如return,echo等指令。

  • 相关阅读:
    explicit for ctors taking more than one argument
    Python 的 encode 和 decode
    Tripwire配置和运行
    man twadmin
    Tripwire策略说明
    Tripwire安装
    [部分翻译] tripwire(8)
    snort-2.9.3.1安装
    [转载] snort中文手册
    wireshark_1.2.11安装
  • 原文地址:https://www.cnblogs.com/dtdxrk/p/9438491.html
Copyright © 2011-2022 走看看