现在的位置: 首页 > 编程语言 > 正文

HTTP协议:HTTP请求消息/请求方法、HTTP响应消息/响应状态代码

2018年10月06日 编程语言 ⁄ 共 1511字 ⁄ 字号 评论关闭

一、HTTP协议介绍

1.1 HTTP协议是一种无状态协议

      同一客户端的这次请求和上次请求没有对应关系。

1.2 HTTP协议在TCP/IP协议栈中的位置

      HTTP承载于TCP协议之上。             端口:80

      HTTPS承载于TLS/SSL协议之上。  端口:443

1.3 HTTP的请求响应模型

      HTTP永远是客户端发起请求,服务器响应。

      无法实现客户端没发起请求的时候,服务器将消息推送给客户端。

二、HTTP请求消息

2.1 请求消息格式

      请求行

      通用信息头|请求头|实体头

      CRLF(回车换行)

      实体内容

      例:

            POST /client_security_conf HTTP/1.1

            Host: sconf.f.360.cn

            Accept: */*

            Connection: Keep-Alive

            Cache-Control: no-cache

            Content-Length: 185

            Content-Type: application/x-www-form-urlencoded

            [CRLF]

2.2 请求行格式

      方法 请求URI  版本号 [回车换行]

      例: POST /client_security_conf HTTP/1.1\r\n

2.3 HTTP请求方法

       GET -- 请求获取Request-URI所标识的资源。

       POST -- 在Request-URI所标识的资源后附加新的数据。

       HEAD -- 请求获取由Request-URI所标识的资源的响应消息报头

       PUT -- 请求服务器存储一个资源,并用Request-URI作为其标识。

       DELETE -- 请求服务器删除Request-URI所标识的资源。

       OPTIONS -- 请求查询服务器的性能,或查询与资源相关的选项和需求。

       TRACE -- 请求服务器回送收到的请求信息,主要用于测试或诊断。

       CONNECT -- 保留将来使用。

三、HTTP响应消息

3.1 响应消息格式

       状态行

       通用消息头|响应头|实体头

       CRLF(回车换行)

       实体内容

       例:

              HTTP/1.1 200 OK

              Server: nginx/0.6.39

              Date: wed, 04 Sep 2013 02:25:05 GMT

              Content-Type: text/plain

              Content-Length: 118

              Connection: close

              Vary: Accept-Encoding

              [CRLF]

3.2 状态行格式

       版本号 状态码 原因 [回车换行]

       例:HTTP/1.1 200 OK\r\n

3.3 HTTP状态响应代码

       1XX:指示信息 -- 表示请求已经接收,继续处理。

       2XX:成功 -- 表示请求已经被成功接收、理解、接受。

       3XX:重定向 -- 要完成请求必须进行更进一步的操作。

       4XX:客户端错误 -- 请求有语法错误或请求无法实现。

       5XX:服务端错误 -- 服务器未能实现合法的请求。

参考资料:

      1. 深入理解HTML协议:http://blog.csdn.net/trandy/article/details/6793395

      2. HTTP协议详解:http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html

抱歉!评论已关闭.