3、HTTP哀求报文和相应报文是怎样的,有哪些常见的字段?【中高频】

[复制链接]
发表于 2025-10-24 20:00:11 | 显示全部楼层 |阅读模式
HTTP哀求报文重要是由 哀求行、哀求头部、空行和哀求体 四部分构成(第一行必须是一个哀求行(request line),用来阐明哀求范例、要访问的 资源 以及利用的HTTP版本。紧接着是一个首部(header)末节,用来阐明服务器要利用的附加信息。在首部之后是一个空行,再此之后可以添加恣意的其他数据[称之为主体(body)]。


  •         哀求行


  •         重要由哀求方法字段、URL字段和HTTP协议版本字段3个字段构成,它们用空格分隔。
            (比方,GET /index.html HTTP/1.1

    •                 哀求方法字段 ,方法就是指定我们要取实行的操纵,比如GET方法、PUT方法、POST、DELETE
    •                 URL字符字段,也就是资源的路径【注1】
    •                 HTTP协议版本字段,比如说 HTTP/1.1或HTTP/2.0
           

  •         哀求头部


  •         哀求头部由 关键字:值 对构成,每行一对,关键字和值用英文冒号“:”分隔。
  •         哀求头部用于关照服务器 关于客户端哀求的信息,范例的哀求头有:

    •                 Host:表现 客户端发送哀求时,用来指定 服务器的域名
    •                 Connection 字段:最常用于客户端要求服务器利用「HTTP 长毗连」机制,以便其他哀求复用
    •                 Accept 字段:声明自己 可以继承哪些数据格式
           
除此以外,另有很多其他的常用字段,此中与哀求体相干的最常利用的哀求头是Content-Type和Content-Length

  •         空行

    •                 末了一个哀求头之后是一个空行,关照服务器以下不再有哀求头
    •                 对于一个完备的哀求报文来说 空行是必须的,否则服务器会以为 本次哀求的数据 没有完全发送过来,将不绝处于等候状态
           
  •         哀求体

    •                 哀求体不在GET方法中利用,而是在POST方法中利用
           
GET方法哀求实例:
  1. GET /books/?name=Professional%20Ajax HTTP/1.1  //请求行
  2. Host: www.wrox.com                             //请求头
  3. User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
  4. Gecko/20050225 Firefox/1.0.1
  5. Connection: Keep-Alive
  6.             //空行
复制代码
post方式哀求实例:
  1. POST / HTTP/1.1             //请求行
  2. Host: www.wrox.com          //请求头
  3. User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
  4. Gecko/20050225 Firefox/1.0.1
  5. Content-Type: application/x-www-form-urlencoded  //指定POST数据的编码类型
  6. Content-Length: 40
  7. Connection: Keep-Alive
  8.     (此处空一行)
  9. name=Professional%20Ajax&publisher=Wiley  //请求数据,POST形式参数保存在这里,与请求数据相关的请求头是Content-Type和Content-Length。
复制代码
HTTP相应报文用于转达 服务器 对 客户端 哀求的 处理处罚结果和数据,它重要由状态行、相应头部、空行和相应体 四部分构成(在相应中唯一真正的区别在于第一行中用状态 信息 取代了哀求信息。状态行(status line)通过提供一个状态码来阐明所哀求的资源情况)


  •         状态行

    •                 由3部分构成,分别为:协议版本,状态码,状态码形貌,之间由空格分隔

      •                         状态码为3位数字,200〜299的状态码表现乐成,300〜399的状态码指资源重定向,400〜499的状态码指客户端哀求堕落,500〜599的状态码指服务端堕落( HTTP / 1.1向协议中引入了信息性状态码,范围为100〜199)
      •                         常见的状态码:
                                200 相应乐成
                                302 跳转,跳转地点通过相应头中的位置属性指定(JSP中Forward和Redirect之间的区别)
                                400 客户端哀求有语法错误,不能被服务器辨认
                                403 服务器吸取到哀求,但是拒绝提供服务(认证失败)
                                404 哀求资源不存在
                                500 服务器内部错误
                     
           
  •         相应头部

    •                 类似于哀求头部,作用是把 服务器相应 的信息 告知 给客户端,重要包罗的字段有:

      •                         Content-Length 字段:服务器在返回数据时,会有 Content-Length 字段,表明本次回应的数据长度
      •                         Content-Type 字段:用于服务器回应时,告诉客户端,本次数据是什么格式
      •                         Content-Encoding 字段:阐明数据的压缩方法。表现服务器返回的数据利用了什么压缩格式
                     
           
除此以外,另有很多其他的常用字段

  •         空行

    •                 末了一个相应头之后是一个空行,表现相应头的竣事
           
  •         相应体

    •                 存放 服务器实际传输的数据, 可以是文本、HTML页面、图片、视频等,也大概为空
           
相应实例:
  1. HTTP/1.1 200 OK //响应行
  2. Date: Sat, 31 Dec 2005 23:59:59 GMT //响应头
  3. Content-Type: text/html;charset=ISO-8859-1
  4. Content-Length: 122
  5.        //空行
  6. <html>
  7. <head>
  8. <title>Wrox Homepage</title>
  9. </head>
  10. <body>
  11. <!-- body goes here -->
  12. </body>
  13. </html>
复制代码
【注1】

  •         URL:不但唯一标识了资源,还提供了资源的具体访问路径


  •         URN: 同一资源标识符,用来唯一标识互联网上资源的一个字符串。它可以用来定位任何范例的资源,包罗网页、图片、文件、视频、服务等
  •         URI:它可以是URL,也可以是URN


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表