欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    HTTP协议解析相关知识1948.docx

    • 资源ID:48272996       资源大小:33.88KB        全文页数:10页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    HTTP协议解析相关知识1948.docx

    转HTTTP协议解析析文章来源:网络转载载    点击数:11488      更新时间间:20099-9-114 100:35:27 字体:收藏到: HTTP协协议详解  掌握HTTTP虽然不是是必须的,但但是如果你你知道它的的工作原理理,那么在在学习JSP开发中的的某些知识识就可以易易如反掌了了。一,HTTTP协议详解解之URL篇http(超超文本传输输协议)是是一个基于于请求与响响应模式的的、无状态态的、应用用层的协议议,常基于于TCP的连接方方式,HTTPP1.1版本中给给出一种持持续连接的的机制,绝绝大多数的的Web开发,都是是构建在HTTP协议之上上的Web应用。二、HTTTP协议详解解之请求篇篇 http请请求由三部部分组成,分分别是:请请求行、消消息报头、请请求正文1、请求行行以一个方方法符号开开头,以空空格分开,后后面跟着请请求的URI和协议的的版本,格格式如下:Methhod RRequeest-UURI HHTTP-Verssion CRLFF  其中 Metthod表示请求求方法;Requuest-URI是一个统统一资源标标识符;HTTPP-Verrsionn表示请求求的HTTP协议版本本;CRLF表示回车车和换行(除除了作为结结尾的CRLF外,不允允许出现单单独的CR或LF字符)。请求方法(所所有方法全全为大写)有有多种,各各个方法的的解释如下下:GETT      请求获取Requuest-URI所标识的的资源POOST     在Requuest-URI所标识的的资源后附附加新的数数据HEAAD     请求获取取由Requuest-URI所标识的的资源的响响应消息报报头PUTT      请求服务务器存储一一个资源,并并用Requuest-URI作为其标标识DELLETE   请求服务务器删除Requuest-URI所标识的的资源TRRACE    请求服务务器回送收收到的请求求信息,主主要用于测测试或诊断断CONNNECT 保留将来来使用OPPTIONNS 请求查询询服务器的的性能,或或者查询与与资源相关关的选项和和需求应用用举例:GGET方法:在在浏览器的的地址栏中中输入网址址的方式访访问网页时时,浏览器器采用GET方法向服服务器获取取资源,eg:GGET /formm.htmml HTTTP/11.1 (CRLFF)POST方方法要求被被请求服务务器接受附附在请求后后面的数据据,常用于于提交表单单。eg:POSTT /reeg.jssp HTTTP/ (CRLLF)Accceptt:imaage/ggif,iimagee/x-xxbit,. (CRLLF).HOSST: (CRLFF)Conntentt-Lenngth:22 (CRLFF)Connnecttion:Keepp-Aliive (CRLFF)Cacche-CContrrol:nno-caache (CRLLF)(CCRLF)           /该CRLF表示消息息报头已经经结束,在在此之前为为消息报头头userr=jefffreyy&pwdd=12334  /此行以下下为提交的的数据HEAD方方法与GET方法几乎乎是一样的的,对于HEAD请求的回回应部分来来说,它的的HTTP头部中包包含的信息息与通过GET请求所得得到的信息息是相同的的。利 用这个方方法,不必必传输整个个资源内容容,就可以以得到Requeest-UURI所标识的的资源的信信息。该方方法常用于于测试超链链接的有效效性,是否否可以访问问,以及最最近是否 更新。2、请求报报头后述33、请求正正文(略) 三,HTTTP协议详解解之响应篇篇HTTP响响应也是由由三个部分分组成,分分别是:状状态行、消消息报头、响响应正文11、状态行行格式如下下:HTTPP-Verrsionn Staatus-Codee Reaason-Phraase CCRLF其其中,HTTPP-Verrsionn表示服务务器HTTP协议的版版本;Stattus-CCode表示服务务器发回的的响应状态态代码;Reasson-PPhrasse表示状态态代码的文文本描述。状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:1xx:指示信息-表示请求已接收,继续处理2xx:成功-表示请求已被成功接收、理解、接受3xx:重定向-要完成请求必须进行更进一步的操作4xx:客户端错误-请求有语法错误或请求无法实现5xx:服务器端错误-服务器未能实现合法的请求常见状态代码、状态描述、说明:200 OK      /客户端请求成功400 Bad Request  /客户端请求有语法错误,不能被服务器所理解401 Unauthorized /请求未经授权,这个状态代码必须和ticate报                 /头域一起使用 403 Forbidden  /服务器收到请求,但是拒绝提供服务404 Not Found  /请求资源不存在,eg:输入了错误的URL500 Internal Server Error /服务器发生不可预期的错误503 Server Unavailable  /服务器当前不能处理客户端的请求,一段时间后,                         /可能恢复正常eg:HTTP/1.1 200 OK (CRLF)2、响应报报头后述3、响应正正文就是服服务器返回回的资源的的内容 四,HTTTP协议详解解之消息报报头篇HTTP消消息由客户户端到服务务器的请求求和服务器器到客户端端的响应组组成。请求求消息和响响应消息都都是由开始始行(对于于请求消息息,开始行行就是请求求行,对于于响应消息息,开始行行就是状态态行),消消息报头(可可选),空空行(只有有CRLF的行),消消息正文(可可选)组成成。HTTP消消息报头包包括普通报报头、请求求报头、响响应报头、实实体报头。每一个报头域都是由名字+“:”+空格+值 组成,消息报头域的名字是大小写无关的。1、普通报报头在普通通报头中,有有少数报头头域用于所所有的请求求和响应消消息,但并并不用于被被传输的实实体,只用用于传输的的消息。eeg:Cachhe-Coontrool   用于指定定缓存指令令,缓存指指令是单向向的(响应应中出现的的缓存指令令在请求中中未必会出出现),且且是独立的的(一个消消息的缓存存指令不会会影响另一一个消息处处理的缓存存机制),HTTPP1.0使用的类类似的报头头域为Praggma。请求时的的缓存指令令包括:no-ccachee(用于指指示请求或或响应消息息不能缓存存)、no-sstoree、max-age、max-stalle、min-fressh、only-if-ccacheed;响应应时的缓存存指令包括括:publlic、privvate、no-ccachee、no-sstoree、no-ttranssformm、mustt-revvaliddate、proxxy-reevaliidatee、max-age、s-maaxagee.eg:为了指指示IE浏览器(客客户端)不不要缓存页页面,服务务器端的JSP程序可以以编写如下下:respponsee.sehhHeadder(""Cachhe-Coontrool",""no-ccachee");/ressponsse.seetHeaader("Praagma"","noo-cacche");作用相当当于上述代代码,通常常两者/合用这句代代码将在发发送的响应应消息中设设置普通报报头域:Cachhe-Coontrool:noo-caccheDate普普通报头域域表示消息息产生的日日期和时间间Conneectioon普通报头头域允许发发送指定连连接的选项项。例如指指定连接是是连续,或或者指定“closse”选项,通通知服务器器,在响应应完成后,关关闭连接2、请求报报头请求报报头允许客客户端向服服务器端传传递请求的的附加信息息以及客户户端自身的的信息。常常用的请求求报头AcccepttAcceept请求报头头域用于指指定客户端端接受哪些些类型的信信息。eg:Acceept:imagge/giif,表明客客户端希望望接受GIF图象格式式的资源;Acceept:textt/htmml,表明客客户端希望望接受html文本。Accceptt-ChaarsettAcceept-CCharsset请求报头头域用于指指定客户端端接受的字字符集。eg:Acceept-CCharsset:iiso-88859-1,gbb23122.如果在请请求消息中中没有设置置这个域,缺缺省是任何何字符集都都可以接受受。Acccept-EncoodinggAcceept-EEncodding请求报头头域类似于于Acceept,但是它它是用于指指定可接受受的内容编编码。eg:Acceept-EEncodding:gzipp.defflatee.如果请求求消息中没没有设置这这个域服务务器假定客客户端对各各种内容编编码都可以以接受。AAcceppt-LaanguaageAccceptt-Lannguagge请求报头头域类似于于Acceept,但是它它是用于指指定一种自自然语言。eg:Acceept-LLanguuage:zh-ccn.如果果请求消息息中没有设设置这个报报头域,服服务器假定定客户端对对各种语言言都可以接接受。AuuthorrizattionAAuthoorizaationn请求报头头域主要用用于证明客客户端有权权查看某个个资源。当当浏览器访访问一个页页面时,如如果收到服服务器的响响应代码为为401(未授权权),可以以发送一个个包含Authhorizzatioon请求报头头域的请求求,要求服服务器对其其进行验证证。Hosst(发送请请求时,该该报头域是是必需的)Host请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的,eg:我们在浏览器中输入:http:/浏览器发送的请求消息中,就会包含Host请求报头域,如下:Host:此处使用缺省端口号80,若指定了端口号,则变成:Host:n:指定端口号User-Agent我 们上网登陆论坛的时候,往往会看到一些欢迎信息,其中列出了你的操作系统的名称和版本,你所使用的浏览器的名称和版本,这往往让很多人感到很神奇,实际 上,服务器应用程序就是从User-Agent这个请求报头域中获取到这些信息。User-Agent请求报头域允许客户端将它的操作系统、浏览器和其它 属性告诉服务器。不过,这个报头域不是必需的,如果我们自己编写一个浏览器,不使用User-Agent请求报头域,那么服务器端就无法得知我们的信息 了。请求报头举例:GET /form.html HTTP/1.1 (CRLF)Accept:image/gif,image/x-xbitmap,image/jpeg,application/x-shockwave-flash,application/vnd.ms-excel,application/vnd.ms-powerpoint,application/msword,*/* (CRLF)Accept-Language:zh-cn (CRLF)Accept-Encoding:gzip,deflate (CRLF)If-Modified-Since:Wed,05 Jan 2007 11:21:25 GMT (CRLF)If-None-Match:W/"80b1a4c018f3c41:8317" (CRLF)User-Agent:Mozilla/4.0(compatible;MSIE6.0;Windows NT 5.0) (CRLF)Host: (CRLF)Connection:Keep-Alive (CRLF)(CRLF)3、响应报报头响应报报头允许服服务器传递递不能放在在状态行中中的附加响响应信息,以以及关于服服务器的信信息和对Requuest-URI所标识的的资源进行行下一步访访问的信息息。常用的的响应报头头LocaationnLocaationn响应报头头域用于重重定向接受受者到一个个新的位置置。Locaationn响应报头头域常用在在更换域名名的时候。ServerServer响应报头域包含了服务器用来处理请求的软件信息。与User-Agent请求报头域是相对应的。下面是Server响应报头域的一个例子:Server:Apache-Coyote/1.1e响应报头域必须被包含在401(未授权的)响应消息中,客户端收到401响应消息时候,并发送Authorization报头域请求服务器对其进行验证时,服务端响应报头就包含该报头域。eg: realm="Basic Auth Test!"  /可以看出服务器对请求资源采用的是基本验证机制。4、实体报报头请求和和响应消息息都可以传传送一个实实体。一个个实体由实实体报头域域和实体正正文组成,但但并不是说说实体报头头域和实体体正文要在在一起发送送,可以只只发送实体体报头域。实实体报头定定义了关于于实体正文文(eg:有无实实体正文)和和请求所标标识的资源源的元信息息。常用的的实体报头头Conttent-EncoodinggConttent- Enccodinng实体报头头域被用作作媒体类型型的修饰符符,它的值值指示了已已经被应用用到实体正正文的附加加内容的编编码,因而而要获得Conttent-Typee报头域中中所 引用的媒媒体类型,必须采用相应的解码机制。Content-Encoding这样用于记录文档的压缩方法,eg:Content- Encoding:gzipContent-LanguageContent-Language实体报头域描述了资源所用的自然语言。没有设置该域则认为实体内容将提供给所有的语言阅读者。eg:Content-Language:daContent-LengthContent-Length实体报头域用于指明实体正文的长度,以字节方式存储的十进制数字来表示。Content-TypeContent-Type实体报头域用语指明发送给接收者的实体正文的媒体类型。eg:Content-Type:text/html;charset=ISO-8859-1Content-Type:text/html;charset=GB2312Last-ModifiedLast-Modified实体报头域用于指示资源的最后修改日期和时间。ExpiresExpires 实体报头域给出响应过期的日期和时间。为了让代理服务器或浏览器在一段时间以后更新缓存中(再次访问曾访问过的页面时,直接从缓存中加载,缩短响应时间和 降低服务器负载)的页面,我们可以使用Expires实体报头域指定页面过期的时间。eg:Expires:Thu,15 Sep 2006 16:23:12 GMTHTTP1.1的客户端和缓存必须将其他非法的日期格式(包括0)看作已经过期。eg:为了让浏览器不要缓存页面,我们也可以利用Expires实体报头域,设置为0,jsp中程序如下:response.setDateHeader("Expires","0");五,利用ttelneet观察http协议的通通讯过程实验目的及及原理:利利用MS的telnnet工具,通通过手动输输入http请求信息息的方式,向向服务器发发出请求,服服务器接收收、解释和和接受请求求后,会返返回一个响响应,该响响应会在telnnet窗口上显显示出来,从从而从感性性上加深对对http协议的通通讯过程的的认识。实验步骤:1、打开ttelneet1.11 打开telnnet运行->ccmd->tellnet1.2 打打开telnnet回显功能能set locaalechho2、连接服服务器并发发送请求22.1 oopen 80   /注意端口口号不能省省略    HHEAD /inddex.aasp HHTTP/1.0     HHost:       /*我们可以以变换请求求方法,请求桂林林电子主页页内容,输入消息息如下*/     opeen 880          GETT /inndex.asp HTTPP/1.00  /请求资源源的内容     HHost:   2.2 oopen 80   /在命令提提示符号下下直接输入入telnnet 80     HEEAD /indeex.assp HTTTP/11.0     Hoost:  3 实验结结果:3.1 请请求信息2.1得到的响应应是:HTTP/1.1 200 OK                                                         /请求成功功Servver: Micrrosofft-IIIS/5.0                                             /wweb服务器Daate: Thu,08 MMar 22007007:177:51 GMTCConneectioon: KKeep-Alivve                                         Coontennt-Leengthh: 233330CConteent-TType: texxt/httmlExxpriees: TThu,008 Maar 20007 007:166:51 GMTSSet-CCookiie: AASPSEESSIOONIDQQAQBQQQQB=BEJCCDGKAADEDJJKLKKKAJEOOIMMHH; paath=/Cachhe-coontrool: pprivaate/资源内内容省略3.2 请请求信息2.2得到的响响应是:HTTP/1.0 404 Not Founnd        /请求失败Daate: Thu, 08 Mar 20077 07:50:550 GMMTSerrver: Apaache/2.0.54 <<Unixx>Lasst-Moodifiied: Thu, 30 Nov 20066 11:35:441 GMMTETaag: ""62777a-4115-e77c769980"AAcceppt-Raangess: byytesXX-Powweredd-By: modd_xlaayoutt_jh/0.0.1vhss.marrkII.remiixVarry: AAcceppt-EnncodiingCoontennt-Tyype: textt/htmmlX-CCachee: MIISS ffrom zjm1152-778.siina.ccom.ccnVia: 1.0 zjm1152-778.siina.ccom.ccn:800<squuid/22.6.SSTABLLES-2200611207>>X-Caache: MISSS frrom tth-1443.siina.ccom.ccnConnnecttion: cloose失去了跟主主机的连接接按任意键继继续.4 .注意意事项:1、出现输输入错误,则则请求不会会成功。             2、报头域域不分大小小写。            3、更深一一步了解HTTP协议,可以以查看RFC22616,在c上找到该该文件。             4、开发后后台程序必必须掌握http协议

    注意事项

    本文(HTTP协议解析相关知识1948.docx)为本站会员(you****now)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开