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

  • 相关阅读:
    java常见面试题汇总(三)
    Java学习流程图(学习路线、书籍、教程推荐)
    java开发面试题:spring面试题总结
    2014.11.12模拟赛【最大公因数】
    2014.11.12模拟赛【最小公倍数】| vijos1047最小公倍数
    vijos1781 同余方程
    vijos1777 引水入城
    2014.10.31我出的模拟赛【天神下凡】
    voijs1883 月光的魔法
    2014.10.31我出的模拟赛【藏宝图】
  • 原文地址:https://www.cnblogs.com/wenxuehai/p/12674659.html
Copyright © 2011-2022 走看看