没有合适的资源?快使用搜索试试~ 我知道了~
首页mplayer中http流媒体协议分析.doc
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP /1.1的规范化工作正在进行之中,而且 HTTP-NG(Next Generation of HTTP)的建议已经提出。
资源详情
资源评论
资源推荐

1 HTTP 协议概述
是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,
适用于分布式超媒体信息系统。它于 年提出,经过几年的使用与发展,得
到不断地完善和扩展。目前在 中使用的是 的第六版,
的规范化工作正在进行之中,而且的建
议已经提出。
协议的主要特点可概括如下:
支持客户服务器模式。
简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求
方法常用的有、、。每种方法规定了客户与服务器联系的类型
不同。由于 协议简单,使得 服务器的程序规模小,因而通信速度
很快。
灵活: 允许传输任意类型的数据对象。正在传输的类型由
!" 加以标记。
#无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完
客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输
时间。
$无状态: 协议是无状态协议。无状态是指协议对于事务处理没有记
忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样
可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时
它的应答就较快。
协议的客户服务器模式的信息交换过程,如图所示,它分四个过程 ,
建立连接、发送请求信息、发送响应信息、关闭连接。

2 HTTP 请求消息
%" 请求由三部分组成,分别是:请求行、消息报头、请求正文
请求行以一个方法符号开头,以空格分开,后面跟着请求的 &'( 和协议的
版本,格式如下:)%*'+,-&'(.- '/0
其中)%* 表示请求方法;'+,-&'( 是一个统一资源标识符;
.- 表示请求的 协议版本;
'/0 表示回车和换行(除了作为结尾的 '/0 外,不允许出现单独的 '
或 /0 字符)。
请求方法(所有方法全为大写)有多种,各个方法的解释如下:
1111请求获取 '+,-&'( 所标识的资源
111在 '+,-&'( 所标识的资源后附加新的数据
111请求获取由 '+,-&'( 所标识的资源的响应消息报头
&1111请求服务器存储一个资源,并用 '+,-&'( 作为其标识
/1请求服务器删除 '+,-&'( 所标识的资源
' 11请求服务器回送收到的请求信息,主要用于测试或诊断
保留将来使用
(请求查询服务器的性能,或者查询与资源相关的选项和需求
应用举例:
方法:在浏览器的地址栏中输入网址的方式访问网页时,浏览器采用

方法向服务器获取资源,利用这个方法,不必传输整个资源内容,就可以
得到 '+,-&'( 所标识的资源的信息。该方法常用于测试超链接的有效性,
是否可以访问,以及最近是否更新。
、请求报头后述
、请求正文略
3 HTTP 响应消息
在接收和解释请求消息后,服务器返回一个 响应消息。
响应也是由三个部分组成,分别是:状态行、消息报头、响应正文
状态行格式如下:
.-,- *'-%- '/0
其中,.- 表示服务器 协议的版本;,- * 表示服务器发
回的响应状态代码;'-%- 表示状态代码的文本描述。
状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
:指示信息表示请求已接收,继续处理
:成功表示请求已被成功接收、理解、接受
:重定向要完成请求必须进行更进一步的操作
#:客户端错误请求有语法错误或请求无法实现
$:服务器端错误服务器未能实现合法的请求
常见状态代码、状态描述、说明:
211111客户端请求成功
#3*'+,-1客户端请求有语法错误,不能被服务器所理解
#&,%4* 请求未经授权,这 个状 态代码必须和 ,%5
报3333333333333333头域一起使用
#06**1服务器收到请求,但是拒绝提供服务
##0,*1请求资源不存在,7:输入了错误的 &'/
$(89服务器发生不可预期的错误

$9&98681 服务 器当 前不 能处 理客户 端 的 请求 ,一 段时 间 后 ,
333333333333333333333333可能恢复正常
7:2( '/0)
4 HTTP 消息报头
消息由客户端到服务器的请求和服务器到客户端的响应组成。请求
消息和响应消息都是由开始行(对于请求消息,开始行就是请求行,对于响应
消息,开始行就是状态行),消息报头(可选),空行(只有 '/0 的行),
消息正文(可选)组成。
消息报头包括普通报头、请求报头、响应报头、实体报头。
每一个报头域都是由名字:;:” :空格:值组成,消息报头域的名字是大小
写无关的。
4.1 普通报头
在普通报头中,有少数报头域用于所有的请求和响应消息,但并不用于被
传输的实体,只用于传输的消息。
5% 811用于指定缓存指令,缓存指令是单向的(响应中出现的缓存
指令在请求中未必会出现),且是独立的(一个消息的缓存指令不会影响
另一个消息处理的缓存机制), 使用的类似的报头域为 7<。
请求时的缓存指令包括:55%(用于指示请求或响应消息不能缓存)、
-、<7、<-8、<-%、8!55%*=
响 应 时 的 缓 存 指 令 包 括 : ",685 、 "9 、 55% 、 - 、
-<、<,-98*、"!98*、<7、-<7
普通报头域表示消息产生的日期和时间
5普通报头域允许发送指定连接的选项。例如指定连接是连续,或
者指定“58->选项,通知服务器,在响应完成后,关闭连接
剩余17页未读,继续阅读

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论2