没有合适的资源?快使用搜索试试~ 我知道了~
首页HTTP协议的分析和理解
资源详情
资源评论
资源推荐

引言 ...................................................................................................................................................................1
一、HTTP 协议详解之 URL 篇....................................................................................................................... 1
二、HTTP 协议详解之请求篇........................................................................................................................2
三、HTTP 协议详解之响应篇.........................................................................................................................3
四、HTTP 协议详解之消息报头篇.................................................................................................................4
1、普通报头......................................................................................................................................4
2、请求报头......................................................................................................................................5
3、响应报头......................................................................................................................................6
五、利用 telnet 观察 http 协议的通讯过程.....................................................................................................8
六、HTTP 协议相关技术补充.......................................................................................................................10
引言
HTTP 是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信
息系统。它于 1990 年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在 WWW 中使用
的是 HTTP/1.0 的第六版,HTTP/1.1 的规范化工作正在进行之中,而且 HTTP-NG(Next Generation of
HTTP)的建议已经提出。
HTTP 协议的主要特点可概括如下:
1.支持客户/服务器模式。
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有 GET、HEAD、
POST。每种方法规定了客户与服务器联系的类型不同。由于 HTTP 协议简单,使得 HTTP 服务器的
程序规模小,因而通信速度很快。
3.灵活:HTTP 允许传输任意类型的数据对象。正在传输的类型由 Content-Type 加以标记。
4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的
应答后,即断开连接。采用这种方式可以节省传输时间。
5.无状态:HTTP 协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着
如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,
在服务器不需要先前信息时它的应答就较快。
扩展:https

一、HTTP 协议详解之 URL 篇
http
(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于
TCP
的连接方式,
HTTP1.1
版本中给出一种持续连接的机制,绝大多数的
Web
开发,都是构建在
HTTP
协议之上的
Web
应用。
HTTP URL (URL
是一种特殊类型的
URI
,包含了用于查找某个资源的足够的信息
)
的格式如下:
http://host[":"port][abs_path]
http
表示要通过
HTTP
协议来定位网络资源;
host
表示合法的
Internet
主机域名或者
IP
地址;
port
指定一个端口号,为空则使用缺省端口
80
;
abs_path
指定请求资源的
URI
;如果
URL
中没有给出
abs_path
,那么当它作为请求
URI
时,必须以
“/”
的形式给出,通常这个工作浏览器自动帮我们完成。
eg:
1
、输入:
www.guet.edu.cn
浏览器自动转换成:
http://www.guet.edu.cn/
2
、
http:192.168.0.116:8080/index.jsp
二、HTTP 协议详解之请求篇
http 请求由三部分组成,分别是:请求行、消息报头、请求正文
1、请求行以一个方法符号开头,以空格分开,后面跟着请求的 URI 和协议的版本,格式如下:
Method Request-URI HTTP-Version CRLF
其中 Method 表示请求方法;Request-URI 是一个统一资源标识符;HTTP-Version 表示请求的 HTTP
协议版本;CRLF 表示回车和换行(除了作为结尾的 CRLF 外,不允许出现单独的 CR 或 LF 字符)。
请求方法(所有方法全为大写)有多种,各个方法的解释如下:
GET 请求获取 Request-URI 所标识的资源
POST 在 Request-URI 所标识的资源后附加新的数据
HEAD 请求获取由 Request-URI 所标识的资源的响应消息报头
PUT 请求服务器存储一个资源,并用 Request-URI 作为其标识
DELETE 请求服务器删除 Request-URI 所标识的资源
TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT 保留将来使用
OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求
应用举例:

GET 方法:在浏览器的地址栏中输入网址的方式访问网页时,浏览器采用 GET 方法向服务器获
取资源,eg:GET /form.html HTTP/1.1 (CRLF)
POST 方法要求被请求服务器接受附在请求后面的数据,常用于提交表单。
eg:POST /reg.jsp HTTP/ (CRLF)
Accept:image/gif,image/x-xbit,... (CRLF)
...
HOST:www.guet.edu.cn (CRLF)
Content-Length:22 (CRLF)
Connection:Keep-Alive (CRLF)
Cache-Control:no-cache (CRLF)
(CRLF) //该 CRLF 表示消息报头已经结束,在此之前为消息报头
user=jeffrey&pwd=1234 //此行以下为提交的数据
HEAD 方法与 GET 方法几乎是一样的,对于 HEAD 请求的回应部分来说,它的 HTTP 头部中包
含的信息与通过 GET 请求所得到的信息是相同的。利用这个方法,不必传输整个资源内容,就可以
得到 Request-URI 所标识的资源的信息。该方法常用于测试超链接的有效性,是否可以访问,以及最
近是否更新。
2、请求报头后述
3、请求正文(略)
三、HTTP 协议详解之响应篇
在接收和解释请求消息后,服务器返回一个 HTTP 响应消息。
HTTP 响应也是由三个部分组成,分别是:状态行、消息报头、响应正文
1、状态行格式如下:
HTTP-Version Status-Code Reason-Phrase CRLF
其中,HTTP-Version 表示服务器 HTTP 协议的版本;Status-Code 表示服务器发回的响应状态代码;
Reason-Phrase 表示状态代码的文本描述。
状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
剩余10页未读,继续阅读



















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

评论0