zoukankan      html  css  js  c++  java
  • HTTP协议的报文

    1、HTTP 的报文类型

    HTTP 有两类报文:
    (1) 请求报文:从客户端发送给服务器端的报文
    (2) 响应报文:服务器到客户的回答

    两种报文的结构如下图:

    HTTP 请求报文(响应报文)是由三部分组成:
    1)请求行(响应报文中称之为状态行): 用于区分是请求报文还是响应报文。
    2)请求头(响应头): 用来说明浏览器、服务器或报文主体的-些信息。在每一个首部行中都有首部字段名和它的值
    3)请求主体(响应主体)

    2、http请求报文(请求行、请求头、请求主体)

    2.1、请求行

    请求报文的 “请求行” 只有三个内容,即:方法、请求URL、以及HTTP的版本。

    比如:上例中链接到“ 清华大学院系设置” 页面的请求行:GET   http://www.tsinghua.edu.cη/chn/yxsz/index.htm   HTTP/1.1

    此时,该请求报文的请求行就是:GET /chn/yxsz/index. htm HTTP /1. 1 {请求行使用了相对URL}

    2.2、请求头

    浏览器通过请求头告诉服务器关于浏览器的一些信息,格式: 请求头名称:请求头值

    参数介绍:

    Accept-Encoding: gzip, deflate             浏览器支持的压缩编码是 gzip 和 deflate。              

    Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7       浏览器支持的字符编码分别是 GB2312、utf-8 和任意字符

    Accept-Language: zh-cn,zh;q=0.5           浏览器支持的语言分别是中文和简体中文            

    Accept: text/html,application/xhtml+xml,application/xml,application/json,*/*    表明浏览器所支持接收的数据类型,表明所支持的 MIME 有:html、xhtml+xml、xml、json、任何类型

    Host: www.tsinghua.edu.cn               此行是请求头的开始,表明发出请求的客户端的域名            

    Connection: close                              告诉服务器发送完请求的文档后就可释放连接

    User-Agent: Mozilla/5.0        表明浏览器的一些版本信息

    Referer:https://www.baidu.com/         浏览器目前所处页面的URL

    Content-type:application/json          告诉服务器我们发送的请求信息的格式

    2.3、请求主体

    请求主体放的是请求的参数,比如:username=aaa

    GET 请求没有请求主体,它的请求参数放在请求 URL 中:www.baidu.com?username=aaa

    3、http 响应报文(状态行、响应头、响应主体)

    3.1、状态行

    响应报文的第一行就是状态行。状态行包括三项内容,即:HTTP的版本、状态码、以及解释状态码的简单短语。

    状态码(Status-Code)都是三位数字的, 分为5大类共33种:

    lxx表示通知信息的, 如请求收到了或正在进行处理。
    2xx表示成功, 如接受或知道了。
    3xx表示重定向, 如要完成请求还必须采取进一步的行动。
    4xx表示客户的差错, 如请求中有错误的语法或不能完成。

    5xx表示服务器的差错, 如服务器失效无法完成请求。

    常见的状态码:

    200 请求成功

    302 重定向
    304 页面缓存

    403 没有权限访问
    404 页面不存在

    500 后端程序报错

    具体的状态码查看:http://www.runoob.com/http/http-status-codes.html

    4、HTTP中请求头和响应头的各个字段及含义

    参考:https://www.cnblogs.com/widget90/p/7650890.html

    5、Content-Type 字段各个值的含义

    参考:https://www.cnblogs.com/cyanlong/p/5726793.html

    6、HTTP协议各个版本的比较(http0.9、1.0、1.1、2.0)

    参考:https://www.cnblogs.com/andashu/p/6441271.html#top

    https://blog.csdn.net/qq_22238021/article/details/81197157

  • 相关阅读:
    PAT (Advanced Level) 1060. Are They Equal (25)
    PAT (Advanced Level) 1059. Prime Factors (25)
    PAT (Advanced Level) 1058. A+B in Hogwarts (20)
    PAT (Advanced Level) 1057. Stack (30)
    PAT (Advanced Level) 1056. Mice and Rice (25)
    PAT (Advanced Level) 1055. The World's Richest (25)
    PAT (Advanced Level) 1054. The Dominant Color (20)
    PAT (Advanced Level) 1053. Path of Equal Weight (30)
    PAT (Advanced Level) 1052. Linked List Sorting (25)
    PAT (Advanced Level) 1051. Pop Sequence (25)
  • 原文地址:https://www.cnblogs.com/wenxuehai/p/12674659.html
Copyright © 2011-2022 走看看