http协议分析论文Word文档下载推荐.docx

上传人:b****1 文档编号:14511858 上传时间:2022-10-23 格式:DOCX 页数:17 大小:731.50KB
下载 相关 举报
http协议分析论文Word文档下载推荐.docx_第1页
第1页 / 共17页
http协议分析论文Word文档下载推荐.docx_第2页
第2页 / 共17页
http协议分析论文Word文档下载推荐.docx_第3页
第3页 / 共17页
http协议分析论文Word文档下载推荐.docx_第4页
第4页 / 共17页
http协议分析论文Word文档下载推荐.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

http协议分析论文Word文档下载推荐.docx

《http协议分析论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《http协议分析论文Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。

http协议分析论文Word文档下载推荐.docx

输入www.B;

浏览器会自动转换成:

HTTP:

//www.B。

获取IP,建立TCP连接浏览器地址栏中输入"

//

客户端浏览器向服务器发出HTTP请求一旦建立了TCP连接,Web浏览器就会向Web服务器发送请求命令,接着以头信息的形式向Web服务器发送一些别的信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信。

Web服务器应答,并向浏览器发送数据客户机向服务器发出请求后,服务器会客户机回送应答,HTTP/1.1200OK应答的第一部分是协议的版本号和应答状态码,正如客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及被请求的文档。

Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据。

Web服务器关闭TCP连接

1

前言

HTTP协议简述

HTTP是一个客户端和服务器端请求和应答的标准(TCP)。

客户端是终端用户,服务器端是网站。

通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。

(我们称这个客户端)叫用户代理(useragent)。

应答的服务器上存储着(一些)资源,比如HTML文件和图像。

(我们称)这个应答服务器为源服务器(originserver)。

在用户代理和源服务器中间可能存在多个中间层,比如代理,网关,或者隧道(tunnels)。

尽管TCP/IP协议是互联网上最流行的应用,HTTP协议并没有规定必须使用它和(基于)它支持的层。

事实上,HTTP可以在任何其他互联网协议上,或者在其他网络上实现。

HTTP只假定(其下层协议提供)可靠的传输,任何能够提供这种保证的协议都可以被其使用。

2HTTP的头域

2.1通用头域

通用头域包含请求和响应消息都支持的头域,通用头域包含Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。

对通用头域的扩展要求通讯双方都支持此扩展,如果存在不支持的通用头域,一般将会作为实体头域处理。

下面简单介绍几个在UPnP消息中使用的通用头域。

2.1.1Cache-Control头域

Cache-Control指定请求和响应遵循的缓存机制。

在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。

请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。

各个消息中的指令含义如下:

Public指示响应可被任何缓存区缓存。

Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。

这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。

no-cache指示请求或响应消息不能缓存

no-store用于防止重要的信息被无意的发布。

在请求消息中发送将使得请求和响应消息都不使用缓存。

max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。

min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。

max-stale指示客户机可以接收超出超时期间的响应消息。

如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。

2.1.2Date头域

Date头域表示消息发送的时间,时间的描述格式由rfc822定义。

例如,Date:

Tue,15Jun201011:

04:

56GMT。

Date描述的时间表示世界标准时,换算成本地时间,需要知道用户所在的时区。

2.1.3Pragma头域

Pragma头域用来包含实现特定的指令,最常用的是Pragma:

no-cache。

在HTTP/1.1协议中,它的含义和Cache-Control:

no-cache相同。

2.2请求消息

请求消息由三部分组成,分别是:

请求行、消息报头、请求正文

1、请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:

MethodRequest-URIHTTP-VersionCRLF 

其中

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.htmlHTTP/1.1(CRLF)

POST方法要求被请求服务器接受附在请求后面的数据,常用于提交表单。

eg:

POST/reg.jspHTTP/(CRLF)

Accept:

image/gif,image/x-xbit,...(CRLF)

...

HOST:

(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、请求报头

请求报头允许客户端向服务器端传递请求的附加信息以及客户端自身的信息。

常用的请求报头

Accept

Accept请求报头域用于指定客户端接受哪些类型的信息。

Accept:

image/gif,表明客户端希望接受GIF图象格式的资源;

text/html,表明客户端希望接受html文本。

Accept-Charest

Accept-Charest请求报头域用于指定客户端接受的字符集。

Accept-Charset:

iso-8859-1,gb2312.如果在请求消息中没有设置这个域,缺省是任何字符集都可以接受。

Accept-Encoding

Accept-Encoding请求报头域类似于Accept,但是它是用于指定可接受的内容编码。

Accept-Encoding:

gzip.deflate.如果请求消息中没有设置这个域服务器假定客户端对各种内容编码都可以接受。

Accept-Language

Accept-Language请求报头域类似于Accept,但是它是用于指定一种自然语言。

Accept-Language:

zh-cn.如果请求消息中没有设置这个报头域,服务器假定客户端对各种语言都可以接受。

Authorization

Authorization请求报头域主要用于证明客户端有权查看某个资源。

当浏览器访问一个页面时,如果收到服务器的响应代码为401(未授权),可以发送一个包含Authorization请求报头域的请求,要求服务器对其进行验证。

Host(发送请求时,该报头域是必需的)

Host请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTPURL中提取出来的,我们上网登陆论坛的时候,往往会看到一些欢迎信息,其中列出了你的操作系统的名称和版本,你所使用的浏览器的名称和版本,这往往让很多人感到很神奇,实际上,服务器应用程序就是从User-Agent这个请求报头域中获取到这些信息。

User-Agent请求报头域允许客户端将它的操作系统、浏览器和其它属性告诉服务器。

不过,这个报头域不是必需的,如果我们自己编写一个浏览器,不使用User-Agent请求报头域,那么服务器端就无法得知我们的信息了。

2.3响应消息

HTTP响应也是由三个部分组成,分别是:

状态行、响应报头、响应正文

1、状态行格式如下:

HTTP-VersionStatus-CodeReason-PhraseCRLF

其中,HTTP-Version表示服务器HTTP协议的版本;

Status-Code表示服务器发回的响应状态代码;

Reason-Phrase表示状态代码的文本描述。

状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:

1xx:

指示信息--表示请求已接收,继续处理

2xx:

成功--表示请求已被成功接收、理解、接受

3xx:

重定向--要完成请求必须进行更进一步的操作

4xx:

客户端错误--请求有语法错误或请求无法实现

5xx:

服务器端错误--服务器未能实现合法的请求

常见状态代码、状态描述、说明:

200OK 

//客户端请求成功

400BadRequest 

//客户端请求有语法错误,不能被服务器所理解

401Unauthorized

//请求XX,这个状态代码必须和WWW-Authenticate报头域一起使用

403Forbidden 

//服务器收到请求,但是拒绝提供服务

404NotFound 

//请求资源不存在,eg:

输入了错误的URL

500InternalServerError//服务器发生不可预期的错误

503ServerUnavailable 

//服务器当前不能处理客户端的请求,一段时间后,可能恢复正常

2、响应报头

响应报头允许服务器传递不能放在状态行中的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1