欢迎来到天天文库
浏览记录
ID:29209850
大小:54.63 KB
页数:22页
时间:2018-12-17
《《http协议学习系列》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、http协议学习系列1.基础概念篇1.1介绍HTTP是HyperTextTransferProtocol(超文本传输协议)的缩写。它的发展是万维网协会(WorldWideWebConsortium)和Internet工作小组IETF(InternetEngineeringTaskForce)合作的结果,(他们)最终发布了一系列的RFC,RFC1945定义了HTTP/1.0版本。其中最著名的就是RFC2616。RFC2616定义了今天普遍使用的一个版本--HTTP1.1。HTTP协议(HyperTextTransferProtocol,超文本传输协议)是
2、用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。1.2在TCP/IP协议栈中的位置HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图所示:默认HTTP的端口号为80,HTTPS的端口号为443。1.3HTTP的请求响应模型HTT
3、P协议永远都是客户端发起请求,服务器回送响应。见下图:这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。1.4工作流程一次HTTP操作称为一个事务,其工作过程可分为四步:1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。3)服务器接到请求后,给予相应
4、的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。1.5使用Wireshark抓TCP、http包打开Wireshark,选择工具栏上的"Capture"-"Options",界面选择如图1所示:图1设置Captu
5、re选项一般读者只需要选择最上边的下拉框,选择合适的Device,而后点击"CaptureFilter",此处选择的是"HTTPTCPport(80)",选择后点击上图的"Start"开始抓包。图2选择CaptureFilter例如在浏览器中打开,抓包如图3所示:协议学习-概念-3.jpg图3抓包在上图中,可清晰的看到客户端浏览器(ip为192.168.2.33)与服务器的交互过程:1)No1:浏览器(192.168.2.33)向服务器(220.181.50.118)发出连接请求。此为TCP三次握手第一步,此时从图中可以看出,为SYN,seq:X(x=
6、0)2)No2:服务器(220.181.50.118)回应了浏览器(192.168.2.33)的请求,并要求确认,此时为:SYN,ACK,此时seq:y(y为0),ACK:x+1(为1)。此为三次握手的第二步;3)No3:浏览器(192.168.2.33)回应了服务器(220.181.50.118)的确认,连接成功。为:ACK,此时seq:x+1(为1),ACK:y+1(为1)。此为三次握手的第三步;4)No4:浏览器(192.168.2.33)发出一个页面HTTP请求;5)No5:服务器(220.181.50.118)确认;6)No6:服务器(220
7、.181.50.118)发送数据;7)No7:客户端浏览器(192.168.2.33)确认;8)No14:客户端(192.168.2.33)发出一个图片HTTP请求;9)No15:服务器(220.181.50.118)发送状态响应码200OK…1.6头域每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。在抓包的图中,No14点开可看到如图4所示:协议学习-概念-4.jpg图4http请求消息回应的消息如图5所示:图5http状态响应信息1.6
8、.1host头域Host头域指定请求资源的Intenet主机和端口号,必须表示请求url的原始
此文档下载收益归作者所有