文档介绍:第15章 超文本传输协议
超文本传输协议HTTP(HyperText Transfer Protocol)主要用于从WWW服务器传输超文本到本地浏览器。
HTTP协议改变了传统的线性浏览方法,通过超文本环境实现文档间的快速跳转。实现高效输都被SSL加密和解密。下图显示的是一个典型的SSL通信顺序。
精选课件
SSL通信工作过程如下:
1)客户机发送安全会话请求消息,此消息包括SSL版本、客户机支持的密码族和客户机支持的数据压缩方法等。
2)服务器发送响应消息和服务器数字证书(含服务器的公钥),响应消息包含密码方法和由服务器选择的数据压缩方法,以及会话标识等。如果服务器需要对客户进行认证(可选),则向客户发出“证书请求”消息。消息中包含服务器支持的数字证书类型的列表和可接受的认证中心的专有名称。
3)客户机(Web 浏览器)将验证服务器数字证书的有效性并检查服务器的响应消息参数是否可以接受。如果服务器请求客户机的证书,客户机将发送数字证书;如果没有合适的数字证书可用,客户机将发送“没有证书”警告。如果客户机认证是强制性的,服务器将会使会话失败。
精选课件
4)客户机发送“客户机密钥交换”消息。此消息包含随机产生的会话密钥、报文鉴别码(MAC)密钥(用服务器的公钥加密的)以及用于加密和报文鉴别的密钥材料。
如果客户机发送数字证书给服务器,客户机将发出签有客户机的专用密钥的“证书验证”消息。通过验证此消息的签名,服务器可以显式验证客户机数字证书的所有权。
5)服务器发送“已完成”消息响应,SSL 握手结束。
随后的所有的数据将被加密和解密。URL中包含HTTPS://,表明使用了安全套接字层。
精选课件
3.HTTP主要特点
1)简单
HTTP协议在客户与服务器连接后,要求客户必须传送的信息只是请求方法和路径。
HTTP协议规范定义的几种请求方法,实际上常用的只是其中的GET、HEAD、POST三种。由于HTTP简单,使得HTTP服务器程序规模小且简单,与其它协议相比时间开销小。HTTP协议的通信速度很快,可以有效地处理大量请求,得到了广泛的使用。
2)无连接性
HTTP是一个无连接性协议(HTTP ),每次连接只处理一个请求,并且客户接到服务器应答后立即断开连接。
()
精选课件
3)无状态性
HTTP是无状态的协议。
HTTP无状态性使客户与服务器连接通信运行速度快,服务器应答也快。但是,因为无状态性,协议对事务处理是没有记忆的和独立的。所以,为了满足后续事务处理需要前面事务的有关信息的情况,这些前面事务的有关信息必须在协议外面保存,这便导致每次连接要传送较多的信息。
4)元信息
HTTP协议对所有事务处理都加了首部,我们称之为元信息,即关于信息的信息。利用元信息可以进行有条件的请求,或报告一次事务处理是否成功。
返回
精选课件
一般格式
HTTP信息采用RFC 822的普通信息格式,信息包含请求行/状态行(start-line)、信息首部(message—header) 、空行(null)和信息体(message—body)。
请求行/状态行
信息首部
空 行
信息行
精选课件
1.请求行/状态行
请求行/状态行指示本报文的请求类型或响应的状态等信息。在客户端发出的请求报文中指明请求类型(方法)、URL、HTTP版本号;在服务器发出的响应报文中指明HTTP版本号和服务器执行请求的状态信息。
2.信息首部
信息首部(message-header)用于在客户端和服务器之间交换附加信息。HTTP信息首部有4类:
一般首部(general—header)
请求首部(request-header)
响应首部(response-header)
实体首部(entity-header).
精选课件
信息首部每行用一个首部名-值对表示。首部名和首部值用冒号分割。
首部内容:
(1) 一般首部:一般首部是请求和响应中都可以出现的用于描述报文的一般信息,如Cache-control、Connection、Date、MIME-version、Upgrade。
首部名:首部值
首部名:首部值
…
首部名:首部值
精选课件
(2)请求首部:仅出现在请求报文中,定义客户端的配置和客户端所期望的文档格式。如:
Accept 表明客户端可以接受的媒体格式
Accept-charset 表明客户端可以处理的字符集
Accept-encoding 表明客户端可以处理的编码机制