- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WEBServer工作原理及其应用编程方法
Cfgdemo项目分析Created by Qianyong
- PAGE 5 -
Cfgdemo项目分析
WEB Server工作原理及其应用编程方法
说到WEB Server,就不能不提到HTTP协议
HTTP是Hyper Text Transfer Protocol的缩写,中文译称超文本传输协议。它和FTP协议一样,都是基于TCP的应用层协议,但它们服务器端使用的端口号不一样:通常情况下,FTP使用的端口号是20(数据链接)、21(控制链接),而HTTP使用的端口号是80。HTTP协议是一个采用的请求/响应模型的协议。HTTP协议最典型的应用是在WEB服务器和WEB浏览器之间传递数据。
下面举个例子来说明WEB浏览器和WEB服务器之间的交互过程:
1)网络环境
附注:服务器端包括两个文件:index.html和tibug.gif
2)建立链接
在HTTP Client(WEB浏览器IE)和HTTP Server(WEB服务器)进行数据传递的之前,需要在两者之间建立一个TCP链接,用于在两者之间传输HTTP报文。
当我们在IE的地址栏里输入:4\index.html并回车时,可以用软件sniffer捕获H1和H2之间的传输数据。在分析报文数据之前,我们先来分析一下它的含义:
http://: 代表超文本传输协议,一般情况下不用输入(默认的)
4: 代表WEB服务器的地址(http://已暗示服务器端端口号为80)
\index.html: 代表根目录下的网页文件
因此这句话的含义就是获取服务器上4:80根目录下的index.html文件。
用sniffer捕获到的前三个包分析结果如下:
序号
源端地址
目的地址
包内容
备注
1
5:1903
4:80
SYN
同步
2
4:80
5:1903
SYN+ACK
同步+应答
3
5:1903
4:80
ACK
应答
由此可见这三个TCP包是用来并成功地在HTTP Client(临时端口1903)和HTTP Server(固定端口80)之间建立一个TCP链接。
3)提交获取index.html文件的请求
建立好链接之后,客户端会向服务器端发一个HTTP报文来请求获取index.html文件,用sniffer捕获的结果如下:
从该报文的TCP报头可知该HTTP报文大小为364字节,从HTTP报头可以看出该HTTP报文仅仅含有HTTP包头,而没有数据。HTTP报头分为8行,每行以回车-换行符(CRLF -\r\n)结束。其中第一行称为Request-Line,HTTP协议为它定义了一个具体的语法格式:
Method Request-URI HTTP/1.1 CRLF
这里,Method=GET、Request-RUI=/index.html(/和/index.html一样),服务器端处理这样的Request-Line时会解释为客户端请求获取服务器根目录下的index.html文件。第2-7行一起称为一个Header,其中每一行称为一个头域,每一个头域又由域名、冒号和域值三个部分组成,它们是用来告诉服务器一些与客户端相关的信息,让服务器据此来做一些决策。最后一行由回车-换行符组成。
接下来,我应该注意到TCP包头中PUSH位置1了,表示客户端要求服务器端尽快把这个包交给应用层,这时,服务器端向客户端发送一个应答,表示服务器端已经这个报文交给了应用层去处理。用sniffer捕获到的前三个包分析结果如下:
序号
源端地址
目的地址
包内容
备注
5
4:80
5:1903
ACK
应答
4)获取index.html文件
接下来服务器端就向客户端传输index.html文件。由于index.html文件的大小为3078字节,而TCP包最大的数据容量也就1460(1460=1500-20-20,HTTP包的最大数据容量比1460还要小,因为还要扣除HTTP包头),因此,要分多个TCP包才能完成此文件的传输。使用sniffer捕获的结果如下(只截取了HTTP包头部分):
从这里可以看出,服务器端的数据是分三次传送到客户端的,TCP协议传送的数据字节数为3356(3356=1460+1460+436),HTTP报文数据的字节数为3078(Content-Length)。这里面,为什么TCP协议传送的数据字节数比HTTP协议传送的数据字节数要多278呢?这是由于第一个TCP报文数据里包含了278个字节的HTTP报头,也就是上图标有行号的1-10共十一行数据。这里的HTTP报头称为Full-Response报头,分为11行。其中第一行成为Response-Line,HTTP协议为它定义了一个具体的语法格式:
HTTP/1.1 Status-Code Reason-Phr
您可能关注的文档
- Stanford 的 MFE program 资料总结及金融工程书籍(全部资料).doc
- STC12C5A60S2系列增强型8051单片机实用开发技术宣传资料.doc
- STC系列增强型8051单片机原理与应用宣传资料.doc
- Study on the Management Strategy of Chinese overseas students Based on the cooperation -中美高校合作.doc
- SVPWM在现代串级调速系统中的MATLAB仿真研究.doc
- SW 钣金成型工具制作方法及常见问题集锦2003.doc
- SXSW个人绩效考评系统研究与设计.doc
- SYT0082石油天然气工程初步设计内容规范第1部分油气田地面工程.doc
- SYT0082.22006石油天然气工程初步设计内容规范 第二部分管道工程.doc
- SYT62761997石油天然气工业健康安全与环境管理体系.doc
- 小学生科技展览参观体验与科学探究能力培养的关联性研究教学研究课题报告.docx
- 2025至2030药用包装容器产业行业市场占有率及投资前景评估规划报告.docx
- 基于红蓝光LED照射的绿豆发芽率与株高生长规律研究教学研究课题报告.docx
- 2025至2030咖啡行业发展趋势分析与未来投资战略咨询研究报告.docx
- 基于核心素养的小学数学单元教学目标制定与实施策略教学研究课题报告.docx
- 2025至2030药用乳糖行业市场深度研究及发展前景投资可行性分析报告.docx
- 2025至2030中国男士运动手套行业项目调研及市场前景预测评估报告.docx
- 2025至2030中国单车鞋行业项目调研及市场前景预测评估报告.docx
- 2023年陕西省西安市碑林区东关南街街道招聘社区工作者真题及参考答案详解一套.docx
- 2025至2030中国沐浴露(沐浴露)行业产业运行态势及投资规划深度研究报告.docx
最近下载
- 冠心病合并房颤的抗凝抗栓策略.ppt VIP
- 副高中医护理试题及答案.docx
- 员工职业发展通道设计课程.ppt VIP
- 注册安全工程师中级其他安全生产专业实务(电气安全)模拟试卷3.pdf VIP
- VDI2230高强度螺栓连接的系统计算中文版.pdf VIP
- 汉威KB500可燃气体报警控制器使用说明书.pdf
- 2024-2030全球摩托车和机车头盔行业调研及趋势分析报告.docx
- 2024-2030全球全面式蓝牙摩托车头盔行业调研及趋势分析报告.docx
- 神木市东安煤业有限公司煤炭资源整合项目(0.60Mt_a)(重大变动)环境影响报告书.pdf VIP
- (高清版)DB11∕T 1702-2019 生活饮用水样品采集技术规范.pdf VIP
文档评论(0)