- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
http协议学习系列-阿蜜果
http 协议学习系列 文:阿蜜果 日期:2009-11-30 1. 基础概念篇 1.1 介绍 HTTP 是Hyper Text Transfer Protocol (超文本传输协议)的缩写。它的发展是万维网协 会(World Wide Web Consortium )和Internet 工作小组IETF (Internet Engineering Task Force ) 合作的结果,(他们)最终发布了一系列的RFC,RFC 1945 定义了HTTP/1.0 版本。其中最著 名的就是RFC 2616。RFC 2616 定义了今天普遍使用的一个版本——HTTP 1.1。 HTTP 协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW 服务器传输 超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证 计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显 示(如文本先于图形)等。 HTTP 是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP 是一个无状态的协议。 1.2 在TCP/IP 协议栈中的位置 HTTP 协议通常承载于TCP 协议之上,有时也承载于TLS 或SSL 协议层之上,这个时候, 就成了我们常说的HTTPS。如下图所示: 默认HTTP 的端口号为80,HTTPS 的端口号为443 。 1.3 HTTP 的请求响应模型 HTTP 协议永远都是客户端发起请求,服务器回送响应。见下图: 这样就限制了使用HTTP 协议,无法实现在客户端没有发起请求的时候,服务器将消息 推送给客户端。 HTTP 协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。 1.4 工作流程 一次HTTP 操作称为一个事务,其工作过程可分为四步: 1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP 的工作开始。 2 )建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符 (URL)、协议版本号,后边是MIME 信息包括请求修饰符、客户机信息和可能的内容。 3 )服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议 版本号、一个成功或错误的代码,后边是MIME 信息包括服务器信息、实体信息和可能的内 容。 4 )客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与 服务器断开连接。 如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏 输出。对于用户来说,这些过程是由HTTP 自己完成的,用户只要用鼠标点击,等待信息显 示就可以了。 1.5 使用Wireshark 抓TCP、http 包 打开Wireshark,选择工具栏上的“Capture ”- “Options”,界面选择如图1 所示: 图1 一般读者只需要选择最上边的下拉框,选择合适的Device,而后点击“Capture Filter ”, 此处选择的是“HTTP TCP port (80 )”,选择后点击上图的“Start ”开始抓包。 图2 例如在浏览器中打开/,抓包如图3 所示: 图3 在上图中,可清晰的看到客户端浏览器(ip 为3)与服务器的交互过程: 1)No1:浏览器(3)向服务器(18 )发出连接请求。此为 TCP 三次握手第一步,此时从图中可以看出,为SYN,seq:X (x=0 ) 2 )No2:服务器 (18 )回应了浏览器 (3)的请求,并要求确认, 此时为:SYN,ACK,此时seq:y (y 为0 ),ACK :x+1 (为1)。此为三次握手的第二步;
文档评论(0)