美文网首页
HTTP协议基础

HTTP协议基础

作者: JaniceZD | 来源:发表于2018-04-18 00:02 被阅读0次

    HTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。

    请求部分由三部分组成:
    • Requset line:请求行,位于第一行
    • Request headers:请求消息头,从第二行开始至第一个空行结束
    • Request body:请求正文,从第一个空行之后的都是正文

    具体格式如下:

    Method Path-to-resource Http/Version-number
    请求消息头
    空行
    请求正文

    下面是一个HTTP请求的例子:

    POST /index.php HTTP/1.1
    Host: localhost
    User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: zh-cn,zh;q=0.5
    Accept-Encoding: gzip, deflate
    Connection: keep-alive
    Referer: [http://localhost/](http://localhost/)
    Content-Length:25
    Content-Type:application/x-www-form-urlencoded
    
    username=aa&password=1234
    
    响应部分也由三部分组成:
    • Response line:响应行,位于第一行
    • Response headers:响应消息头,从第二行开始至第一个空行结束
    • Response body:响应正文,从第一个空行之后的都是正文

    具体格式如下:

    Http/Version-number Statuscode message
    响应消息头
    空行
    响应正文

    下面是一个HTTP响应的例子:

    HTTP/1.1 200 OK
    Date: Fri, 22 May 2009 06:07:21 GMT
    Content-Type: text/html; charset=UTF-8
    
    <html>
          <head></head>
          <body>
                <!--body goes here-->
          </body>
    </html>
    
    HTTP之状态码(要背)

    状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:

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

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

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

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

    5xx:服务器端错误--服务器未能实现合法的请求
    常见状态码:

    200 OK                        //客户端请求成功
    400 Bad Request               //客户端请求有语法错误,不能被服务器所理解
    401 Unauthorized              //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 
    403 Forbidden                 //服务器收到请求,但是拒绝提供服务
    404 Not Found                 //请求资源不存在,eg:输入了错误的URL
    500 Internal Server Error     //服务器发生不可预期的错误
    503 Server Unavailable        //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
    
    使用Chrome开发者工具查看 HTTP 请求响应内容:
    1. 打开Chrome浏览器,在浏览器中任意位置右击;
    2. 点击“检查”,打开浏览器内置的开发者调试平台;
    3. 点击“Network”选项卡;
    4. 点击“Name”一栏下面的任意一条信息;
    5. 随后将出现如下图页面:
      点击Request Headers可查看请求消息,点击Response Headers可查看响应消息
      点击「view source」(重要的话重复三遍)
    请求view source.PNG
    1. 点击「view source」后即可查看http的相关信息了,包括请求头部信息、响应头部信息、Cookie等
    请求与响应.PNG
    curl命令:创建请求
    curl -s -v "https://www.baidu.com"
    
    curl命令.PNG
    更多curl命令的内容可前往阮一峰的curl网站开发指南进行查看。

    相关文章

      网友评论

          本文标题:HTTP协议基础

          本文链接:https://www.haomeiwen.com/subject/cvrjkftx.html