HTTP协议(一)

1.什么是 HTTP 协议
        HTTP 超文本传输协议 (HTTP-Hypertext transfer protocol),是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于 1990 年提出,经过几年的使用与发展,得到不断地完善和扩展。它是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。

2.HTTP 的主要特点
         1.支持客户端/服务器模式。
         2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有 GET、POST、HEAD 等。每种方法规定了客户与服务器联系的类型不同。由于 HTTP协议简单,使得 HTTP 服务器的程序规模小,因而通信速度很快。
         3.灵活:HTTP 允许传输任意类型的数据对象。正在传输的类型由 Content-Type 加以标记。
         4.无连接:无连接的含义是连接双方在完成交互后不维持连接状态,当客户端发送新的请求后则开启新的连接。
         5.无状态:HTTP 协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

3.http协议的会话协议

        HTTP协议(一)

4.http请求

        4.1  客户端连上服务器后,向服务器发出获取某个 Web 资源的消息,称之为客户端向服务器发送了一个 HTTP 请求。一个完整的 HTTP 请求包括如下内容:
               ①请求行
               ②若干消息头(请求头)
               ③实体内容(请求体) 有可能没有

         HTTP协议(一)

 

          4.2 请求方式

            ①HTTP 中定义了 7 种请求方式:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT。其中最常用的是 GET 和 POST
            ②GET 请求:

                  [1]从字面意思来说,GET 请求是用来向服务器端获取信息而发送的请求。
                  [2]没有特殊设置,默认情况下浏览器发送的都是 GET 请求,例如点击超链接、在浏览器地址栏直接输入地址访问。
                  [3]GET 请求也可以向服务器端发送请求参数,形式是在 URL 地址后面加上?,请求参数名和值用=连接,多个请求参数之间使用&分隔。例如:GET /mail/1.html?name=abc&password=xyz HTTP/1.1需要注意的是:GET 方式所能够携带的数据是由限制的,其数据大小通常不能超过 4K,不适于提交大量表单数据,故而在表单的提交方式中首选 POST 方式。

            ③POST 请求
                  [1]POST 请求的字面含义是向服务器端发送数据,仅在表单中设置method=”post”时,请求方式为 POST 方式[另外在 Ajax 应用中,可以指定请求方式为 POST]。
                  [2]POST 请求会将请求参数放在请求体中,而不是 URL 地址后面,并且发送数据的大小是没有限制的

7.HTTP 响应
             7.1  所谓响应其实就是服务器对请求处理的结果,或者如果浏览器请求的直接就是一个静态资源的话,响应的就是这个资源本身。
             7.2  HTTP 响应的组成
                    ①响应状态行:包括协议版本、响应状态码、响应状态信息
                    ②响应消息头:响应头
                    ③实体内容:响应体

           HTTP协议(一)

              7.3 最常见的响应状态码

              HTTP协议(一)

             7.4  响应消息头:简称响应头

              HTTP协议(一)

             7.5  响应体:服务器给出的响应结果的主体,通常是用来在页面上显示的。

             7.6  HTTP 内容类型:当前响应体的数据类型。

              ①需要指出的是在浏览器和服务器之间传输的数据类型并非都是文本类型,还包括图片、视频、音频等多媒体类型。这些多媒体类型是使用 MIME 类型定义的。
              ②MIME 的英文全称是"Multipurpose Internet Mail Extensions" 多功能 Internet 邮件扩充服务。MIME 类型的格式是“大类型/小类型”,并与某一种文件的扩展名相对应。
               ③常见的 MIME 类型

                HTTP协议(一)