




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实训十八http协议规范化实训一、实训目的1、了解http协议相关内容;2、掌握iittp协议规范化的配置方法。二、应用环境http协议规范化是指根据http协议本身的一些协议特性及在正常访问网站时,协议交 互的过程中产生的一些配置参数,对这些特性和参数进行保护和过滤,保护正常准确的信息 能够完成交互,并对非法的超出规定的不合法信息加以过滤和阻止。三、实训设备1、waf设备1台2、pc机2台3、双绞线(直通)2根四. 实训拓扑apc机1/24waf/24透明部署模式pc机2/24五、实训要求1、按照拓扑连接网络2、按照拓扑中的i
2、p地址配置设备ip六、实训步骤第一步:在pc机2上部署要进行网络爬虫的网站,并在木地访问正常,在pc机2上打开浏 览器输入 http:/127. 0. 0. 1/q(ae>5«* “口呀 aft人艮帧q团©内2011-03-22bft 人艮jrjrq飞il软件无也mt2011 03-22c人"jr201103-22 da 人&mvo三方文付企业戍r介入氛5!*城20110>22e人 milg 分 <r«201?»utubel«2011022 fa 人 swo¥»xk文声谡20h03-22
3、g人艮顾q电子翻加e20110>22q(sj1a紐济雯员舍q费金便用hibfit?201103-22dlttftttwt201103-22桶晰公众网2011 03-22q安tax車他社人电氏台 (时6內咅星利 012011-022asb»g安ant車法电人电m台低俗內saw2011-03-22q(ev»)oltsm«tt»pkh>l«拆辻龙妞臧无彥矗2011-03-22ungnrddigolchma comowwt2011-03-222011 03-22蜩床绪9名利长费产2007-04-122007-04-112007-04.11&
4、#171;£s1州大x: a仗不舷孕m0704-11m0704-11颐公开堂讨200s-10-01第二步:在pc机1上打开浏览器输入https:/192.16& 1.2/登录waf设备,将保护网站添 加到waf站点管理中,左侧功能树进入站点->站点管理,点击新建按钮d«zii添加宇母开头字母数字和下划线组咸,长度为1到14点分+遊制整数,形如:1到65535之(db披数每个站点的多个域名间侵用半角逗号分踽,形如:每行为一个站点的所有母名,鲁入多个恢名以15号分隔如:,取消输入web服务器ip地址和端口,点击确泄,将网站加入waf保护中站
5、点官理旨斬建迭择服弄名称服奔类2s主机地址主机谓口第略篥 站点域名h作jservedhttp192.1681.3803陽価1全迭鬥梆所送注意:此步骤中策略集选择“无”第三步:在pc机1上打开浏览器输入http:/192.168.l3访问网站,能够正常访问3 i 19246t13會e 讯goopp <aiasuavtfldmu4>»cinetutawttov* ”20071?©b络确拿入2007-112003homsanmex: 位不崛 wsa20071-11oemaw vt »a 人 rbag£d疑內201m3-22» 人 rbr2
6、0114342 c人 rbkdazhohrabka*20114>» d人cmhnsflfilt 9)介入京im20,1322第四步:在pc机1上打开浏览器输入https:/192.168.l2登录waf,进入防护-web攻击 防护-请求限制,点击新建策略名称为qq満求限制宙 «»第略描谜门页i1 习策略xi天闭t测产格i 中挛 责松t新建完成点击修改请求限制序号笫fig名称关闭请束限制检 1刻2 产格请求除制3 中等请求限制4 克松请求限制策路描谜服务俸止请求限制检测功能,用于调说、排除网络 问题。根厕站资漁和用户访问情丸,oesili求顒制 根擔网站资源和
7、用户访问情;兄,sse请求阻制 一 根据网站资源和用户访问情;兄戢舌请求柬制 一操作5 qq每页显示10 轧当前第1/1页可以看到该项目的许多参数配置项li , h前输入框中默认的参数数值大小为http协议规范 的一个标准值,超过或者小于某些参数值得时候waf会识别为不正确或者不正常的http数 据,就会把这种不符合要求的数据包丢弃91求限制名称:qqfii*:327684096包廷请求中的各个报头旦不包廷请柚body祁分推荐值:32768 (32k)直饲懐数最大个教:64最多 cookiet:40所吉的cookiebj以後包含在-cookie:生部中(tt*)name«value.
8、以分号編开cookie名最大长度:64彌:64cookieffift 大长度:4096单个cookieft最大长除推荐:4096色廷垂砖苻率。推祜4096 定义url中直砖苻率的最大长厦ourlr大长度: 董谒m苻率最大长曲4096禁止的内苔矣型:谓迭绎内杏矣型(optionsget,!put 'delete<一>post headj j j jtractconnect已送择内咨矣23|text/htmltext/plam application/xhtmkxml 'image/grf image/jpegv2返回第五步:根据上面的参数值我们做一下实验,这里比较容易
9、做而又显示比较直观的是url 最大长度、允许的method.禁止的内容类型。我们先做第一个,url最大长度意思就是你在浏览器里面输入的字符串的长度,下面更改的 小一些,更改为10,点击确定url最大长度:10包括査询亨苻串。o: 4096添加除送中站点取満进入整体防护策略集-新建策略集qq_zt,在此策略集屮应用qq这个请求限制策略webfft护簞扈cc防枳笨嵐盗鉅防:虫防护笨爼 扫砂护藁爼 话束隈捌苯聽q<l.zt |防阳快询bg名称1£述是否加入第路集关闭请术原制检测停止谓求限刮也劇功能,用于调试、挎除网络问抱» ©产格谒求眼制根阙站资源和用户访耐情紀,
10、e中等谓求備制根据网站吏涌和用户访问情况,o竟松清宋原制根ib网站惹障和用户访间佰况,qqe |du返回进入站点-站点管理-修改,应用整体策略集qq_zt到站点点分+邊整形如:1到65535之间的整数毎个站点的多个蟻名间便用半角逗号分烯形 如:,毎行为一个站点吊所育域名,鲁入多个無名, 以逗号分躍如:此时我们在浏览器里输入hllp:/192. 168.1.3/访问网站,会出现“请求包数据不符合要求! ” 的提示1用1 |http:/192.168.13请求包数据不符合要求!通过我们输入的url可以得出,输入的字符超过了 10个,waf就认为这是不正常的数据, 就阻止掉了
11、。允许的method:请迭择method已迭择method同样我们做允许的method实验,上面我们已经把策略引用到保护了,本次我们直接进入 -web攻击防护-请求限制-qq策略中修改该策略的参数即可,从卜图看到右侧的框中是默 认被选屮的http方法ophons put delete trace connect现在我们在右侧的框中只保留post,点击保存,之前更改的url最大长度需要还原默认值32768 (32k)cookieff最大长度: 允许的method:请末豪大长度:url最大长度:大长度: 大个數:11 多 cookiemt:cookie名h大长歟此时我们在浏览器中输入http:/1
12、92. 16&1.3访问web服务器(此方法访问网站是属于 http方法中的get方法),因只允许了 post所以访问被阻止http:/192.168.13403您所请求的网址(url)无法获取下面我们做禁止的内容类型实验在第一个实验屮我们已经把策略引用到保护了,本次我们直接进入-web攻击防护-请求限 制-qq策略中修改该策略的参数即可,修改前先将第二个实验中更改的内容改冋,再修改 禁止的内容类型为text/html,如下图所示允许的method:loptionsdelete trace connect purge请迭择method请迭择内咨类型post get heada已迭择me
13、thod已迭择内谷类型text/html車止的内苔类型:application/msword !message/rfc822 multipart/alternative application/x-www-form-l multipart/form-data此时我们在浏览器中输入http:/192. 168. 1. 3/index. php访问web服务器的首页,因策略 屮我们禁止了 text/html类型内容的访问,所以此处访问会被阻止http:/192.168.13403您所请求的网址(url)无法获取第六步:通过以上三个实验说明,有效利用和控制http协议中的相关字段和参数能够有效 的阻
14、止攻击保障正常合法的浏览同行,而普通的服务器或者防火墙是无法实现这一点的,只 有通过专业的web安全设备waf才可以做到。七、注意事项和排错1、需要将保护网站添加到waf保护中,才能够保护生效。2、防护不能生效时检查配置参数,并重新应用该策略。3、在实验过程屮注意及时清空浏览器缓存以免产生影响。八、配置序列无九、共同思考结合知识背景思考http的不足?十、课后练习尝试上述实验屮的其他参数进行实验操作?十一、知识背景http(hypertext transfer protocol)又称为超文本传输协议,是互联网上应用最为广泛 的一种网络协议。所有的www文件都必须遵守这个标准。设计http最初的
15、目的是为了 提供一种发布和接收html页面的方法。简介1960年美国人ted nelson构思了一种通过计算机处理文本信息的方法,并称之为超文 本(hypertext),这成为了 http超文本传输协议标准架构的发展根基。ted nelson组 织协 调万维网协会(world wide web consortium) 0 internet 工作小组(intcmct engineering task force)共同合作研究,最终发布了一系列的rfc,其屮最著名的就是rfc2616。rfc 2616 定义了 http协议的我们今天普遍使用的一个版本http l.loted nelson对http
16、技术的发展贡献颇大,被公认为“http之父覽1966年,ted nelson 创立了专注于电脑外围设备、电脑包等产品线的http公司。技术架构http是一个客户端和服务器端请求和应答的标准(tcp)。客户端是终端用户,服务 器端是网站。通过使用web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器 上指定端口(默认端口为80)的http请求。(我们称这个客户端)叫用户代理(user agent)o 应答的服务器上存储着(一些)资源,比如html文件和图像。(我们称)这个应答服务器 为源服务器(origin server)o在用户代理和源服务器中间可能存在多个屮间层,比如代理, 网关,或者
17、隧道(tunnels)o尽管tcp/ip协议是互联网上最流行的应用,http协议并没有 规定必须使用它和(基于)它支持的层。事实上,http可以在任何其他互联网协议上, 或者在其他网络上实现。http只假定(其下层协议提供)可靠的传输,任何能够提供这种 保证的协议都可以被其使用。通常,由http客户端发起一个请求,建立一个到服务器指定端口(默认是80端口) 的tcp连接。http服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服 务器(向客户端)发回一个状态行,比如“http/1200 oku,和(响应的)消息,消息的 消息体可能是请求的文件、错误消息、或者其它一些信息。http使用
18、tcp而不是udp的原因在于(打开)一个网页必须传送很多数据,而tcp 协议提供传输控制,按顺序组织数据,和错误纠正。通过http或者https协议请求的资源由统一资源标示符(uniform resource identifiers) (或者,更准确一些,urls)来标识。协议功能http是超文本传输协议,是客户端浏览器或其他程序与web服务器之间的应用层通 信协议。在internet ±的web服务器上存放的都是超文本信息,客户机需要通过http协议 传输所要访问的超文本信息。http包含 命令和传输信息,不仅可用于web访问,也可以 用于其他因特网/内联网应用系统之i'可
19、的通信,从而实现各类应用资源超媒体访问的集成。当我们想浏览一个网站的时候,只要在浏览器的地址栏里输入网站的地址就可以了,例 如www. * .com,但是在浏览器的地址栏里面出现的却是:http:/www. *,你知道为什 么会多出一个“http”吗?我们在浏览器的地址栏里输入的网站地址叫做url (uniform resource locator,统一资 源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个internet地址。当你 在浏览器的地址框中输入一个url或是单击一个超级链接时,url就确定了要浏览的地址。 浏览器通过超文本传输协议(http),将web服务器上站点的网
20、页 代码提取出来,并翻译成 漂亮的网页。因此,在我们认识http之前,有必要先弄清楚url的组成,例如: http:/www.*.com /china/index.htmo 它的含义如下:l http:/:代表超文本转移协议,通知*.com服务器显示web页,通常不用输入;2. www:代表一个web (万维网)服务器;3*和也com/:这是装有网页的服务器的域名,或站点服务器的名称;4. china/:为该服务器上的子目录,就好像我们的文件夹;5. index.htm: index.htm是文件夹中的一个html文件(网页)。我们知道internet的基本协议是tcp/ip协议,然而在tcp
21、/ip模型最上层的是应用层 (application layer),它包含所有高层的协议。高层协议有:文件传输协议ftp、电子邮件 传输协议smtp、域名系统服务dns、网络新闻传输协议nntp和http协议等。http协议(hypeftext transfer protocol,超文本传输协议)是用于从www服务器传 输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保 证计算机正确快速地传输超文本文档,还确定传输文档屮的哪一部分,以及哪部分内容首 先显示(如文本先于图形)等。这就是你为什么在浏览器中看到的网页地址都是以hup:/开头 的原因。自www诞生以来,一
22、个多姿多彩的资讯和虚拟的世界便出现在我们眼前,可是我们 怎么能够更加容易地找到我们需要的资讯呢?当决定使用超文本作为www文档的标准 格式后,于是在1990年,科学家们立即制定了能够快速查找这些超文本文档的协议,即 http协议。经过几年的使用与发展,得到不断的完善和扩展,目前在www中使用的是 http/1.0的第六版。协议基础http (hypertext transport protocol)是超文本传输协议的缩写,它用于传送www 方式的数据,关于http协议的详细内容请参考rfc2616o http协议采用了请求/响 应模 型。客户端向服务器发送一个请求,请求头包含请求的方法、url
23、、协议版本、以及包含请 求修饰符、客户信息和内容的类似于mime的消息结构。服务器以一个狀态行作为响应, 响应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及 可能的实体内容。通常http消息包扌舌客户机向服务器的请求消息和服务器向客户机的响应消息。这两种 类型的消息由一个起始行,一个或者多个头域,一个指示头域结束的空行和可选的消息体 组成。http的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域 名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格 符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。w/
24、oddws 2000 ad dem诃kqyzqs rea/m = prosewarecomdesktop win2k pro wie >5.0http:#unixsrv1/appa/start.htmunix web server mit keberosv5 gssapirunning spnego token handler code6 extinct irfo via gss api7. gieck access to resotiices imsed on usef id.http结构通用头域通用头域包含请求和响应消息都支持的头域,通用头域包含cache-controk conne
25、ctionx date、pragmas transfer-encodings upgrade> via。对通用头域的扩展要求通讯双方都支持 此扩展,如果存在不支持的通用头域,一般将会作为实体头域处理。下而简单介绍儿个在 upnp消息中使用的通用头域:1 .cache-control 头域cache-control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置 cache-control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括 no-cacheno-store> max-agemax-stalemin-fresh> only-if- cach
26、ed» 响应消息中的指令包 js public、private、no-cache、no-store、no-transform、must- revalidate、proxy-re validate、max 各个消息中的指令含义如下:public指示响应可被任何缓存区缓存。private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务 器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。no-cache指示请求或响应消息不能缓存no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息 都不使用缓存。max-age指示客户机可以
27、接收生存期不大于指定时间(以秒为单位)的响应。min-fresh指示客户机i j以接收响应时间小于当前时间加上指定时间的响应。max-stale指示客户机可以接收超岀超时期间的响应消息。如果指定maxstale消息的值, 那么客户机可以接收超出超时期指定值之内的响应消息。http keep-alivekeep-alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时, keep-alive功能避免了建立或者重新建立连接。市场 上的大部分web服务器,包k iplanet. iis和apache,都支持http keep-aliveo对于提供静态内容的网站来说,这个功能通常很
28、有用。但是,对于负担较重的网站来说,这里存在另外一个问题:虽然为客户保留打开的连 接有一定的好处,但它同样影响了性能,因为在处理暂停期间,本来可以释放的资源仍i口被 占用。当web服务器和应用服务器在同一台机器上运行时,keep- alive功能对资源利用的 影响尤其突出。keepalivetime值控制tcp/ip尝试验证空闲连接是否完好的频率。如果这段时间内没 有活动,则会发送保持活动信号。如果网络工作正常,而且接收方是活动的,它就会响应。 如果需要対丢失接收方敏感,换句话说,需要更快地发现丢失了接收方,请考虑减小这个 值。如果长期不活动的空闲连接出现次数较多,而丢失接收方的情况出现较少,
29、您可能会要 提 高该值以减少开销。缺省情况下,如果空闲连接7200000毫秒(2小时)内没有活动, windows就发送保持活动的消息。通常,1800000毫秒是首选值,从而一半的已关闭连接 会在30分钟内被检测到。keepalivelnterval值定义了如果未从接收方收到保持活动消息 的响应,tcp/ip重复发送保持活动信号的频率。当连续发送保持活动信号、但未收到响应 的次数超出tcpmaxdataretransmissions的值时,会放弃该连接。如果期望较长的响应时间, 您可能需要提高该值以减少开销。如果需要减少花在验证接收方是否已丢失上的时间,请考 虑减小该值或tcpmaxdatar
30、etransmissions值。缺省情况下,在未收到响应而重新发送保持 活动的消息之前,windows会等待1000毫秒(1秒)。keepalivetime根据你的需要设 置就行,比如10分钟,注意要转换成ms。xxx代表这个间隔值得大小。2. date头域date头域表示消息发送的时间,时间的描述格式由rfc822定义。例如,date:mon,31 dec200104:25:57gmto date描述的时间表示世界标准时,换算成木地时间,需 要知道用户所在的时区。3. pragma 头域pragma头域用來包含实现特定的指令,最常用的是pragma:no-cacheo在http/1.1协议
31、屮,它的含义和cache-control:no-cache相同。请求消息请求消息的第一行为下面的格式:methodsprequest-urisphttp-versioncrlfmethod 表 示对于 request-uri 完成的方法, 这个字段是大小写敏感的,包括 options> get、head、post、put、delete> traceo 方法get和head应该被所有的通用web服务器支持,其他所有方法的实现是可选的。 get方法取回由request-uri标识的信息。head方法也是取回由request-uri标识的信息, 只是可以在响应时,不返回消息体。post方
32、法可以请求服务器接收包含在请求中的实体信 息,可以用于提交表单,向新闻组、bbs、邮件群组和数据库发送消息。sp表示空格。request-uri遵循uri格式,在此字段为星号(*)时,说明请求并不用 于某个特定的资源地址,而是用于服务器本身。httpversion表示支持的http版本,例 如为http/l.lo crlf表示换行回车符。请求头域允许客户端向服务器传递关于请求或者 关于客户机的附加信息。请求头域可能包含下列字段accept、accept-charset > accept-encoding> accept-language authorization> from
33、host、ifmodi行edsince、ifmatch、 if-none-match >if- range、if-range> if-unmodified-since、max-forwards、proxy-authorization、 range> referer user-agento对请求头域的扩展要求通讯双方都支持,如果存在不支持的 请求头域,一般将会作为实体头域处理。典型的请求消息:host: download.*.deaccept: */*pragma: no-cachecache-contro上 no-cacheuser-agent: mozilla/4.04en
34、(win95;i;nav)range: bytes=554554-上例第一行表示http客户端(可能是浏览器、下载程序)通过get方法获得指定url 下的文件。棕色的部分表示请求头域的信息,绿色的部分表示通用头部分。1. host头域host头域指定请求资源的intenet主机和端口号,必须表示请求url的原始服务器或网关 的位置。http/1.1请求必须包含主机头域,否则系统会以40()状态码返回。2. referer 头域referer头域允许客户端指定请求uri的源资源地址,这可以允许服务器生成回退链表, 可用来登陆、优化cache等。他也允许废除的或错误的连接由于维护的冃的被追踪。如果
35、 请求的uri没有自己的uri地址,referer不能被发送。如果指定的是部分uri地址,则此地址应该是一个相对地址。3. range 头域range头域可以请求实体的一个或者多个子范围。例如,表示头500个字节:bytes=0-499表示第二个500字节:bytes=500-999表示最后500个字节:bytes=-500表示500字节以后的范围:bytes二500-笫一个和最后一个字节:bytes=0-0,-1同时指定几个范围:bytes=500-600,601 -999但是服务器可以忽略此请求头,如果无条件get包含range请求头,响应会以状态码 206 (partialcontent
36、)返回而不是以 200 (0k)。4. user-agent 头域user-agent头域的内容包含发出请求的用户信息。响应消息响应消息的第一行为下面的格式:http-versionspstatus-codespreason-phrasecrlfhttp-version表示支持的http版本,例如为http/1.1。status- code是一个三个数字 的结果代码。reason-phrase给status-code提供一个简单的文木描述。status-code主要用于 机器自动识别,reason-phrase主要用于帮助用户理解。status-code的第一个数字定义响应 的类别,后两个数字
37、没有分类的作用。第一个数字可能取5个不同的值:lxx:信息响应类,表示接收到请求并且继续处理2xx:处理成功响应类,表示动作被成功接收、理解和接受3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理4xx:客户端错误,客户请求包含语法错误或者是不能正确执行5xx:服务端错误,服务器不能正确执行一个正确的请求响应头域允许服务器传递不能放在状态行的附加信息,这些域主要描述服务器的信息和 request-uri 进一步的信息。响应头域包含 age、location> proxy-authenticaten publicx retry- after server vary> war
38、ningwww-authenticateo对响应头域的扩展要求通讯双方都支 持,如果存在不支持的响应头域,一般将会作为实体头域处理。典型的响应消息:http/1.02000kdate:mon,31dec20()l()4:25:57gmtserver: apache/1.3.14(unix)content-type: text/htmllast-modified:tue, 17apr200106:46:28gmtetag: na030f020ac7c01:1 e9f'content-length:39725426content-range:bytes55:*/40279980上例第一行表
39、示http服务端响应一个get方法。棕色的部分表示响应头域的信息, 绿色的部分表示通用头部分,红色的部分表示实体头域的信息。1 .location 响应头location响应头用于重定向接收者到一个新uri地址。2.server响应头server响应头包含处理请求的原始服务器的软件信息。此域能包含多个产品标识和注释, 产品标识一般按照重要性排序。http-运作方式http协议是基于请求/响应范式的。一个客户机与服务器建立连接后,发送一个请求给 服务器,请求方式的格式为,统一资源标识符、协议版本号,后边是mime信息包括请求 修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,
40、其格式为一 个状态行包插信息的协议版本号、一个成功或错误的代码,后边是mime信息包括服务器 信息、实体信息和可能的内容。许多http通讯是由一个用户代理初始化的并且包括一个申请在源服务器上资源的请 求。最简单的情况可能是在用户代理(ua)和源服务器(0)之间通过一个单独的连接来完成。当一个或多个中介出现在请求/响应链中时,情况就变得复杂一些。中介由三种:代理 (proxy)网关(gateway)和通道(tunnel)。一个代理根据uri的绝对格式來接受请求,重写 全部或部分消息,通过uri的标识把已格式化过的请求发送到服务器。网关是一个接收代 理,作为一些其它服务器的上层,并且如果必须的话,
41、可以把请求翻译给下层的服务器协议。 一个通道作为不改变消息的两个连接之i'可的中继点。当通讯需要通过一个中介(例如:防火 墙等)或者是中介不能识别消息的内容时,通道经常被使用。http运作方式实体请求消息和响应消息都可以包含实体信息,实体信息一般白实体头域和实体组成。实体 头域包含关于实体的原信息,实体头包括allow、content-base、content-encoding、 content-language、content-length、 content-location、content-md5、content-range、 content-type etag、expires&g
42、t; last-modified> extension-header。extension-header 允许客户 端定义新的实体头,但是这些域可能无法被接受方识别。实体可以是一个经过编码的字节 流,它的编码方式由content-encoding或content-type定义,它的长度rh content- length或 content-range 定义。1 .content-type 实体头content-type实体头用于向接收方指示实体的介质类型,指定head方法送到接收方的 实体介质类型,或get方法发送的请求介质类型2.content-range 实体头content-rang
43、e实体头用于指定整个实体屮的一部分的插入位置,他也指示了整个实体 的长度。在服务器向客户返冋一个部分响应,它必须描述响应覆盖的范围和整个实体长度。 一般格式:con tent-range:bytes-unitspfirst-byte-pos-last-byte-pos/entity-legth例如,传送头500个字节次字段的形式:content- range:byteso-499/1234果一个http 消息包含此节(例如,对范韦i请求的响应或对一系列范i韦i的重壳请求),contentrange表 示传送的范围,content-length表示实际传送的字节数。3.last-modified
44、 实体头last-modified实体头指定服务器上保存内容的最后修订时间。例如,传送头500个字节次字段的形式:content- range:byteso-499/1234如果一个hup 消息包含此节(例如,对范围请求的响应或对一系列范围的重叠请求),content- range表 示传送的范围,content-length表示实际传送的字节数。请求方法http/1协议中共定义了八种方法(有时也叫“动作”)来表明request-uri指定的资源的不 同操作方式:options返回服务器针对特定资源所支持的http请求方法。也可以利用向web服务器发送 *的请求来测试服务器的功能性。head向
45、服务器索要与get请求相一致的响应,只不过响应体将不会被返回。这一方法可 以在不必传输整个响应内容的情况下,就可以获収包含在响应消息头中的元信息。get向特定的资源发出请求。注意:get方法不应当被用于产生“副作用”的操作屮,例 如在web application 其川一个原因是get可能会被网络蜘蛛等随意访问。参 见安全方法post向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请 求体中o post请求可能会导致新的资源的创建和/或已有资源的修改。put向指定资源位置上传其最新内容。delete请求服务器删除request-uri所标识的资源。trace回显服务器收
46、到的请求,主要用于测试或诊断。connecthttp/1.1协议中预留给能够将连接改为管道方式的代理服务器。方法名称是区分大小写的。当某个请求所针对的资源不支持对应的请求方法的时候,服务器 应当返回状态码405 (method not allowed);当服务器不认识或者不支持对应的请求方法的 时候,应当返回状态码501 (not implemented)ohttp服务器至少应该实现get和head方法,其他方法都是可选的。当然,所有的方法 支持的实现都应当符合下述的方法各自的语义定义。此外,除了上述方法,特定的http 服务器还能够扩展自定义的方法。协议结构http报文由从客户机到服务器的请
47、求和从服务器到客户机的响应构成。请求报文格式 如下:请求行一通用信息头一请求头一实体头一报文主体请求行以方法字段开始,后面分别是url字段和http协议版本字段,并以crlf 结尾。sp是分隔符。除了在最后的crlf序列中cf和lf是必需的之外,其他都可以 不要。有关通用信息头,请求头和实体头方面的具体内容可以参照相关文件。应答报文格式如下:状态行一通用信息头一响应头一实体头一报文主体状态码元由3位数字组成,表示请求是否被理解或被满足。原因分析是对原文的状态码 作简短的描述,状态码用来支持自动操作,而原因分析用来供用户使用。客户机无需用来检 查或显示语法。有关通用信息头,响应头和实体头方面的具
48、体内容可以参照相关文件。工作原理既然我们明白了 url的构成,那么http是怎么工作呢?我们接下来就要讨论这个问 题。一次http操作称为一个事务,其工作过程可分为四步:首先客户机与服务器需要建立连接。只耍单击某个超级链接,http的工作就开始了。 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(url)、 协议版本号,后边是mime信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本 号、一个成功或错误的代码,后边是mime信息包括服务器信息、实体信息和可能的内容。客户端接收服务器所返回的信息通过浏
49、览器显示在用户的显示屏上,然后客户机与服务 器断开连接。如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,由显示屏 输出。对于用户来说,这些过程是由http自己完成的,用户只要用鼠标点击,等待信息显 示就可以了。许多http通讯是由一个用户代理初始化的并且包插一个申请在源服务器上资源的请 求。最简单的情况可能是在用户代理和服务器z间通过一个单独的连接来完成。在internet 上,http通讯通常发生在tcp/ip连接之上。缺省端口是tcp80,但其它的端口也是可用 的。但这并不预示着http协议在internet或英它网络的其它协议之上才能完成。http只 预示着一个可靠的
50、传输。这个过程就好像我们打电话订货一样,我们可以打电话给商家,告诉他我们需要什么规 格的商品,然后商家再告诉我们什么商品有货,什么商品缺货。这些,我们是通过电话线用 电话联系(http是通过tcp/ip),当然我们也可以通过传真,只要商家那边也有传真。以上简要介绍了 http协议的宏观运作方式,下面介绍一下http协议的内部操作过程。在www中,“客户”与“服务器"是一个相对的概念,只存在于一个特定的连接期间, 即在某个连 接中的客户在另一个连接中可能作为服务器。基于http协议的客户/服务器模 式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。 这就好
51、像上面的例子,我们电话订货的全过程。其实简单说就是任何服务器除了包括html文件以外,还有一个http驻留程序,用 于响应用户请求。你的浏览器是http客户,向服务器发送请求,当浏览器屮输入了一个开 始文件或点击了一个超级链接时,浏览器就向服务器发送了 http请求,此请求被送往由 ip地址指定的url。驻留程序接收到请求,在进行必要的操作后回送所要求的文件。在这 一过程中,在网络上发送和接收的数据已经彼分成一个或多个数据包(packet),每个数据 包包括:要传送的数据;控制信息,即告诉网络怎样处理数据包。tcp/ip决定了每个数据 包的格式。如果事先不告诉你,你可能不会知道信息被分成用于传
52、输和再重新组合起来的 许多小块。也就是说商家除了拥有商品之外,它也有一个职员在接听你的电话,当你打电话的吋候, 你的声音转换成各种复杂的数据,通过电话线传输到对方的电话机,对方的电话机又把各 种复杂的数据转换成声音,使得对方商家的职员能够明白你的请求。这个过程你不需要明 白声音是怎么转换成复杂的数据的。状态消息1xx:信息消息:描述:100 continue服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端 应该继续发送其余的请求。101switchingprotocols服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。2xx:成功消息:描述:200 ok请求成功(其后是
53、对get和post请求的应答文档。)201 created请求被创建完成,同时新的资源被创建。202 accepted供处理的请求已被接受,但是处理未完成。203 non-authoritativeinformation文档已经正常地返回,但一些应答头可能不正确,因为使用的是文 档的拷贝。204 no content没有新文档。浏览器应该继续显示原来的文档。如杲用户定期地刷 新页面,而servlet可以确定用户文档足够新,这个状态代码是很有 用的。205 reset content没有新文档。但浏览器应该重置它所显示的内容。用来强制浏览器 清除表单输入内容。206 partial conten
54、t客户发送了一个带有range头的get请求,服务器完成了它。3xx:重定向消息:描述:300 multiple多重选择。链接列表。用户可以选择某链接到达目的地。最多允许五个地址。choices301movedpermanently所请求的页面已经转移至新的urlo302 found所请求的页面已经临时转移至新的url303 see other所请求的页面可在别的url下被找到。304notmodified未按预期修改文档。客户端有缓冲的文档并发出了一个条件性的请求(一般 是提供if-modified-since头表示客户只想比指定日期更新的文档)。服务器 告诉客户,原来缓冲的文档还可以继续使
55、用。305 use proxy客户请求的文档应该通过location头所指明的代理服务器提取。306 unused此代码被用于前一版本。目前己不再使用,但是代码依然被保留。307 temporaryredirect被请求的页面已经临时移至新的urk4xx:客户端错误消息:描述:400 bad request服务器未能理解请求。401 unauthorized被请求的页面需要用户名和密码。401.1登录失败。401.2服务器配置导致登录失败。401.3由于acl对资源的限制而未获得授权。401.4筛选器授权失败。401.5isapi/cgi应用程序授权失败。401.7访问被web服务器上的url授权策略拒绝。这个错误代码为 iis 6.0所专用。402 payment required此代码尚无法使用。403 forbidden对被请求页面的访问被禁止。403.1执行访问被禁止。403.2读访问被禁止。403.3写访问被禁止。403.4要求sslo403.5要求 ssl 128o403.6ip地址被拒绝。403.7要求客户端证书。403.8站点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 叉车安全作业培训
- 2025域名购买合同范本下载
- 2024年识别管理风险落实主体责任
- 2025标准版劳动合同范本
- 2024年09月河北省承德县招聘县直和卫生系统所属事业单位工作人员50名笔试历年专业考点(难、易错点)附带答案详解
- 2024年09月江苏连云港一四九医院人才招聘笔试历年专业考点(难、易错点)附带答案详解
- 全国消防宣传月消防安全四个能力建设
- 2024年09月江苏南京市第二医院医生助理岗位招聘8人笔试历年专业考点(难、易错点)附带答案详解
- 技能培训电阻电路的等效变换
- 2025工程咨询分包合同范本
- 2025年中学教师资格考试《综合素质》教育教学能力提升教育政策分析试题(含答案)
- 2025-2030中国氯碱行业市场发展分析及发展趋势预测研究报告
- 2025-2030中国建筑智能化工程行业市场发展分析及发展趋势前景研究报告
- 呵护地球家园点亮绿色希望-2025年4月22日第56个世界地球日主题教育班会 高中主题班会优 质课件
- 网络安全问题及其防范措施(基础篇)-国家计算机网络应急中心
- 桥隧工技能鉴定理论资源高级技师模拟考试题含答案
- 2025-2030中国5G基站建设情况及前景趋势与投资研究报告
- 话题10 AI人工智能-2025年中考《英语》高频热点话题写作通关攻略
- 2024年上海市工业技术学校招聘笔试真题
- 2023年4月1日江苏省事业单位统考《综合知识和能力素质》(管理岗客观题)原卷+答案
- 《十万个为什么》整本书阅读-课件-四年级下册语文(统编版)
评论
0/150
提交评论