1 什么是 HTTP 协议 HTTP 超文本传输协议 (HTTP -Hypertext transfer protocol),是一个属于应用层的面向对象 的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于 1990 年提出, 经过几年的使用与发展,得到不断地完善和扩展。它是一种详细规定了浏览器和万维网 服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
2 HTTP 的主要特点
1.支持客户端/服务器模式。
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用 的有 GET、POST、HEAD 等。每种方法规定了客户与服务器联系的类型不同。由于 HTTP 协议简单,使得 HTTP 服务器的程序规模小,因而通信速度很快。
3.灵活:HTTP 允许传输任意类型的数据对象。正在传输的类型由 Content-Type 加 以标记。 4.无连接:无连接的含义是连接双方在完成交互后不维持连接状态,当客户端发送 新的请求后则开启新的连接。
5.无状态:HTTP 协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。 缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接 传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
4 HTTP 协议的会话方式
4.1 浏览器与服务器之间的通信过程要经历四个步骤
4.2 浏览器与 WEB 服务器的连接过程是短暂的,每次连接只处理一个请求和响应。 对每一个页面的访问,浏览器与 WEB 服务器都要建立一次单独的连接。 4.3 浏览器到 WEB 服务器之间的所有通讯都是完全独立分开的请求和响应对。
5 HTTP1.0 和 HTTP1.1 的区别 ●在 HTTP1.0 版本中,浏览器请求一个带有图片的网页,会由于下载图片而与服务器之 间开启一个新的连接;但在 HTTP1.1 版本中,允许浏览器在拿到当前请求对应的全部资 源后再断开连接,提高了效率。
6 请求方式 ①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 地址后面,并且发送 数据的大小是没有限制的。 6.3 请求消息头 ①请求消息头简称请求头,用来向服务器报告浏览器端的一些基本信息。