- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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)。此为三次握手的第二步;
3)No3:浏览器(3)回应了服务器(18)的确认,连接成功。
为:ACK,此时 seq:x+1(为 1),ACK:y+1(为 1)。此为三次握手的第三步;
4)No4:浏览器(3)发出一个页面 HTTP 请求;
5)No5:服务器(18)确认;
6)No6:服务器(18)发送数据;
7)No7:客户端浏览器(3)确认;
8)No14:客户端(3)发出一个图片 HTTP 请求;
9)No15:服务器(18)发送状态响应码 200 OK
……
1.6 常见头域
每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可
以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制
表符。
在抓包的图中,No14 点开可看到如图 4 所示:
图 4
回应的消息如图 5 所示:
图 5
1.6.1 ho
您可能关注的文档
最近下载
- 教学课件 园林苗木生产与经营.ppt
- 数字万用表-(34450A)-用户指南.pdf VIP
- 电路基础:三相电源的产生.pptx VIP
- GB50797-2012 光伏发电站设计规范.pdf VIP
- 煤矿避难硐室使用方法及注意事项.pptx VIP
- 项目进度计划的作用.docx VIP
- 四川省成都市新都区新都一中学实验学校2024−2025学年上学期新七年级分班(奖学金)模拟 数学提高试题(含解析).docx VIP
- 纪检监察审查调查工作实务.pptx VIP
- 拆除旧设备施工工艺.docx VIP
- 2025福建福州首邑产业投资集团有限公司(第一次)招聘18人笔试参考题库附答案解析.docx VIP
文档评论(0)