• HTTP协议入门(一)- 版本


    当我们在浏览器的地址栏输入URL后,信息会被发送到WEB服务器,服务器得到响应,将数据传输回来,展示到WEB页面上,这其中的传输方法就是HTTP协议。

    一、HTTP 0.9

    • 发布于1991年,是首个HTTP版本,功能简单。
    1. 只支持GET请求方法,服务器响应返回的数据格式为,HTML格式的字符串;
    GET / index.html
    
    1. 不支持请求头,所以内容格式只能是纯文本;
    2. 无状态性,请求响应后关闭,若有错误,不返回错误码;

    二、HTTP 1.0

    • 发布于1996年5月,HTTP协议的第二个版本,第一个在通讯中指定版本号的HTTP协议版本,至今仍被广泛采用。相对于HTTP 0.9 增加了如下主要特性:
    1. 任何格式的内容都可以发送。这使得互联网不仅可以传输文字,还能传输图像、视频、二进制文件。这为互联网的大发展奠定了基础。

    2. 除了GET命令,还引入了POST命令和HEAD命令,丰富了浏览器与服务器的互动手段。

    3. HTTP请求和回应的格式也变了。除了数据部分,每次通信都必须包括头信息(HTTP header),用来描述一些元数据。

    4. 支持长连接(但默认还是使用短连接),缓存机制,以及身份认证。

    5. 其他的新增功能还包括状态码(status code)、多字符集支持、多部分发送(multi-part type)、权限(authorization)、缓存(cache)、内容编码(content encoding)等。

        GET / HTTP/1.0
        User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5)
        Accept: */*
    

    三、HTTP 1.1

    • 1997年1月,HTTP/1.1 版本发布,只比 1.0 版本晚了半年。它进一步完善了 HTTP 协议,一直用到了20年后的今天,直到现在还是最流行的版本。
    1. 持久连接。
    2. 管道机制, 同时多个请求。
    3. Content-Length 字段,声明数据长度。
    4. 分块传输编码,提高效率。
    5. 新增了许多动词方法:PUT、PATCH、HEAD、 OPTIONS、DELETE。
    6. 客户端头信息增加 host 字段,表示请求的主体域名。

    四、HTTP 2

    • 2015年,HTTP/2 发布。它不叫 HTTP/2.0,是因为标准委员会不打算再发布子版本了,下一个新版本将是 HTTP/3。
    1. 二进制协议
    2. 数据流,可以取消请求在不中断TCP连接的情况下,继续被其它请求使用。
    3. 头信息压缩
    4. websoket全双工通信,可实现服务器推送等。

    参考链接

    1. HTTP 协议入门-阮一峰
    2. HTTP协议的前世今生——各版本HTTP协议对比
    3. [图解HTTP协议-上野宣]
  • 相关阅读:
    需求规格说明书
    团队作业—选题报告
    Department and Student
    软件工程第一次团队作业
    第二次作业——个人项目实战
    软件工程实践2017第一次作业
    第七次作业--项目需求分析
    玩下软工项目,第一轮--全局Context的获取,SQLite的建立与增删改查,读取用户通话记录信息
    软工实践结对编程第二次作业
    java--由一道选择题研究数值越界
  • 原文地址:https://www.cnblogs.com/zhoumingjie/p/8534755.html
Copyright © 2020-2023  润新知