nullnull第15章 超文本传输协议第15章 超文本传输协议 超文本传输协议HTTP(HyperText Transfer Protocol)主要用于从WWW服务器传输超文本到本地浏览器。
HTTP协议改变了传统的线性浏览方法,通过超文本环境实现文档间的快速跳转。实现高效浏览。
超文本传输协议HTTP是应用层协议。
第15章 超文本传输协议第15章 超文本传输协议常用的HTTP服务器有三个:
共享软件APACHE Web服务器
网景公司的企业服务器
微软公司的Internet信息服务器(IIS)
网景公司的企业服务器可在大多数平台上运行。
微软公司的IIS仅在Windows平台上运行。 第15章 超文本传输协议第15章 超文本传输协议15.1 统一资源定位符
15.2 超文本传输协议
15.3 一般格式
15.4 HTTP请求报文
15.5 HTTP响应报文15.1 统一资源定位符15.1 统一资源定位符 统一资源定位符URL(Uniform Resource Locator),也称Web地址,俗称“网址”。
URL的完整格式有以下基本部分组成:
协议+“://”+主机域名(IP地址)+“:”端口号+
目录
工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录
路径+文件名null1.协议
协议是指定服务连接而使用的所有访问协议:null2.主机域名(IP地址)
主机域名(IP地址)指出WWW数据所在的服务器域名,例如www.njust.edu.cn。
3.端口(port)
服务器提供端口号
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示客户访问不同资源类型,例如常见的WWW服务器提供端口号为80或8080。在URL中端口号可以省略,省略时连同前面的“:”一起省略。
4.目录路径(path)
目录路径指明服务器上存放被请求信息的路径。
5.文件名(file)
文件名是客户访问页面的名称。例如index.htm,页面名称与设计时网页的源代码名称并不要求相同,由服务器完成两者之间的映射。 null路径表示资源在主机中的位置,路径描述采用的是UNIX下的路径格式。
端口和路径都是可以省略的。
例子:
http://www.njust.edu.cn/
http://www.njust.edu.cn/indexchs2.htm
http://202.119.80.252/index.htm
ftp://ftp.njust.edu.cn
http://202.119.80.20:8080返回15.2 超文本传输协议15.2 超文本传输协议 HTTP协议是作为一种请求/回答协议来实现的。客户请求从Web服务器上给他传输一页。Web服务器以那一页来应答。
HTTP协议工作在应用层。一个客户将一个请求发送给HTTP服务器(通常在TCP的80号端口);HTTP服务器接受这个请求,并给客户发送一个合适的回答。
null1.HTTP通信方式
HTTP为客户/服务器通信提供了握手方式及消息传送格式。
HTTP采用请求/响应的握手方式,HTTP定义的事务处理其运作的基本过程: null HTTP通信方式主要三种:
1) 点对点方式
点对点方式是最简单的传输方式,用户经过请求与源服务器间通过HTTP建立起点对点的连接。
2) 具有中间服务器方式
中间服务器系统充当通信中继功能,客户发出的请求通过中继到达相关的服务器,同样服务器的响应也要通过中继才能返回给客户 。
3) 缓存方式
缓存方式暂时保存一定时间内的客户请求及该客户请求所对应的服务器响应,这样的缓存便于处理新的客户请求,节省网络流量和当地计算资源。null2. HTTP的安全性
HTTP安全性可以通过加密和鉴别来实现,最通常的方法是使用安全套接字层(SSL)。
安全套接字层SSL工作在TCP/IP的传输层和应用层之间。在客户和服务器之间的所有传输都被SSL加密和解密。nullSSL通信工作过程如下:
1)客户机发送安全会话请求消息,此消息包括SSL版本、客户机支持的密码族和客户机支持的数据压缩方法等。
2)服务器发送响应消息和服务器数字证
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
(含服务器的公钥),响应消息包含密码方法和由服务器选择的数据压缩方法,以及会话标识等。
3)客户机(Web 浏览器)将验证服务器数字证书的有效性并检查服务器的响应消息参数是否可以接受。如果服务器请求客户机的证书,客户机将发送数字证书;如果没有合适的数字证书可用,客户机将发送“没有证书”警告。如果客户机认证是强制性的,服务器将会使会话失败。null4)客户机发送“客户机密钥交换”消息。此消息包含随机产生的会话密钥、报文鉴别码(MAC)密钥(用服务器的公钥加密的)以及用于加密和报文鉴别的密钥材料。
5)服务器发送“已完成”消息响应,SSL 握手结束。
随后的所有的数据将被加密和解密。URL中包含HTTPS://。null3.HTTP主要特点
1)简单
HTTP协议在客户与服务器连接后,要求客户必须传送的信息只是请求方法和路径。
HTTP协议规范定义的几种请求方法,实际上常用的只是其中的GET、HEAD、POST三种。由于HTTP简单,使得HTTP服务器程序规模小且简单,与其它协议相比时间开销小。HTTP协议的通信速度很快,可以有效地处理大量请求,得到了广泛的使用。
2)无连接性
HTTP是一个无连接性协议(HTTP 1.0),每次连接只处理一个请求,并且客户接到服务器应答后立即断开连接。
(HTTP1.1提供对持续连接的支持)null3)无状态性
HTTP是无状态的协议。
HTTP无状态性使客户与服务器连接通信运行速度快,服务器应答也快。但是,因为无状态性,协议对事务处理是没有记忆的和独立的。
4)元信息
HTTP协议对所有事务处理都加了首部,我们称之为元信息,即关于信息的信息。返回15.3 一般格式15.3 一般格式HTTP信息采用RFC 822的普通信息格式,信息包含请求行/状态行(start-line)、信息首部(message—header) 、空行(null)和信息体(message—body)。 请求行/状态行信息首部空 行信息行null1.请求行/状态行
请求行/状态行指示本报文的请求类型或响应的状态等信息。在客户端发出的请求报文中指明请求类型(方法)、URL、HTTP版本号;在服务器发出的响应报文中指明HTTP版本号和服务器执行请求的状态信息。
2.信息首部
信息首部(message-header)用于在客户端和服务器之间交换附加信息。HTTP信息首部有4类:
一般首部(general—header)
请求首部(request-header)
响应首部(response-header)
实体首部(entity-header). null信息首部每行用一个首部名-值对表示。首部名和首部值用冒号分割。
首部内容:
(1) 一般首部:一般首部是请求和响应中都可以出现的用于描述报文的一般信息,如Cache-control、Connection、Date、MIME-version、Upgrade。首部名:首部值
首部名:首部值
…
首部名:首部值null(2)请求首部:仅出现在请求报文中,定义客户端的配置和客户端所期望的文档格式。如:
Accept 表明客户端可以接受的媒体格式
Accept-charset 表明客户端可以处理的字符集
Accept-encoding 表明客户端可以处理的编码机制
Accept-language 表明客户端可以接受的语言
Authorization 表明客户端具有的权限
From 表明用户的e-mail地址
Host 表示客户端的主机和端口号
If-modified-since 如果比定义的日期新则发送文件
If-match 如果与给定匹配则发送文件
……null(3)响应首部:仅出现在响应报文中,定义服务器的配置和关于请求的信息。如:
Accept-range 服务器是否接受客户请求的范围
Age 文档的存在时间
Public 表明服务器所支持的方法列表
Retry-after 定义服务器可用的日期
Server 服务器名和版本号
(4)实体首部:给出文档主体数据的信息。实体头部主要出现在响应中,POST和PUT类型的请求也会使用实体头部。
Allow 可用于URL的方法列表
Content-encoding 定义编码机制nullContent-language 定义语言
Content-length 表示文档的长度
Content-range 定义文档的范围
Content-type 定义媒体的类型
Etag 实体标签
Expires 给出实体可能变化的日期和时间
Last-modified 给出实体上次变化的日期和时间
Location 定义产生和移动的文档的位置null3. 信息体(message-body)
信息体是用来传递与请求或响应相关的实体的。
使用传递编码:信息体是经过编码的实体;
未使用传递编码:信息体就是实体本身。
传递编码主要是用来增强保密性或让支持这种编码的接收者能正确接收。
在客户的请求报文中,信息体存放POST、PUT等请求向服务器传送的数据;
在服务器发出的响应报文中,信息体存放服务器返回的客户所请求的页面。返回15.4 HTTP请求报文15.4 HTTP请求报文在HTTP报文中,大多数请求报文没有实体数据,请求报文的格式如图所示:
常用的HTTP请求的方法有GET、HEAD、PUT、POST、DELETE、LINK、UNLINK七种方法,其中GET、HEAD、POST方法被大多数服务器支持。 null1) GET方法
GET方法的目的是取回由URL指定的资源
若对象是文件,则GET取的是文件内容;
若对象是程序或描述,则GET取的是该程序执行的结果,或该描述的输出;
若对象是数据库查询,则GET取的是查询的结果。
GET允许通过使用IF语句来增加附加的灵活性,即条件GET。当在IF语句中的条件得到满足时,数据便被传输。如果Web页在最近没有被更新,HTTP客户便可以使用Web页在缓冲区的拷贝。这样可以充分利用网络带宽。null2) HEAD方法
HEAD方法要求服务器查找某对象的元信息而不是对象本身,仅要求服务器返回关于文档的信息,而非文档本身。例如用户想知道对象的大小,对象的最后一次修改的时间等。
3) POST方法
POST方法从客户向服务器传送数据,用来请求HTTP服务器将附带的数据当作HTTP服务器一个新的
记录
混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载
来接收。这种方法可被用来将消息发给一个新闻组,或向HTTP服务器提交一个HTML表格,或者将一个记录附加到HTTP服务器上驻留的一个数据库上去。null4)PUT方法
PUT方法是用来请求将这个请求中所发送的数据储存到请求消息中表明的资源处。如果数据已经存在,则此数据将被看成已存在数据的一个修改。
与POST方法的不同之处:数据的目标位置可以规定好。
5)DELETE方法
DELETE方法是用来请求HTTP服务器删除在请求消息中表明的资源。这个方法可能被人工干预或HTTP服务器上的安全设置所超越。仅当服务器同意删除这个资源时,才会发送一个成功应答。null6)TRACE方法
TRACE方法用来确保HTTP服务器所接收到的数据是正确的。TRACE的回答是实际的HTTP请求,允许对HTTP请求进行测试和调试。
7)CONNECT方法
CONNECT方法被保留为安全接口层SSL隧道所用。返回15.5 HTTP响应报文15.5 HTTP响应报文 HTTP响应报文一般都带有实体数据,响应报文的格式:null1.状态行(status-line)
响应信息中的状态行由协议版本号、数字式的状态码(status-code)以及这个状态码对应的状态短语(Reason-Phase)组成。响应信息中,状态行以后的内容均使用MIME进行编码。
版本:HTTP 1.1; HTTP 1.0; HTTP 0.9
状态码:3位十进制数的状态编码。
100~199 信息
200~299 成功
300~399 重定向
400~499 客户端错
500~599 服务器错
状态短语:对状态码的文字解释。本章要点本章要点超文本传输协议HTTP主要用于从WWW服务器传输超文本到本地浏览器。
URL的完整格式由以下基本部分组成:协议+“://”+主机域名(IP地址)+“:”端口号+目录路径+文件名。
HTTP协议是作为一种请求/回答协议来实现的。客户请求Web服务器上的一页,Web服务器则以那一页来应答。HTTP协议工作在应用层。nullHTTP通信方式主要有:点对点方式、中间服务器方式和缓存方式三种。
HTTP信息采用RFC 822的普通信息格式,包含请求行/状态行、信息首部、空行和信息体。
常用的HTTP请求的方法:GET、HEAD、PUT、POST等。
返回作业:15-2