当前位置:文档之家› 17【协议分析】【超文本传输协议HTTP协议分析】

17【协议分析】【超文本传输协议HTTP协议分析】

实验十七超文本传输协议HTTP分析

【实验目的】

1、掌握HTTP协议的原理和报文格式;

2、了解HTTP协议的工作过程;

3、了解应用层协议与传输层协议的关系。

【实验学时】

2学时

【实验环境】

本实验要求实验室主机能够连接到Internet,并可浏览网页。

实验拓扑如图5- 96所示:

图5- 96 实验拓扑图

【实验内容】

1、学习HTTP协议的格式和与TCP协议的关系;

2、了解HTTP协议的工作过程;

3、学习协议编辑软件的使用方法。

196

【实验流程】

图5- 97 实验流程图

【实验原理】

超文本传输协议(HTTP)是应用层协议,由于其简捷、快速的方式,适用于分布式的

超媒体信息系统。自1990年起,HTTP 就已经是主要应用于 WWW系统上存取数据的协

议。

HTTP 是一种请求/响应式的协议。一个客户机与服务器建立连接后,发送一个请求给

服务器,请求的格式是:统一资源标识符(URI)、协议版本号,后面是类似 MIME (通用

因特网邮件扩充协议,Multipurpose Internet Mail Extensions)的信息,包括请求修饰符、

客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式是:一个状态

行包括信息的协议版本号、一个成功或错误的代码,后面也是类似 MIME 的信息,包括服

务器信息、实体信息和可能的内容。

HTTP在知名端口80上使用TCP的服务。

HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成,下面详细描述

2种报文的格式。

HTTP的请求报文

197

请求报文的一般格式包括请求行、首部、一个空行,以及只在某些报文中出现的主体。

如图5- 98所示:

图5- 98 HTTP请求报文格式

其中:

请求行:包括请求类型、空格、URL、空格以及HTTP版本。

z请求类型:此字段定义了几种不同方法的报文,常用的几种方法包括:

? GET:客户要从服务器读取文档时使用。

? HEAD:客户想得到关于文档的某些信息,但并不是要这个文档时使用。

? POST:当客户要给服务器提供某些信息时使用。

? PUT:当客户将新的或更新的文档存储在服务器上时使用。

? COPY:当需要将文件复制到另一个位置时使用。

? MOVE:当需要将文件移到另一个位置时使用。

? DELETE:当需要将服务器上的文档移走时使用。

? LINK:当需要创建从一个文档到另一个位置的链按时使用。

? UNLINK:当需要删除由LINK方法创建的链接时使用。

? OPTION:当客户向服务器询问到一些可用的选项时使用。

z统一资源定位符(URL):有4个要素:方法、主机、端口、路径,格式为:

方法://主机:端口/路径

?方法:用来读取文档的协议。

?主机:放置信息的计算机。

?端口:服务器的端口号,可选。

?路径:放置文件的路径名。

首部:在客户和服务器之间交换附加的信息。例如,客户可以请求文档以特殊的形式发送,或服务器可以发送关于该文档的额外信息。首部可以有一个或者多个首部行,每一个首

部行由一个首部字段名、一个冒号、一个空格和一个首部字段值组成。一个首部行属于4

个种类中的一个:通用首部、请求首部、响应首部和实体首部。请求报文可以只包含通用首

部、请求首部和实体首部;响应报文则只包含通用首部、响应首部和实体首部。

198

主体:主体可以出现在请求报文或响应报文中。通常,它包含要发送的或接收的文档。

HTTP的响应报文

响应报文的一般格式包括状态行、首部、一个空行,以及只在某些报文中出现的主体,如图5- 99所示:

图5- 99 HTTP响应报文格式

其中:

状态行:包括HTTP版本、空格、状态码、空格、状态短语。

z状态码:用在响应报文中,由3位数字组成,100系列的代码只是提供信息,200系列的代码指示成功的请求,300系列的代码把客户重定向到另一个URL,400

系列的代码指示客户端差错,500系列的代码指示服务器端差错,z状态短语:是对原文的状态码作简短的描述,以文本形式解释状态码。

下面列出了一些常用的状态码及状态短语:

表5-13 状态码列表

状态码状态短语含义

100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。

101 Switching

Protocols

服务器将遵从客户的请求转换到另外一种协议

200 OK 一切正常,对GET和POST请求的应答文档跟在后面。201 Created 服务器已经创建了文档,Location头给出了它的URL。202 Accepted 已经接受请求,但处理尚未完成。

204 No Content 没有新文档,浏览器应该继续显示原来的文档。

301 Moved

Permanently

客户请求的文档在其他地方,新的URL在Location头中给出,浏览

器应该自动地访问新的URL。

302 Found 类似于301,但新的URL应该被视为临时性的替代,而不是永久性的。

注意,在HTTP1.0中对应的状态信息是“Moved Temporatily”。

199

304 Not Modified 客户端有缓冲的文档并发出了一个条件性的请求,服务器告诉客户,原来缓冲的文档还可以继续使用。

400 Bad Request 请求出现语法错误。

401 Unauthorized 客户试图未经授权访问受密码保护的页面。应答中会包含一个WWW-Authenticate头,浏览器据此显示用户名字/密码对话框,然后在填写合适的Authorization头后再次发出请求。

403 Forbidden 资源不可用。服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致。

404 Not Found 无法找到指定位置的资源。这也是一个常用的应答。

405 Method Not

Allowed

请求方法(GET、POST、HEAD、DELETE、PUT、TRACE等)对

指定的资源不适用。

406 Not Acceptable 指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容。

500 Internal Server

Error

服务器遇到了意料不到的情况,不能完成客户的请求。

501 Not

Implemented

服务器不支持实现请求所需要的功能。例如,客户发出了一个服务器

不支持的PUT请求。

503 Service

Unavailable

服务器由于维护或者负载过重未能应答。

状态码用来支持自动操作,而状态短语用来供用户使用。首部和主体的内容在请求报文中已经讲过,此处不再重复。

【实验步骤】

步骤一:使用浏览器打开网页,捕获数据包并分析:

1、在主机上打开协议分析仪,点击工具栏上的“过滤器”,“类型过滤器”的下拉列表中选

择“HTTP协议”,确定后开始进行数据捕获:

图5- 100 设置HTTP协议过滤器

200

2、使用实验室主机上安装的浏览器,例如IE,打开一个网页,如图5- 101所示:

图5- 101 使用浏览器打开一个网页

3、此时在协议分析仪中可以看到捕获的数据包,可以看到HTTP请求报文和响应报文,

以及其中所使用的命令。

如图5- 102,显示的是一个HTTP请求报文,命令为GET,使用的HTTP协议版本为

1.1,并且可以从十六进制数据区中可以看到请求的URL是http://biz.doczj.com/doc/853623323.html,:

图5- 102 HTTP请求报文

图5- 103 显示的是一个HTTP响应报文,在状态行里可以看到HTTP版本是1.1,状

态码是200,状态短语是“OK”,表示紧随其后的报文中就携带了网页的内容:

201

图5- 103 HTTP响应报文

4、依据捕获报文中建立和断开连接的过程,完成下面的填空:

表5-14 建立连接与断开连接列表

客户端 TCP连接建立阶段 WWW服务器

Port ( ) SYN=( ),ACK=( ),PSH=( ),PIN=( )

SEQ=( ),ACK SEQ=( ) Port ( ) SYN=( ),ACK=( ),PSH=( ),PIN=( )

SEQ=( ),ACK SEQ=( )

SYN=( ),ACK=( ),PSH=( ),PIN=( )

SEQ=( ),ACK SEQ=( )

客户端 TCP断开连接阶段 WWW服务器

Port ( )

SYN=( ),ACK=( ),PSH=( ),PIN=( )

SEQ=( ),ACK SEQ=( ) Port ( ) SYN=( ),ACK=( ),PSH=( ),PIN=( )

SEQ=( ),ACK SEQ=( )

SYN=( ),ACK=( ),PSH=( ),PIN=( )

SEQ=( ),ACK SEQ=( )

SYN=( ),ACK=( ),PSH=( ),PIN=( )

SEQ=( ),ACK SEQ=( )

202

步骤二:编辑一个HTTP报文:

1、在主机上打开协议数据发生器,在工具栏上选择“添加”,会弹出“网络包模版”对话框,

选择“HTTP协议模版”,建立一个HTTP数据报文:

图5- 104 建立HTTP协议报文

2、填写其中以太网帧头、IP首部、TCP首部和HTTP报文的内容:

z填写以太网协议首部信息:

?目的物理地址:在地址本中选择实验室网关的IP地址(例如:192.168.1.1),确认后自动填入网关的MAC地址:00-D0-F8-B5-24-8F;

?源物理地址:在地址本中选择实验主机(例如:192.168.1.2),确认后自动填入实验主机的MAC地址:02-00-4C-4F-4F-50;

?类型或长度:该字段应为0800(即IP协议的类型值)。

z填写IP协议头信息:

?总长度字段:包括TCP段内容的总长度,20 IP+20 TCP+14 HTTP = 54;

?高层协议字段:即上层协议类型为6(TCP协议的类型为6);

?发送IP地址:在地址本中选择实验主机的IP地址,确认后自动填入主机的IP 地址192.168.1.2;

?目标IP地址:手工填写某个WWW服务器的IP地址,例如上例中http://biz.doczj.com/doc/853623323.html,的地址:220.181.37.55;

?点击工具栏中的“校验和”按钮计算IP头校验和。

z填写TCP协议的各个字段信息:

? 16位源端口号:任意大于1024的数;

? 16位目的端口号:25;

203

? 32位序号:选择一个序号(例如:19425898);

? 32位确认序号:设置为0;

?首部长度:首部长度设为5,即长度为20字节;

?标志位:标志位设为2,即标志位SYN=1;

?窗口大小:任意,例如填入32768;

?紧急指针:0;

?校验和:点击工具栏中的“校验和”按钮计算TCP校验和(覆盖TCP首部(包含伪首部)和TCP数据两部分,计算方法同UDP协议一样)。

z5、填写HTTP协议报文的内容:

可填入HTTP的常用命令及参数,例如:GET / HTTP/1.1。

最终的编辑结果如下图所示:

图5- 105 编辑HTTP报文的内容

3、点击工具栏上的“发送”按钮,将编辑好的HTTP数据报文发送,可设置循环发送。

4、在实验主机上运行网络协议分析仪,捕获数据,捕获结果如图5- 106所示。其中可

以清晰地看到,这个TCP报文的标志位是SYN,里面携带的是HTTP请求报文,其请求行内容为:GET / HTTP/1.1。

204

图5- 106 捕获编辑的HTTP报文

【思考问题】

结合实验过程中的实验结果,问答下列问题:

1、当实验主机上同时打开多个浏览器窗口并访问同一WEB站点的不同页面时,系统

是根据什么把返回的页面正确地显示到相应窗口的?

2、一个主页是否只有一个连接?

3、为什么HTTP不保持与客户端的TCP连接?

205

超文本传输协议(HTTP)

《计算机网络实验》实验报告实验名称:超文本传输协议(HTTP) 年级: 2014级 专业:软件工程专业 班级: 2班 姓名:王香香 学号: 1425161018 成绩: 指导教师:卢正添 提交报告时间: 2017年 6月 3日

一、实验目的 1.掌握HTTP的报文格式 2.掌握HTTP的工作原理 3.掌握HTTP常用方法 二、实验环境 网络结构一 三、实验步骤与实验结果 练习一:页面访问 各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验证,请检查网络连接。 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。 1. 主机A清空IE缓存。 2. 主机B启动协议分析器开始捕获数据,并设置过滤条件(提取HTTP协议)。 3. 主机A启动IE浏览器,在“地址”框中输入http://服务器的ip/experiment,并连接,服务器IP默认为172.16.0.253。

4. 主机B停止捕获数据,分析捕获到的数据,并回答以下问题: ●本练习使用HTTP协议的哪种方法?简述这种方法的作用。答:Get方法。客户要从服务器读取文档时使用。 ●根据本练习的报文内容,填写下表。

表13-3 实验结果 ●参考“会话分析”视图显示结果,绘制此次访问过程的报文交互图(包括TCP协议)。 ●简述TCP协议和HTTP协议之间的关系。 答:HTTP是基于TCP的应用层协议。 思考问题: 1.一个主页是否只有一个连接? 答:否。一个主页可能对应多个连接。 练习二:页面提交 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。 1. 主机B启动协议分析器开始捕获数据,并设置过滤条件(提取HTTP协议)。 2. 主机A启动IE浏览器,在“地址”框中输入“http://服务器的ip/experiment/post.html”,并连接,服务器IP 默认为172.16.0.253。在返回页面中,填写“用户名”和“密码”,点击[确定]按钮。 3. 主机B停止捕获数据,分析捕获到的数据,并回答以下问题:

利用wireshark分析HTTP协议实验报告

利用wireshark分析HTTP协议实验报告 姓名:杨宝芹 学号:2012117270 班级:电子信息科学与技术 时间:2014.12.26

利用wireshark分析HTTP协议实验报告 一、实验目的 分析HTTP协议。 二、实验环境 连接Internet的计算机,操作系统为windows8.1; Wireshark,版本为1.10.7; Google Chrome,版本为39.0.2171.65.m; 三、实验步骤 1.清空缓存 在进行跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。之后,还要在客户端清空DNS 高速缓存,来确保Web服务器域名到IP地址的映射是从网络中请求。 2.启动wireshare 3.开始俘获 1)在菜单中选择capture-options,选择网络,打开start。如下图:

2)在浏览器地址栏中输入http://biz.doczj.com/doc/853623323.html,,然后结束俘获,得到如下结果: 3)在过滤器中选择HTTP,点击apply,得到如下结果:

在菜单中选择file-save,保存结果,以便分析。(结果另附) 四、分析数据 在协议框中选择“GET/HTTP/1.1”所在的分组会看到这个基本请求行后跟随 着一系列额外的请求首部。在首部后的“\r\n”表示一个回车和换行,以此将该 首部与下一个首部隔开。“Host”首部在HTTP1.1版本中是必须的,它描述了URL 中机器的域名,本实验中式http://biz.doczj.com/doc/853623323.html,。这就允许了一个Web服务器在同一 时间支持许多不同的域名。有了这个数不,Web服务器就可以区别客户试图连接 哪一个Web服务器,并对每个客户响应不同的内容,这就是HTTP1.0到1.1版本 的主要变化。User-Agent首部描述了提出请求的Web浏览器及客户机器。接下 来是一系列的Accpet首部,包括Accept(接受)、Accept-Language(接受语言)、 Accept-Encoding(接受编码)、Accept-Charset(接受字符集)。它们告诉Web

http协议传输数据

竭诚为您提供优质文档/双击可除 http协议传输数据 篇一:详解http传输协议 何为http协议(hypertexttransferprotocol,超文本传输协议)? 所谓协议,就是指双方遵循的规范。http协议,就是浏览器和服务器之间进行“沟通”的一种规范。我们在看空间,刷微博...都是在使用http协议,当然,远远不止这些应用。 笔者一直听说http是属于“应用层的协议”,而且是基于tcp/ip协议的。这个不难理解,如果你上大学时候学过“计 算机网络”的课程,就一定知道osi七层参考协议(我当时是死记硬背的)。如果你接触过socket网络编程,就应该明白tcp和udp这两种使用广泛的通信协议(建立连接、三次握手等等,当然,这不是本文讨论的重点)。 如图: 既然tcp/udp是广泛使用的网络通信协议,那为啥有多出个http协议来呢?

笔者曾自己动手写过一个简单的web服务器处理软件,根据我的推断(不一定准确)。udp协议具有不可靠性和不安全性,显然这很难满足web应用的需要。 而tcp协议是基于连接和三次握手的,虽然具有可靠性,但仍具有一定的缺陷。但试想一下,普通的c/s架构软件,顶多上千个client同时连接,而b/s架构的网站,十万人同时在线也是很平常的事儿。如果十万个客户端和服务器一直保持连接状态,那服务器如何满足承载呢? 这就衍生出了http协议。基于tcp的可靠性连接。通俗点说,就是在请求之后,服务器端立即关闭连接、释放资源。这样既保证了资源可用,也吸取了tcp的可靠性的优点。 正因为这点,所以大家通常说http协议是“无状态”的,也就是“服务器不知道你客户端干了啥”,其实很大程度上 是基于性能考虑的。以至于后来有了session之类的玩意。 实战准备工作: 在监视网络方面,windows平台上有一款叫做sniffer 的优秀软件,这也是很多“黑客”经常使用的嗅探工具。 在 研究http协议时,推荐大家使用一款

HTTP超文本传输协议

http

http和其他几种网络协议 [1] 多个中间层,比如代理,网关,或者隧道(tunnels)。尽管TCP/IP协议是互联网上最流行的应用,HTTP协议并没有规定必须使用它和(基于)它支持的层。事实上,HTTP可以在任何其他互联网协议上,或者在其他网络上实现。HTTP只假定(其下层协议提供)可靠的传输,任何能够提供这种保证的协议都可以被其使用。 通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。 HTTP协议的网页 HTTP使用TCP而不是UDP的原因在于(打开一个)一个网页必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据,和错误纠正。 通过HTTP或者HTTPS协议请求的资源由统一资源标示符(Uniform Resource Identifiers)(或者,更准确一些,URLs)来标识。 编辑本段协议功能 HTTP是超文本传输协议,是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。 当我们想浏览一个网站的时候,只要在浏览器的地址栏里输入网站的地址就可以了,例如www.*****.com,但是在浏览器的地址栏里面出现的却是:http://www.*******,你知道为什么会多出一个“http”吗? 我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在

实验三利用Ethereal分析HTTP协议

计算机网络实验报告年级:姓名:学号: 实验日期: 实验名称:实验三利用Ethereal分析HTTP协议 一、实验目的 1、利用抓包工具wireshark来分析http协议; 2、通过分析HTTP协议,探讨有关HTTP协议的以下几个方面: (1)、基本的GET /响应交互, (2)、HTTP的消息格式, (3)、获取较大的HTML文件, (4)、检索与嵌入HTML文件对象, (5)、和HTTP身份验证和安全性。 二、实验器材 1、接入Internet的计算机主机; 2、抓包工具wireshark和截图工具snagit。 三、实验内容 (一). The Basic HTTP GET/response interaction 1. Is your browser running HTTP version 1.0 or 1.1? What version of HTTP is theserver running? 答:我的浏览器上运行HTTP version 1.1如下图 2. What languages (if any) does your browser indicate that it can accept to theserver? 答:浏览器所能接受的语言为:简体中文accept language : zh -cn\r\n 截图如下:

3. What is the IP address of your computer? Of the http://biz.doczj.com/doc/853623323.html, server? 答:本机IP地址:10.0.163.199,服务器IP地址:128.119.245.12 截图如下: 4. What is the status code returned from the server to your browser? 答:状态码及状态码200ok截图如下: 5. When was the HTML file that you are retrieving last modified at the server? 6. How many bytes of content are being returned to your browser? 7. By inspecting the raw data in the packet content window, do you see any headerswithin the data that are not displayed in the packet-listing window? If so, nameone. 答:没有。 (二). The HTTP CONDITIONAL GET/response interaction1 8. Inspect the contents of the first HTTP GET request from your browser to the server. Do you see an “IF-MODIFIED-SINCE” line in the HTTP GET? 答:没有看到。 9. Inspect the contents of the server response. Did the server explicitly return the contents of the file? How can you tell? 答:反回了,如下图所示 10. Now inspect the contents of the second HTTP GET request from your browser

协议分析报告

《计算机网络技术及应用》课程论文 题目“腾讯新闻”应用协议分析报告 专业 学生姓名 学号 成绩

目录 1 概述 (1) 1.1 “腾讯新闻”应用软件介绍 (1) 1.2 分析环境 (2) 1.2.1 测试手机配置 (2) 1.2.2 应用软件版本 (2) 1.2.3 分析工具介绍 (3) 1.2.4 网络拓扑 (3) 2 应用软件结构分析 (4) 3 应用协议分析 (5) 3.1 启动(连接)过程分析 (5) 3.1.1 获取新闻各版块 (5) 3.1.2 获取首页新闻列表 (8) 3.2登录(注册)分析 (9) 3.2.1 登陆过程分析 (9) 3.2.2 获取用户评论信息 (10) 3.3 切换版块功能分析 (11) 3.4 读取单条新闻功能分析 (14) 3.5 评论功能分析 (17) 3.5.1 查看评论 (17) 3.5.1发表评论 (22) 4 分析总结 (27)

1 概述 1.1 “腾讯新闻”应用软件介绍 腾讯新闻客户端是基于IOS、Android平台的腾讯新闻服务,快速、客观、公正地提供新闻资讯的中文免费应用程序。凭借优异的用户体验引发用户大量下载,以王者之姿“秒”杀用户,带领移动资讯进入“秒”时代。是腾讯团队用心打造的一款丰富、及时的新闻应用,本着精炼、轻便的目标,为用户提供高效、优质的阅读体验。全球视野,聚焦中国,一朝在手,博览天下。 腾讯新闻功能如下: 1.每日新闻及时报道,洞察真相,领先一步 2.媒体订阅,全面接入优质媒体/微信自媒体,一处订阅,多处可看 3.云收藏,便捷收藏、随时访问、永久保存 4.视频、图片、直播,多媒体资讯,舒适体验,值得拥有 5.专题新闻,聚合报道重要新闻事件,了解事件全貌 6.离线下载智能启动,30秒下载1000条新闻,没有网络也有得看 7.横划手势切换2级栏目,单手操作更方便 8.三种阅读模式,2G/3G/4G/wifi环境顺畅浏览 9.腾讯微博、QQ空间、微信朋友圈、新浪微博、微信好友、手机QQ好友、邮件,随时与好友分享态度 腾讯新闻客户端自上线以来,以快速的推送速度、界面友好、内容专业原创、视频图片优势得到了用户普遍认可,用户数量、活跃度和口碑都在同类软件中名列前茅,一直保持着在App Store新闻软件排名前三位。在欧洲杯赛事和伦敦奥运期间,腾讯新闻客户端开创性的推出视频新闻和奥运专版举动,提高新闻客户端的竞争门槛,更是引发了行业强烈关注。。 腾讯新闻客户端的特色在于把新闻、视频、微博有机地结合了起来,为手机用户提供多形式、多产品精华内容聚合的快速阅读体验。同时拥有优秀的开发和运营团队、腾讯海量的品牌用户、良好的用户口碑以及强大的推广资源等优势腾讯还拥有数量庞大的无线互联网产品,可以互相推荐下载,并会第一时间接入王牌无线产品:微信,让用户能够在微信中分享腾讯新闻,这是其他应用所不具备的。 此外,腾讯新闻客户端具有强大的实时推送功能,7x24小时不间断更新。重大新闻瞬间推送到手机,随时随地掌握天下事。用户通过腾讯新闻客户端,3秒即可连接到世界新闻,重大事件发生时,腾讯新闻客户端版能够实现30秒实时推送新闻。300秒即可尽览每日资讯。通过速度可以让用户真切的感受到了新闻触达指尖的便捷性。

(完整word版)Http协议解说

Http协议:超文本传输协议 浏览器与服务端之间传输数据的协议,底层的传输协议为TCP。 Http则为应用层协议,负责定义传输数据的格式 HTTP协议分为1.0与1.1两个版本。现在常用为1.1版本。 协议规定客户端与服务端通讯方式为:一次请求一次响应,即:客户端发起请求,服务端接收到请求后向客户端发送响应。服务端不会主动发送内容 给客户端。采取“一问一答”的形式 HTTP 请求和响应分别定义了个格式。并且,无论是请求还是响应 中发送的字符(不含正文部分内容)都只能符合ISO8859-1编码字符(如:数字,字母,符号). 像中文等其它字符都需要经过处理后才可以发送。 HTTP请求格式: 一个HTTP请求分为三部分组成:请求行,消息头,消息正文 1:<请求行> 请求行分为三部分:

请求方法资源路径协议(CRLF) method(请求方法)url(资源路径) protocol(CRLF) 例如: GET /index.html HTTP/1.1(CRLF) 请求行以CRLF结束(回车加换行) CR:回车符,asc编码中对应数字13 LF:换行符,asc编码中对应数字10 2.<消息头> 消息头由若干行表示,每行表示一个具体的头信息,每个头信息式分为两部分: 消息头名字:消息头的值(CRLF) name: value(CRLF) 每个消息头都以CRLF结尾。 最后一个消息头结尾处会有两个CRLF,第一个表示最后一个消息头结束, 第二个表示消息头(整个)部分结束。 例如: Host: www.localhost:8080(CRLF) Connection: keep-alive(CRLF)

超文本传输协议(HTTP1.1)中文

应用层 超文本传输协议(HTTP) 一、前言 TCP/IP应用层协议有许多种,本文档讲解我们最熟悉的超文本传输协议(HTTP)。 超文本传输协议(HTTP)版本1.1是一个草案标准,其描述见RFC 2612。旧的HTTP 1.0是一个指示性协议,RFC 1945对它进行了描述。超文本传输协议是为了传输超文本标记语言(Hypertext Markup Language,HTML)而设计的协议。HTML是一种用于创建超文本文档的标记语言。有关HTML的信息请参见相关的超文本标记语言的书籍。 二、HTTP综述 HTTP基于请求—响应活动。客户端运行浏览器应用程序,它建立与服务器的连接,并以请求的形式发送一个请求到服务器。服务器用一个状态行做出响应,包括信息的协议版本以及成功或者错误代码,后面跟着一个消息,它包含服务器信息、实体信息和可能的内容。 HTTP事务被划分为如下4个步骤。 除了实验性应用程序之外,现行习惯要求客户在发出每个请求之前先建立连接,并由服务器在发送响应之后关闭连接。客户和服务器都应当注意任何一方都有可能过早地关闭连接,原因可能是用户操作、自动超时或者程序故障等,他们应当以一种可预见的并且所期望的方式处理这种关闭行为。在任何一种情况下,任何一方或者双方关闭的连接总是终止当前请求,而不管它的状态如何。简单的说HTTP是一种无状

态协议,因为它不跟踪连接。例如:为了装入包含两个图形的页面,支持图形的浏览器将打开三个TCP 连接:一个连接用于页面,而另外连个连接用于图形。然而大多数浏览器能够同时处理几个这样的连接。 如果一个页面包含大量要素,每个资源都新建一个TCP连接,这将占用大量资源。在HTTP1.1中缓和了这个问题,它为每种类型元素建立一个TCP连接,同样类型的元素使用同一个TCP连接。HTTP 1.1不同于HTTP 1.0的地方就是它使用了永久连接。 三、统一资源标识URI URI亦可称为web地址,是统一资源定位器(URL)和统一资源名称(URN)的组合。依照RFC 1945种的定义,“统一资源标识符是通过名称、位置或者其他的特征标识资源的简单格式字符串”。 四、HTTP消息类型 HTTP消息既可以是客户端请求也可以是服务器响应。下面说明了HTTP消息类型:HTTP-message = Request | Response 五、消息头 HTTP消息头字段为如下形式之一: ●一般报文头 ●请求报文头 ●响应报文头 ●实体报文头 ●消息体:如果未使用传输编码,可以把消息体称为实体。 ●消息长度 5.1一般报文头 一般报文头字段既可以用于请求消息,又可以用于响应消息。当前的一般报文头字段选项如下: ●缓存控制(Cach-Control) ●连接 ●日期 ●标记(Pragma) ●传输编码(Transfer-Encoding) ●升级(Upgrade) ●通过(Via)

HTTP:超文本传输协议(Hypertext Transfer Protocol)

HTTP:超文本传输协议(Hypertext Transfer Protocol) 超文本传输协议(HTTP)是应用层协议,由于其简捷、快速的方式,适用于分布式和合作式超媒体信息系统。自1990 年起,HTTP 就已经被应用于WWW 全球信息服务系统。 HTTP 允许使用自由答复的方法表明请求目的,它建立在统一资源识别器(URI)提供的参考原则下,作为一个地址(URL)或名字(URN),用以标志采用哪种方法,它用类似于网络邮件和多用途网际邮件扩充协议(MIME)的格式传递消息。 HTTP 也可用作普通协议,实现用户代理与连接其它Internet 服务(如SMTP、NNTP、FTP、GOPHER 及WAIS)的代理服务器或网关之间的通信,允许基本的超媒体访问各种应用提供的资源,同时简化了用户代理系统的实施。 HTTP 是一种请求/响应式的协议。一个客户机与服务器建立连接后,发送一个请求给服务器,请求的格式是:统一资源标识符(URI)、协议版本号,后面是类似MIME 的信息,包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式是:一个状态行包括信息的协议版本号、一个成功或错误的代码,后面也是类似MIME 的信息,包括服务器信息、实体信息和可能的内容。 HTTP 的第一版本HTTP/0.9 是一种简单的用于网络间原始数据传输的协议。而由RFC 1945 定义的HTTP/1.0 ,在原HTTP/0.9 的基础上,有了进一步的改进,允许消息以类MIME 信息格式存在,包括请求/响应范式中的已传输数据和修饰符等方面的信息。但是,HTTP/1.0 没有充分考虑到分层代理服务器、高速缓冲存储器、持久连接需求或虚拟主机等方面的效能。相比之下,HTTP/1.1 要求更加严格以确保服务的可靠性。关于安全增强版的HTTP (即S-HTTP),将在相关文件中再作介绍。协议结构 HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。请求报文格式如下: 请求行-通用信息头-请求头-实体头-报文主体

超文本传输协议HTTP

《计算机网络实验》实验报告 实验名称:超文本传输协议HTTP 年级: 专业: 班级: 姓名: 学号: 成绩: 指导教师:卢正添 提交报告时间: 2012年 5月17日

实验目的 1.掌握HTTP的报文格式 2. 掌握HTTP的工作原理 3. 掌握HTTP常用方法 实验环境 网络拓扑结构一 实验步骤 练习一 各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验证,请检查网络连接。 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。 1. 主机A清空IE缓存。 2. 主机B启动协议分析器开始捕获数据,并设置过滤条件(提取HTTP协议)。 3. 主机A启动IE浏览器,在“地址”框中输入http://服务器的ip/experiment,并连接,服务器IP默认为172.16.0.253。 4. 主机B停止捕获数据,分析捕获到的数据,并回答以下问题: ●根据本练习的报文内容,填写下表。 表13-3 实验结果

●TCP 协议)。 ●简述TCP协议和HTTP协议之间的关系。

练习二 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。 1. 主机B启动协议分析器开始捕获数据,并设置过滤条件(提取HTTP协议)。 2. 主机A启动IE浏览器,在“地址”框中输入“http://服务器的ip/experiment/post.html”,并连接,服务器IP默认为172.16.0.253。在返回页面中,填写“用户名”和“密码”,点击[确定]按钮。 3. 主机B停止捕获数据,分析捕获到的数据,并回答以下问题: ●本练习的提交过程使用HTTP协议的哪种方法?简述这种方法的作用。 ●此次通信分几个阶段?每个阶段完成什么工作? ●参考“会话分析”视图显示结果,绘制此次提交过程的报文交互图(包括TCP 协议)。

实验六利用Wireshark分析协议HTTP

实验六利用W i r e s h a r k分析协议H T T P 一、实验目的 分析HTTP协议 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、实验步骤 1、利用Wireshark俘获HTTP分组 (1)在进行跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。之后,还要在客户端清空DNS高速缓存,来确保Web服务器域名到IP地址的映射是从网络中请求。在WindowsXP机器上,可在命令提示行输入ipconfig/flushdns(清除DNS解析程序缓存)完成操作。 (2)启动Wireshark 分组俘获器。 (3)在Web 浏览器中输入:http://biz.doczj.com/doc/853623323.html, (4)停止分组俘获。 图1.1 利用Wireshark俘获的HTTP分组 在URL http://biz.doczj.com/doc/853623323.html,中,http://biz.doczj.com/doc/853623323.html,是一个具体的web 服务器的域名。最前面有两个DNS分组。第一个分组是将域名http://biz.doczj.com/doc/853623323.html,

转换成为对应的IP 地址的请求,第二个分组包含了转换的结果。这个转换是必要的,因为网络层协议——IP协议,是通过点分十进制来表示因特网主机的,而不是通过http://biz.doczj.com/doc/853623323.html,这样的域名。当输入URL http://http://biz.doczj.com/doc/853623323.html, 时,将要求Web服务器从主机http://biz.doczj.com/doc/853623323.html,上请求数据,但首先Web浏览器必须确定这个主机的IP地址。 随着转换的完成,Web浏览器与Web服务器建立一个TCP连接。最后,Web 浏览器使用已建立好的TCP连接来发送请求“GET/HTTP/1.1”。这个分组描述了要求的行为(“GET”)及文件(只写“/”是因为我们没有指定额外的文件名),还有所用到的协议的版本(“HTTP/1.1”)。 2、HTTP GET/response交互 (1)在协议框中,选择“GET/HTTP/1.1” 所在的分组会看到这个基本请求行后跟随着一系列额外的请求首部。在首部后的“\r\n”表示一个回车和换行,以此将该首部与下一个首部隔开。 “Host”首部在HTTP1.1版本中是必须的,它描述了URL中机器的域名,本例中是http://biz.doczj.com/doc/853623323.html,。这就允许了一个Web服务器在同一时间支持许多不同的域名。有了这个数不,Web服务器就可以区别客户试图连接哪一个Web服务器,并对每个客户响应不同的内容,这就是HTTP1.0到1.1版本的主要变化。 User-Agent首部描述了提出请求的Web浏览器及客户机器。 接下来是一系列的Accpet首部,包括Accept(接受)、Accept-Language (接受语言)、Accept-Encoding(接受编码)、Accept-Charset(接受字符集)。它们告诉Web服务器客户Web浏览器准备处理的数据类型。Web服务器可以将数据转变为不同的语言和格式。这些首部表明了客户的能力和偏好。 Keep-Alive及Connection首部描述了有关TCP连接的信息,通过此连接发送HTTP请求和响应。它表明在发送请求之后连接是否保持活动状态及保持多久。大多数HTTP1.1连接是持久的(persistent),意思是在每次请求后不关闭TCP 连接,而是保持该连接以接受从同一台服务器发来的多个请求。 (2)我们已经察看了由Web浏览器发送的请求,现在我们来观察Web服务器的回答。响应首先发送“HTTP/1.1 200 ok”,指明它开始使用HTTP1.1版本来发送网页。同样,在响应分组中,它后面也跟随着一些首部。最后,被请求的实际数据被发送。

超文本传输协议http实验报告

超文本传输协议http实验报告 篇一:计算机网络实验超文本传输协议Http分析 实验二超文本传输协议 Http分析 一、实验目的 通过分组捕获软件Wireshark来分析Http协议的以下内容: 1、 Http协议的Get/Resonse互动机制; 2、 Http协议的分组格式; 3、如何利用Http传输Html文件; 4、如何利用Http传输图片、动画等嵌入式文件; 5、观察Http的安全性能。 二、实验条件 1、Wireshark软件 2、IE浏览器 三、实验预习要求: 复习课本节的相关内容 四、实验内容:

1. Http的基本请求/响应互动机制 本实验通过访问一个最简单的页面展开,即该html 文件中不引用任何其它嵌入式文件(如图片、视频等)。操作步骤如下: 1、打开IE浏览器; 2、打开Wireshark软件,打开抓包菜单中的网络接口子菜单,从中选择本机使用的网络接口。 3、切入包捕获界面后,在过滤栏中输入http && == || == ,即只观察与交互的http分组。 4、在IE浏览器输入:;此时浏览器应该会显示一个最简单的html页面(只有一行)。 5、此时,你的Wireshak软件应该如下所示: 图1: 访问后的 Wireshark显示界面 从上图中可观察到总共捕获到四个http包,其中,包括两对Http的Get分组(由本机浏览器向服务器发出的请求)以及服务器返回的响应分组。需要注意的是,第一轮请求与回复请求的是具体的页面;而第二轮请求与回复涉及的却是一个文件。分组内容展示窗口中可以观察这两个分组

的详细信息。从展开的分组内容中可以看出:Http包是经由Tcp协议传输,而Tcp又是附加在IP数据包的基础上,后者又附加在一个以太网帧内。以第一轮分组为观察目标,试着回答如下问题: 1. 你的浏览器运行的是什么协议版本?还是 ? 服务器运行的又是什么版本呢? 2. 你的浏览器告诉服务器它能够接受的语言是? 3. 你浏览器所在的IP是?服务器的Ip又是? 4. 服务器返回给浏览器的状态代码是?这次访问成功了么? 5. 浏览器所访问的Html文件上次被修改的时间是? 6. 间隔两分钟后再重新访问该Html文件(即刷新IE 浏览器),再次查看Html文件上被修改的时间是?对比与问题5的答案,你观察出了什么结论? 7. 服务器返回给浏览器的分组的内容长度是多少? 2. Http附加条件判断的请互动机制 从课本节中我们知道,当前主要浏览器都有一个缓存机制,即将刚访问的页面内容保存在IE缓存区。在此基础上,当用户重新访问该页面时,浏览器会智能地发出一个带

http协议精华

http协议学习系列 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)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

文本传输协议(修订编写)

超文本传送协议 超文本传输协议bai (HTTP-Hypertext transfer protocol),是一种详细规du定了浏览器和万维网服务器之间互zhi相通信的规则,通dao过因特网传送万维网文档的数据传送协议。它可 以使浏览器更加高效,使网络传输减少。它不仅能保证计算机正确快速地传输超文本文档, 还能确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。 HTTP协议即超文本传送协议。 超文本传输协议(HTTP-Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。 目录 1简史 2协议简介 3特点 4请求信息 5请求方法 6响应头 ?响应头第一行 ?响应头域 7安全协议 8HTTP状态码 1简史编辑 超文本转移协议的前身是世外桃源(Xanadu)项目,超文本的概念是泰德˙纳尔森(Ted Nelson)在1960年代提出的。进入哈佛大学后,纳尔森一直致力于超文本协议和该项目的 研究,但他从未公开发表过资料。1989年,蒂姆˙伯纳斯˙李(Tim Berners Lee)在CERN(欧洲原子核研究委员会= European Organization for Nuclear Research)担任软件咨询师的时候,开发了一套程序,奠定了万维网(WWW = World Wide Web)的基础。1990年12月,超文本在CERN首次上线。1991年夏天,继Telnet等协议之后,超文本转移协议成为互 联网诸多协议的一分子[1]。

当时,Telnet协议解决了一台计算机和另外一台计算机之间一对一的控制型通信的要求[2]。邮件协议解决了一个发件人向少量人员发送信息的通信要求。文件传输协议解决一台 计算机从另外一台计算机批量获取文件的通信要求,但是它不具备一边获取文件一边显示文件或对文件进行某种处理的功能。新闻传输协议解决了一对多新闻广播的通信要求。[3]而超文本要解决的通信要求是:在一台计算上获取并显示存放在多台计算机里的文本、数据、图片和其他类型的文件;它包含两大部分:超文本转移协议和超文本标记语言(HTML)。HTTP、HTML以及浏览器的诞生给互联网的普及带来了飞跃[4]。 2协议简介编辑 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)[5]和Internet工作小组IETF(Internet Engineering Task Force)[6]合作的结果,(他们)最终发布了一系列的RFC,RFC 1945[7]定义了HTTP/1.0版本。其中最著名的就是RFC 2616[8]。RFC 2616定义了今天普遍使用的一个版本 ——HTTP 1.1。为纪念Tim Berners-Lee提出HTTP后对互联网发展的贡献,万维网协会保留有他最原始提交的版本[9]。 HTTP协议(HyperText Transfer Protocol,超文本转移协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等[10]。 HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP 是一个无状态的协议。 3特点编辑 HTTP协议的主要特点可概括如下: 1、支持客户/服务器模式。支持基本认证[11]和安全认证(见后文《安全协议》)。 http 协议简介 2、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用 的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加 以标记。

HTTP协议分析

攀枝花学院计算机网络工程实训报告 HTTP协议分析 学生姓名:杨玉刚 学生学号: 200710801075 院(系):计算机学院 年级专业: 07计本2版 指导教师:范胜波 二〇一〇年六月

攀枝花学院本科学生课程设计任务书

攀枝花学院计算机网络工程实训报告 摘要 HTTP(Hyper Text Transfer Protocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。 通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符 关键词HTTP协议,客户端,服务器, HTTP的头域

攀枝花学院计算机网络实训报告 目录 摘要 (Ⅰ) 1 前言 (1) 1.1 http协议简述 (1) 2 需求分析 (2) 2.1 http协议通信过程 (2) 2.1.1 URL自动解析 (2) 2.1.2 获取IP,建立TCP连接 (2) 2.1.3客户端浏览器向服务器发出HTTP请求 (2) 2.1.4 Web服务器应答,并向浏览器发送数据 (2) 2.1.5 Web服务器关闭TCP连接 (3) 2.1 HTTP的头域 (3) 2.1.1通用头域 (3) 2.1.2请求消息 (4) 2.1.3响应消息 (5) 2.1.4实体信息 (6) 3 系统设计 (7) 3.1 HTTP Analyzer工具介绍 (8) 3.2分析访问浏览器和服务器通信的过程 (8) 4 系统分析 (12) 4.1 HTTP 请求消息 (12) 4.1 HTTP 响应消息 (13) 结论 (15) 参考文献 (16) 附录 (17)

超文本传输协议工作原理

超文本传输协议工作原理 超文本传输协议是互联网上应用最为广泛的一种网络协议,那么你对超文本传输协议了解多少呢?以下是由我整理关于什么是超文本传输协议的内容,希望大家喜欢! 超文本传输协议的技术架构 是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的请求。(我们称这个客户端)叫用户代理(user agent)。应答的服务器上存储着(一些)资源,比如HTML文件和图像。(我们称)这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个中间层,比如代理,网关,或者隧道(tunnels)。尽管TCP/IP协议是互联网上最流行的应用,协议并没有规定必须使用它和(基于)它支持的层。事实上,可以在任何其他互联网协议上,或者在其他网络上实现。只假定(其下层协议提供)可靠的传输,任何能够提供这种保证的协议都可以被其使用。 通常,由客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如"/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。

使用TCP而不是UDP的原因在于(打开)一个网页必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据,和错误纠正。 通过或者S协议请求的资源由统一资源标示符(Uniform Resource Identifiers)(或者,更准确一些,URLs)来标识。 超文本传输协议的功能 协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW 服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过协议传输所要访问的超文本信息。包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。 我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL 或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。 超文本传输协议的运作方式 在WWW中,"客户"与"服务器"是一个相对的概念,只存在于一个特定的

计算机网络原理 超文本传输协议(HTTP)

计算机网络原理超文本传输协议(HTTP) HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。从层次的角度看,HITP是面向事务的产应用层协议.它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。 HTTP协议不仅保证计算机正确快速地传输超文本文档,还准确了传输文档中位置等。所以我们在浏览器中看到的网页地址都是以“http://”开头的。 由于HTTP协议是基于客户机/服务器模式。所以客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。 许多HTTP通讯是由一个用户代理初始化的并且包括一个申请在源服务器上资源的请求。最简单的情况可能是在用户代理和服务器之间通过一个单独的连接来完成。在Internet上,HTTP通讯通常发生在TCP/IP连接之上。但这并不预示着HTTP协议在Internet或其它网络的其它协议之上才能完成。HTTP只预示着一个可靠的传输。所以万维网的大致工作过程如图7-14所示。 图7-14 万维网的工作过程 在WWW中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、释放连接。这就好像上面的例子,我们电话订货的全过程。 每个万维网网点都有一个服务器进程,它不断地监听TCP的端口80,以便发现是否有浏览器〔即客户进程)向它发出连接建立请求。一旦监听到连接建立请求并建立了TCP连接之后,浏览器就向服务器发出浏览某个页面的请求,服务器接着就返回所请求的页面作为响应。最后,TCP连接就被释放了。在浏览器和服务器之间的请求和响应的交互,必须按照规定的格式和遵循一定的规则。这些格式和规则就是超文本传送协议HTTP。 HTTP规定在HTTP客户与HTTP服务器之间的每次交互都由一个ASCll码串构成的请求和一个“类MIME(MIME-like)的响应组成。虽然大家都使用TCP连接进行传送,但标准并没有这样明确规定。 用户浏览页面的方法有两种。一种方法是在浏览器的地址窗口中键入所要找的页面的URL。另一种方法是在某一个页面中用鼠标点击一个可选部分,这时浏览器自动在因特网上找到所要链接的页面。

相关主题