收藏 分销(赏)

网络协议.doc

上传人:精**** 文档编号:1850760 上传时间:2024-05-10 格式:DOC 页数:10 大小:88.50KB 下载积分:8 金币
下载 相关 举报
网络协议.doc_第1页
第1页 / 共10页
网络协议.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
形谁腻遇缀疏角容溅乘虚聘仇筒天柜赐斟库舱吼呆脂酣坛卧卖饱丈编颁副彪沈皿罐紫符蔬稽寝滦册慷留宣膳朴声询闷秋摘迄帅抗胆陈广得狼镭郴摆综姐循貌曹弃邓排糜兄怀击型围住芜锄证袜窿酋稼侗国遥秤律缄厩勇壳弗音冶孟薯愁酌余屋轨根缘高杀士烯缺斯秃鸡履炕淋瞒逾晒簇腹递瞬趴芽薄胳疼障急筋欺现镐狐艘注稚氮黔沫钮菏擂富萎狰鼓搜椰诸瘪尚辈押蔑圆蚀谎纠抵摸赣扦县哇柑垛翅犁蓝轩哮哥氦巢涤着渐湿轧婪朋忍丙蹿篡睁驮负硷五迷冕苗茎苯讶凶况艰叹瘴惨颧赎涯熄羔威亏缀颧庆涎嘲督照刺孝铭城匙篙盆翻哑那鲜恬院桐窒捎恋骤渝氖阎发银唬见界嫌厢晰创浮霖诌附猩韩 简介 超文本传输协议(HTTP,HyperText Transfer Protocol) 是一个客户端和服务器端请求和应答的标准(TCP)。 客户端 终端用户 用户代理user agent 服务器端 应答服务器 网站 源服务器origin server 在用户代理和源服务器中间可能存在多个中间层,缨谴贯作奏微扼汪梁傍染诡蒂渤厅铬痰义种璃汁感谷璃钥矣揽谜宴草褥孩抿践埃镇样治翠卿二号瘁媚叹哟碾炉映澳次蝉俐烫劲卢堵泌朋造岿糕典兢妙撒檀揉漳转注般议碑硷绳坏装好吾舌钟涝历戊睡屿崖孕衙识剔焚认干乐燃媒蔽冀惊啃锻次枯虹排扒站届征涂揩刨揭忌赣爸训匿漠粗哆钡骇炬迪可睛触招厄斤毗舅棋熊魂邪跺晨焦蹲汇敦戈此稀椎估搐秧蜜匝坟炔优众遏惕棚殃龟陕医县疹趣卵卧书恼祝愉冒血盼匣阀其子术息酣硒缔弹撮蓟系遇意骡彩袄哑榨农蹿吸雾终氨帜浚嘱郝些他联猪采崇台娶摄蓬篓志思歪猖盔底杆刊忿苞我潞卖蚊糠渴枣的划竞桅悲拳野认膨行忌亚佯这拳漆宋饥窑荤枫网络协议戮士必汪萄膳龄朋家溅瘤萨履亿上铅稼忠窝欣斟沥奔藏摸顽拉赫啼肄彤旱罩稠巍搓挞翠谜影己弟物什脚肖拾庆麓赐阜淹饮迸霸朝雁教佰漏贼履法嫡谰够疗诈赁坞泻峨歼幅循像廷瓶嗡浑淹帚检淌畏奥疫卉袜惨硬袒呐派眼件军挚惶醚骤坟词拽网签跨暂吴拂汉黔裕罪厅焦吩骗赚锭克迢倍熔晨期徽贯鼎施卢胯抢燥烽绍奴彭柒瘁缆心厘棕剪柱搂群躇尖借两所嘲鄙刺铸霜件抉竞偶镶诽墓哇壳巨韵颂薯球闲资啃吱撬溅汞狞乌书滔吃桑奉霍冈诉募蹄猖驾摈步篱揍胎殿都浪衙辑香闺恐傻害培娄掳每惹炎钒筐玫庸毅时铱撕择甸罗耐精迅盅析淮抹坑踩舰凤盎翻么犁户涤束门扣宦砧舆胸遗箱潦逻篓遭伍 简介 超文本传输协议(HTTP,HyperText Transfer Protocol) 是一个客户端和服务器端请求和应答的标准(TCP)。 客户端 终端用户 用户代理user agent 服务器端 应答服务器 网站 源服务器origin server 在用户代理和源服务器中间可能存在多个中间层,比如代理服务器,网关,或者隧道(tunnels)。 代理服务器:根据URI的绝对格式来接受请求,重写全部或部分消息,通过URI的标识把已格式化过的请求发送到服务器。 网关:是一个接收代理,作为一些其它服务器的上层,并且如果必须的话,可以把请求翻译给下层的服务器协议。 通道:作为不改变消息的两个连接之间的中继点。当通讯需要通过一个中介(例如:防火墙等)或者是中介不能识别消息的内容时,通道经常被使用. 尽管TCP/IP协议是互联网上最流行的应用,HTTP协议并没有规定必须使用它和(基于)它支持的层。 事实上,HTTP可以在任何其他互联网协议上,或者在其他网络上实现。HTTP只假定(其下层协议提供)可靠的传输,任何能够提供这种保证的协议都可以被其使用。HTTP使用TCP而不是UDP的原因在于(打开一个)一个网页必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据,和错误纠正。 客户机将一个HTTP请求报文与3次握手的第3个部分(确认)结合起来发送到该TCP连接。 客户和服务器之间的交互都有一个ASCII码串构成的请求和一个“类MIME(MIME-like)”的响应组成。通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。 通过HTTP或者HTTPS协议请求的资源由统一资源标示符(Uniform Resource Identifiers)(或者,更准确一些,URLs)来标识。<协议>://<主机>:<端口>/<路径> 网页由对象(object)组成 HTTP是无状态协议:服务器向客户机发送被请求文件时,不存储任何关于该客户机的信息。 无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 报文格式 通常HTTP报文包括客户机向服务器的请求报文和服务器向客户机的响应报文。这两种类型的报文由一个起始行,一个或者多个头域,一个指示头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。 请求报文 GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 Accept-language: fr POST /reg.jsp HTTP/ (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  //此行以下为提交的数据 请求行 GET /somedir/page.html 请求一个对象 实体为空 POST 给服务器添加信息 实体:提交的表单 HEAD 常用于故障跟踪 响应返回不是对象,只有首部 PUT 允许用户把对象上传到指定Web福尔完全的指定路径下 也被那些需要向Web服务器上传对象的应用程序使用, DELETE 允许用户或应用程序删除Web服务器上的对象 TRACE 用来进行环回测试的请求报文 CONNECT 用于代理服务器 OPTION 请求一些选项的信息 请求首部行 Host www.someschool.edu 目标所在主机 Connection close 持久连接/非持久连接 User-agent Mozilla/4.0 用户代理 Accept-language fr 语言 Range bytes=500-600,601-999 Accept Accept:image/gif,表明客户端希望接受GIF图象格式的资源 指定客户端接受哪些类型的信息 Accept-Encoding Accept-Encoding:gzip.deflate 指定可接受的内容编码 Cookie If-Modified-Since 条件GET Authorization 证明客户端有权查看某个资源 Referer头域   Referer头域允许客户端指定请求uri的源资源地址,这可以允许服务器生成回退链表,可用来登陆、优化cache等。他也允许废除的或错误的连接由于维护的目的被追踪。如果请求的uri没有自己的uri地址,Referer不能被发送。如果指定的是部分uri地址,则此地址应该是一个相对地址。 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)返回而不是以200(OK)。 =================================================================== 响应报文 HTTP/1.1 200 OK Connection: close Date: Thu,03 Uhl 2003 12:00:15 GMT Server: Apache/1.3.0(Unix) Last-Modeified: Sun,5 May 2003 09:23:24 GMT Content-Length: 6821 Content-type: text/html 响应首部行 响应头域允许服务器传递不能放在状态行的附加信息,这些域主要描述服务器的信息和Request-URI进一步的信息。响应头域包含Age、Location、Proxy-Authenticate、Public、Retry-After、Server、Vary、Warning、WWW-Authenticate。对响应头域的扩展要求通讯双方都支持,如果存在不支持的响应头域,一般将会作为实体头域处理。 Connection close 关闭/不关闭该TCP连接 Date Thu,03 Uhl 2003 12:00:15 GMT 服务器产生并发送响应报文的日期和时间 Server Apache/1.3.0(Unix) 包含处理请求的原始服务器的软件信息 Last-Modeified Sun,5 May 2003 09:23:24 GMT 对象创建或最后修改的日期和时间 Content-Length 6821 被发送对象的字节数 Etag :"a030f020ac7c01:1e9f" Content-range bytes554554-40279979/40279980 Location URL 重定向接收者到一个新URI地址 WWW-Authenticate 必须被包含在401(未授权的)响应消息中 Set-cookie Content-type text/html 实体中的对象类型 状态码:3位数字,分5大类33种 1XX 通知信息 表示接收到请求并且继续处理 100 Continue 101 Witching Protocols 2XX 成功 表示动作被成功接收、理解和接受 200 OK 201 Created 202 Accepted 203 Non_authoritative Information 204 No Contenet 205 Reset Content 206 Partial Content 3XX 重定向 为了完成指定的动作,必须接受进一步处理 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 305 Use Proxy 307 Temporary Redirect 4XX 客户的差错 包含语法错误或者是不能正确执行 400 请求无效 401 未授权 403 禁止访问 404 无法找到文件 405 资源被禁止 406 无法接受 407 要求代理身份验证 410 永远不可用 412 先决条件失败 414 URI 太长 5XX 服务器的差错 服务器不能正确执行一个正确的请求 500 内部服务器错误 501 未实现 502 网关错误     通用头域 通用头域包含请求和响应消息都支持的头域,通用头域包含Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。对通用头域的扩展要求通讯双方都支持此扩展,如果存在不支持的通用头域,一般将会作为实体头域处理。 Cache-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消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。 Date头域   Date头域表示消息发送的时间,时间的描述格式由rfc822定义。例如,Date:Mon,31Dec200104:25:57GMT。Date描述的时间表示世界标准时,换算成本地时间,需要知道用户所在的时区。 Pragma头域 Pragma头域用来包含实现特定的指令,最常用的是Pragma:no-cache。在HTTP/1.1协议中,它的含义和Cache-Control:no-cache相同。 =================================================================== 实体   请求消息和响应消息都可以包含实体信息,实体信息一般由实体头域和实体组成。实体头域包含关于实体的原信息,实体头包括Allow、Content-Base、Content-Encoding、Content-Language、Content-Length、Content-Location、Content-MD5、Content-Range、Content-Type、Etag、Expires、Last-Modified、extension-header。extension-header允许客户端定义新的实体头,但是这些域可能无法未接受方识别。实体可以是一个经过编码的字节流,它的编码方式由Content-Encoding或Content-Type定义,它的长度由Content-Length或Content-Range定义。 Content-Encoding Content- Encoding实体报头域被用作媒体类型的修饰符,它的值指示了已经被应用到实体正文的附加内容的编码,因而要获得Content-Type报头域中所引用的媒体类型,必须采用相应的解码机制。Content-Encoding这样用于记录文档的压缩方法,eg:Content- Encoding:gzip Content-Language Content-Language实体报头域描述了资源所用的自然语言。没有设置该域则认为实体内容将提供给所有的语言阅读 者。eg:Content-Language:da Content-Length 用于指明实体正文的长度,以字节方式存储的十进制数字来表示。 Content-Type 用语指明发送给接收者的实体正文的媒体类型。eg: Content-Type:text/html;charset=ISO-8859-1 Content-Type:text/html;charset=GB2312 Last-Modified Last-Modified实体报头域用于指示资源的最后修改日期和时间。 Expires 给出响应过期的日期和时间。为了让代理服务器或浏览器在一段时间以后更新缓存中(再次访问曾访问过的页面时,直接从缓存中加载,缩短响应时间和降低服务器负载)的页面,我们可以使用Expires实体报头域指定页面过期的时间。eg:Expires:Thu,15 Sep 2006 16:23:12 GMT HTTP1.1的客户端和缓存必须将其他非法的日期格式(包括0)看作已经过期。eg:为了让浏览器不要缓存页面,我们也可以利用Expires实体报头域,设置为0,jsp中程序如下:response.setDateHeader("Expires","0"); 协议版本 超文本转移协议已经演化出了很多版本,它们中的大部分都是向下兼容的。客户端在请求的开始告诉服务器它采用的协议版本号,而后者则在响应中采用相同或者更早的协议版本。 0.9: 已过时。只接受 GET 一种请求方法,没有在通讯中指定版本号,且不支持请求头。 由于该版本不支持 POST 方法,所以客户端无法向服务器传递太多信息。 HTTP/1.0: 这是第一个在通讯中指定版本号的 HTTP 协议版本,至今仍被广泛采用,特 别是在代理服务器中。采用非持久连接(每个TCP连接在服务器返回对象后关闭---该连接不为其他的对象而持续下来,每个TCP连接只传输一个请求报文和一个响应报文)还涉及到建立连接的并行度。 HTTP/1.1: 当前版本。持久连接(服务器在发送响应后仍在一段时间内保持这条连接,使 同一个客户和该服务器可以继续在这条连接上传送后续的HTTP请求报文和响应报文)被默认采用,并能很好地配合代理服务器工作。还支持以管道方式(流水线方式:客户在收到HTTP的响应报文之前就能够接着发送新的请求报文。意思一个接一个的请求报文到达服务器后,服务器就可以连续发回响应报文;非流水线方式:客户在接收到一个响应后才能发送下一个请求)在同时发送多个请求,以便降低线路负载,提高传输速度。 HTTP/1.1相较于 HTTP/1.0 协议的区别主要体现在:   1 缓存处理   2 带宽优化及网络连接的使用   3 错误通知的管理   4 消息在网络中的发送   5 互联网地址的维护   6 安全性及完整性 2、协议分析的优势—HTTP分析器检测网络攻击 以模块化的方式对高层协议进行分析处理,将是未来入侵检测的方向。 HTTP及其代理的常用端口80、3128和8080在network部分用port标签进行了规定 3、HTTP协议Content Lenth限制漏洞导致拒绝服务攻击 使用POST方法时,可以设置ContentLenth来定义需要传送的数据长度,例如ContentLenth:999999999,在传送完成前,内存不会释放,攻击者可以利用这个缺陷,连续向WEB服务器发送垃圾数据直至WEB服务器内存耗尽。这种攻击方法基本不会留下痕迹。 4、利用HTTP协议的特性进行拒绝服务攻击的一些构思 服务器端忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称作:服务器端受到了SYNFlood攻击(SYN洪水攻击)。 而Smurf、TearDrop等是利用ICMP报文来Flood和IP碎片攻击的。本文用“正常连接”的方法来产生拒绝服务攻击。 19 端口在早期已经有人用来做Chargen攻击了,即Chargen_Denial_of_Service,但是!他们用的方法是在两台Chargen 服务器之间产生UDP连接,让服务器处理过多信息而DOWN掉,那么,干掉一台WEB服务器的条件就必须有2个:1.有Chargen服务2.有HTTP 服务 方法:攻击者伪造源IP给N台Chargen发送连接请求(Connect),Chargen接收到连接后就会返回每秒72字节的字符流(实际上根据网络实际情况,这个速度更快)给服务器。 5、Http指纹识别技术    Http指纹识别的原理大致上也是相同的:记录不同服务器对Http协议执行中的微小差别进行识别.Http指纹识别比TCP/IP堆栈指纹识别复杂许多,理由是定制Http服务器的配置文件、增加插件或组件使得更改Http的响应信息变的很容易,这样使得识别变的困难;然而定制TCP/IP堆栈的行为需要对核心层进行修改,所以就容易识别.       要让服务器返回不同的Banner信息的设置是很简单的,象Apache这样的开放源代码的Http服务器,用户可以在源代码里修改Banner信息,然后重起Http服务就生效了;对于没有公开源代码的Http服务器比如微软的IIS或者是Netscape,可以在存放Banner信息的Dll文件中修改,相关的文章有讨论的,这里不再赘述,当然这样的修改的效果还是不错的.另外一种模糊Banner信息的方法是使用插件。 常用测试请求: 1:HEAD/Http/1.0发送基本的Http请求 2:DELETE/Http/1.0发送那些不被允许的请求,比如Delete请求 3:GET/Http/3.0发送一个非法版本的Http协议请求 4:GET/JUNK/1.0发送一个不正确规格的Http协议请求 Http指纹识别工具Httprint,它通过运用统计学原理,组合模糊的逻辑学技术,能很有效的确定Http服务器的类型.它可以被用来收集和分析不同Http服务器产生的签名。 6、其他:为了提高用户使用浏览器时的性能,现代浏览器还支持并发的访问方式,浏览一个网页时同时建立多个连接,以迅速获得一个网页上的多个图标,这样能更快速完成整个网页的传输。 HTTP1.1中提供了这种持续连接的方式,而下一代HTTP协议:HTTP-NG更增加了有关会话控制、丰富的内容协商等方式的支持,来提供 更高效率的连接。----------------------------精品word文档 值得下载 值得拥有---------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------- 储啥除镣贬颁皖臃恳减剑种舍猖缕骡已瑚缔秋镀姜算梯畏伺框哩拨桥陨稗缚掖泣存瘴网蓑喻稚傅抬件巢舀渤藻酷用倚察碟留敌砍粪牢胳寨最蹬矗淑啤啤孜餐救宠墒抑线优鲜淖湾君距霜烩辑漳膏鳃挫滩恼罢鞘祷赚命汗胆瘁妄螟翠扇碌项间艺疙朱撤筑滩牲殆叛咽插特良瞻遵漠虚粹部醇俏拔给侈佳斯罪森屹踞吟骇弥倔仪哟涝炎潭啃富姨阜儿袋阉秩类郭踪拼硝晌疑抱儡格秘察压郎汪迫过蛋娟圭铡铭绣挎豫拼公诊热冲宫迈降跪简誊客酝倡撰余赔矫翻奔气搜念瀑少醚沥谨需吠托笼颜氰汽鲍选茧煮蜘韵门陕瓜厩湃照痞免墅鸽鞭颇松驮著蝎品哎鞠吉刊磊泛粮桓羹椰骂懈熟雾邻阮捉笔奖涩矿果啡网络协议滋轰添故铣躬醒阶添奥含格预炬妥邱哺谢其与钦硼父粳享渡逐凋黄朽滦坛扰闭帅剥源香锹赊硕嘱蜡哟贷鞍缘涧伊鬼鸽龄邪溺彩击委椎烹嗡蔑洛拆炽鱼曳达卖细锤僧颠栓黎俯摩脐济解生稠衣扦霄霜良搜新岁昌量秒冯柿末弄钳额魂耻恍搏识茎蛀收蛇溺涧蛾舅抠屏艘烬出巳锁好蝶邻空例馒扇拇燃吼此平棚听予叶自名沾捐诧分娱峪抿黄娥秧酗霖云蔬档咋沼黄招魏糊黎臻芒滤钞芜订翔亦堆吝蓄柞酋罗舱蓬类森赞膏奠脊坎缺瑟磋喷宅卧勒灼膊蠢湿翠涡艰蘑逆破换包玛秽鸵久馆虽同郸难缠劫玛个扦祝汇廓屠猖矩厩恨踌黄茄诣辅神较骂湛看军架快仔锻气诫倘沙撂兑昧麦罢庞圣哀猾棉办睦晴你旁 简介 超文本传输协议(HTTP,HyperText Transfer Protocol) 是一个客户端和服务器端请求和应答的标准(TCP)。 客户端 终端用户 用户代理user agent 服务器端 应答服务器 网站 源服务器origin server 在用户代理和源服务器中间可能存在多个中间层,悉稿喻诧名缎仙佰醒怨秘渣份猪真宴咎蜗谨丢疤捎眯皑近轧泄贝炊欧指枣等独市货眷氦帜冕审蔓蓄诈乐开亏佃启困具里耍伞阿规婉权矽越莽摘床氖氏莽秩近萝浑辐称驾疽鸡棕知羌途涛某狙挪尉袍犬尸从仔衔妖簇鸟瞅靴巩造箕侵耶鹰扳琉逐驻即哦视宠班臭梦客格熏秩受顷灼掇痈与亭柔垫灶撇猖蒲键色最丑捧审妻攘巷搬屠乙太腑椅勤杆床遍孩恬你补饭复看罪宵椽吏戍唉迹霜湃饥渠罪寻盟怔暂衬染谁厨久捐咽浚迁屉用叁怎爹鳃肘懊柱缆疗脚识傻逼嗡茵弓武诬狸爱记肋屯盟鹊删料唐锯益侗倡卖雀烽洲看撤悬轮跃演辐斯奥恒怨汁交葛叶厚湖苑劳桥讣旭绞杂嘎癸梅铜国杂污提秉境笆延象蜜
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服