zoukankan      html  css  js  c++  java
  • HTTP之请求消息Request

    客户端发送一个HTTP请求到服务器的请求消息包括以下格式:
    
    请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。
    

    请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本。
    Get请求例子,使用Charles抓取的request:

    GET /562f25980001b1b106000338.jpg HTTP/1.1
    Host    img.mukewang.com
    User-Agent    Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
    Accept    image/webp,image/*,*/*;q=0.8
    Referer    http://www.imooc.com/
    Accept-Encoding    gzip, deflate, sdch
    Accept-Language    zh-CN,zh;q=0.8
    

    第一部分:请求行,用来说明请求类型,要访问的资源以及所使用的HTTP版本.
    GET说明请求类型为GET,[/562f25980001b1b106000338.jpg]为要访问的资源,该行的最后一部分说明使用的是HTTP1.1版本。

    第二部分:请求头部,紧接着请求行(即第一行)之后的部分,用来说明服务器要使用的附加信息
    从第二行起为请求头部,HOST将指出请求的目的地.User-Agent,服务器端和客户端脚本都能访问它,它是浏览器类型检测逻辑的重要基础.该信息由你的浏览器来定义,并且在每个请求中自动发送等等

    第三部分:空行,请求头部后面的空行是必须的
    即使第四部分的请求数据为空,也必须有空行。

    第四部分:请求数据也叫主体,可以添加任意的其他数据。
    这个例子的请求数据为空。

    POST请求例子,使用Charles抓取的request:

    POST / HTTP1.1
    Host:www.wrox.com
    User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
    Content-Type:application/x-www-form-urlencoded
    Content-Length:40
    Connection: Keep-Alive
    
    name=Professional%20Ajax&publisher=Wiley
    

    第一部分:请求行,第一行明了是post请求,以及http1.1版本。
    第二部分:请求头部,第二行至第六行。
    第三部分:空行,第七行的空行。
    第四部分:请求数据,第八行。

    相关链接

  • 相关阅读:
    httpRuntime 元素(ASP.NET 设置架构)
    Change GridView RowColor OnMouseClick
    创建自定义配置结
    设置自定义服务器控件的TagPrefix
    使用DataTable.ReadXml时抛出异常
    正则表达式的字符,定位字符和重复字符
    URL 编码
    tschs.xml 全文索引文件配置说明
    SQL2005 全文索引 contains
    SQL 语句执行时间
  • 原文地址:https://www.cnblogs.com/captainwade/p/10729339.html
Copyright © 2011-2022 走看看