HTTP协议简介及其工作原理

HTTP协议简介及其工作原理

1.HTTP的概述

超文本传输协议(HTTP)是万维网应用层的协议,是通过两个程序实现:一个是客户端程序(一般称为浏览器),另一个是服务器(常称Web服务器)。这两个通常运行在不同的主机上通过交换HTTP报文来完成网页请求和响应。并且HTTP定义了报文的结构和客户/服务器之间交换报文的规则。

2. HTTP的工作流程

浏览器可以向web服务器发送请求并显示收到的网页,当用户在浏览器地址栏中输入一个URL或点击一个超连接时,浏览器就向服务器发出了HTTP请求,该请求被送往由URL 指定的WEB服务器,WEB服务器接收到请求后,进行相关文档的检索并以HTTP规定的格式送回所要求的文件或其他相关信息,再由用户计算机上的浏览器负责解释和显示。

在HTTP协议中,由于WEB服务器在发送用户要求的文档过程中,并不储存任何有关客户端的状态信息。如果某个客户端在几秒钟内两次要求同一文档,服务器绝对不会认为不合理,因为它根本不记得用户端曾经来访过,因此HTTP 不维持客户端状态,故它又被称为无状态协议。

3. HTTP运作过程中的连接

3.1连接过程说明

假设某个网页有10个JPFG图像,总共11个对象存在同一个服务器中,该网页的基本文档形式URL为:

https://www.360docs.net/doc/065331192.html,/somedepartment/home.index

当采用HTTP/1.0时,WEB服务过程:

⑴.HTTP的客户端启用了对https://www.360docs.net/doc/065331192.html,服务器的TCP连接,该服务器的80

号端口(HTTP的默认端口)用来监听来自网络的网络服务请求。

⑵. HTTP的客户端通过第一步建立的链接套接字发送“请求报文”。请求报文中包含了文

档的路径名(/somedepartment/home.index )。

⑶.HTTP服务器通过第一步建立连接套接字收到了该请求报文,从磁盘或内存中查找

/somedepartment/home.index,将文档封存在HTTP的“相应报文”中,并通过先前建立的套接字将该报文送到客户端。

⑷. HTTP服务器告诉TCP断开连接(TCP在客户端完全收到响应报文之前不会断开TCP

连接)。

⑸.当客户端接受完响应报文,本次TCP连接即告结束。到达的报文说明所封装的内容是

HTML基本文件,客户端从响应报文中取出文件,对HTML文件进行解析,从而发现该文件还要引用另外10个JPEG对象。

⑹.针对所有的JPEG对象,需要重复进行前四个步骤。

上述步骤使用的是非坚持连接的的工作模式,由于服务器在每个对象发送后都要关闭TCP连接。由于TCP连接传输一个请求报文和一个响应报文,这样上述例子传送一个网页需要11次TCP连接,效率比较低。由于每个请求的对象建立和维持一个“崭新”的连接,在客户端和服务器端都要为TCP分配缓存并保持TCP变量,这会对同时几百个客户服务端的WEB服务器造成城中负担。

3.2 提高HTTP服务效率的两种方法

⒈从一个客户端同时发送多个TCP连接并列到一个WEB服务器上,即建立“并行”的

TCP连接,目前浏览器可以配置5~10个并行连接,每个连接完成一次HTTP的报文交换,但其没有从根本上解决服务器负担问题。

2.使用持续连接模式,服务器在完成一次HTTP报文交互后继续保持连接,统一客户端

和服务器之间后继的请求和响应报文可以在原来的连接进行。

4.HTTP报文格式

4.1送往服务器的请求报文

下面是一个浏览器发往服务器的请求报文样例:

GET/test/file.hmtl HTTP/1.0

Accept:text/plain

Accept:application/x-html

Accept:application/html

Accept:text/x-html

Accept:text/html

Accept:audio/*

Accept:text/x-setext

Accept:*/*

请求报文样例的方法字段一般格式: HTTP-method identifier HTTP-version 解释如下:

HTTP-method :指定HTTP 方法,可以说明对URL 指向的对象进行什么样的操作。该方法常用的有:GET 或POST 可以使用网页中的表单向WEB 服务器传送数据,在请求报文样例中使用get 方法。HEAD :请求一个对向有关的首部信息。

identifier :资源标识符(这里为去掉协议和因特网域名字符串后的URL ,如报文是送往代理服务器的则为整个URL

HTTP-version :目前客户端使用的HTTP 协议版本。

请求报文由两部分组成:Method 字段,它是请求的第一行,指定使用的HTTP 方法和服务器上资源地址;然后HTTP header 字段,他把有关客户端语HTML 文件的解析能力的相关信息传到服务器上。

方法字段包含三个文本字段,中间用空格(SP )或制表符(T ab )分开。

4.2服务器送往客户端的响应报文。

服务器接受来自浏览器的请求时,根据GET , POST 或HEAD 等指定的方法取得来自浏览器的数据或要求,并按ACTION 指定的资源对象进行相应的处理,然后把处理结果传回客户端。有关会话状态 的报文会通过返回浏览器的响应报文的首部传给客户端,与客户端送往请求首部字段一样,响应首部字段也都是有些回车换行结尾的文本行。响应首部的结束也是由仅包含回车换行的一个空行表示,响应数据接在空行后面。

下面是一个服务器响应客户端请求后从服务器放往客户端的响应报文样例: (1) HTTP/1.0 200 OK

(2) Date:Friday,23-Sep-94 16:04:09 GMT (3) Server:NCSA/1.3 (4) MIME-vereoin:1.0 (5) Content-type:text/html

(6) Last-modified:Friday,23-Sep-94 16:03:27 GMT (7) Contentlength:145

(8) [a blank line,containing only CRLF]

Request line 请求报文的一般格式 相应首部信息

(9) (10)

(11) test

12) (13)

(14) just a test (15)

Are you see it? (16) (17)

响应报文样例中的第一行是状态行,让客户端知道服务器使用的协议和请求是否成功完成。 响应报文样例中的第一行的一般格式是:

HTTP-vereion Status-code explanation HTTP_ version 字段指出服务器使用的版本。

Status-code 是200~599之间的数字,指出链接的状态。

Explanatio 字段是文本字符串,它提供有关状态的更多解释信息,解释字符串可能随服务器的不同而不同,而状态码由HTTP 规范定义。

4.3几种由HTTP 明确规范定义的状态码

4.3.1会话成功(200~299) Request line HTML

文档

HTTP 响应报文的一般格式

4.3.2重定向(300~399,即表示URL指定的对向已经被移动到其他位置,服务器向客户端发回对象新的URL)

4.3.3错误报文

http协议正文

竭诚为您提供优质文档/双击可除 http协议正文 篇一:http协议 http协议详解 引言 http是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年 提出,经过几年的使用与发展,得到不断地完善和扩展。目前在www中使用的是http/1.0的第六版,http/1.1的规范 化工作正在进行之中,而且http-ng(nextgenerationofhttp)的建议已经提出。http协议的主要特点可概括如下: 1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有get、head、post。每种方 法规定了客户与服务器联系的类型不同。由于http协议简单,使得http服务器的程序规模小,因而通信速度很快。 3.灵活:http允许传输任意类型的数据对象。正在传输的类型由content-type加以标记。 4.无连接:无连接的含义是限制每次连接只处理一个请

求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 5.无状态:http协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 一、http协议详解之uRl篇 http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于tcp的连接方式,http1.1版本中给出一种持续连接的机制,绝大多数的web开发,都是构建在http协议之上的web应用。 httpuRl(uRl是一种特殊类型的uRi,包含了用于查找某个资源的足够的信息)的格式如下: http://host[":"port][abs_path] http表示要通过http协议来定位网络资源;host表示合法的internet主机域名或者ip地址;port指定一个端口号,为空则使用缺省端口80;abs_path指定请求资源的uRi;如果uRl中没有给出abs_path,那么当它作为请求uRi时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。eg: 1、输入:

HTTP协议简介及其工作原理

HTTP协议简介及其工作原理 1.HTTP的概述 超文本传输协议(HTTP)是万维网应用层的协议,是通过两个程序实现:一个是客户端程序(一般称为浏览器),另一个是服务器(常称Web服务器)。这两个通常运行在不同的主机上通过交换HTTP报文来完成网页请求和响应。并且HTTP定义了报文的结构和客户/服务器之间交换报文的规则。 2. HTTP的工作流程 浏览器可以向web服务器发送请求并显示收到的网页,当用户在浏览器地址栏中输入一个URL或点击一个超连接时,浏览器就向服务器发出了HTTP请求,该请求被送往由URL 指定的WEB服务器,WEB服务器接收到请求后,进行相关文档的检索并以HTTP规定的格式送回所要求的文件或其他相关信息,再由用户计算机上的浏览器负责解释和显示。 在HTTP协议中,由于WEB服务器在发送用户要求的文档过程中,并不储存任何有关客户端的状态信息。如果某个客户端在几秒钟内两次要求同一文档,服务器绝对不会认为不合理,因为它根本不记得用户端曾经来访过,因此HTTP 不维持客户端状态,故它又被称为无状态协议。 3. HTTP运作过程中的连接 3.1连接过程说明 假设某个网页有10个JPFG图像,总共11个对象存在同一个服务器中,该网页的基本文档形式URL为: https://www.360docs.net/doc/065331192.html,/somedepartment/home.index 当采用HTTP/1.0时,WEB服务过程: ⑴.HTTP的客户端启用了对https://www.360docs.net/doc/065331192.html,服务器的TCP连接,该服务器的80 号端口(HTTP的默认端口)用来监听来自网络的网络服务请求。 ⑵. HTTP的客户端通过第一步建立的链接套接字发送“请求报文”。请求报文中包含了文 档的路径名(/somedepartment/home.index )。 ⑶.HTTP服务器通过第一步建立连接套接字收到了该请求报文,从磁盘或内存中查找 /somedepartment/home.index,将文档封存在HTTP的“相应报文”中,并通过先前建立的套接字将该报文送到客户端。 ⑷. HTTP服务器告诉TCP断开连接(TCP在客户端完全收到响应报文之前不会断开TCP 连接)。 ⑸.当客户端接受完响应报文,本次TCP连接即告结束。到达的报文说明所封装的内容是

Http协议详解

引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。H TTP协议的主要特点可概括如下:1.支持客户/服务器模式。2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。3.灵活:HTTP 允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 一、HTTP协议详解之URL篇 http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种

持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。 HTTP URL (URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下:h ttp://host[":"port][abs_path]http表示要通过HTTP协议来定位网络资源;host表示合法的Internet主机域名或者IP地址;port指定一个端口号,为空则使用缺省端口80;abs_path 指定请求资源的URI;如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。e g:1、输入:https://www.360docs.net/doc/065331192.html,浏览器自动转换成:https://www.360docs.net/doc/065331192.html,/2、http:192.168.0.116:8080/index.jsp 二、HTTP协议详解之请求篇 http请求由三部分组成,分别是:请求行、消息报头、请求正文1、请求行以一个方法符号开头,以空格分开,后面跟着请求的URI 和协议的版本,格式如下:Method Request-URI HTTP-Version CRLF 其中 Method表示请求方法;Request-URI是一个统一资源标识符;HTTP-Version表示请求的HTTP协议版本;CRLF表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)。 请求方法(所有方法全为大写)有多种,各个方法的解释如下:GET 请求获取Request-URI所标识的资源P OST 在

必须掌握的http协议知识

HTTP协议 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议。所有的www文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。是用于从万维网(Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP/0.9 已过时。只接受GET 一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持POST 方法,所以客户端无法向服务器传递太多信息。 HTTP/1.0 这是第一个在通讯中指定版本号的HTTP 协议版本,至今仍被广泛采用,特别是在代理服务器中。HTTP/1.1 当前版本。持久连接被默认采用,并能很好地配合代理服务器工作。还支持以管道方式同时发送多个请求,以便降低线路负载,提高传输速度。 HTTP/1.1相较于HTTP/1.0 协议的区别主要体现在: ?缓存处理 ?带宽优化及网络连接的使用 ?错误通知的管理 ?消息在网络中的发送 ?互联网地址的维护 ?安全性及完整性

HTTP 工作原理 HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。 Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。 Web服务器根据接收到的请求后,向客户端发送响应信息。 HTTP默认端口号为80,但是你也可以改为8080或者其他端口。 HTTP三点注意事项: ?HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 ?HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。 ?HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 以下图表展示了HTTP协议通信流程:

实验六利用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 浏览器中输入:https://www.360docs.net/doc/065331192.html, (4)停止分组俘获。 图1.1 利用Wireshark俘获的HTTP分组 在URL https://www.360docs.net/doc/065331192.html,中,https://www.360docs.net/doc/065331192.html,是一个具体的web 服务器的域名。最前面有两个DNS分组。第一个分组是将域名https://www.360docs.net/doc/065331192.html,

转换成为对应的IP 地址的请求,第二个分组包含了转换的结果。这个转换是必要的,因为网络层协议——IP协议,是通过点分十进制来表示因特网主机的,而不是通过https://www.360docs.net/doc/065331192.html,这样的域名。当输入URL http://https://www.360docs.net/doc/065331192.html, 时,将要求Web服务器从主机https://www.360docs.net/doc/065331192.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中机器的域名,本例中是https://www.360docs.net/doc/065331192.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协议分析 学生姓名:杨玉刚 学生学号: 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)

HTTP协议解析

文章来源:网络转载点击数:1148 更新时间:2009-9-14 10:35:27 字体:[大中小] 收藏到: HTTP协议详解 掌握HTTP虽然不是必须的,但是如果你知道它的工作原理,那么在学习JSP开发中的某些知识就可以易如反掌了。 一,HTTP协议详解之URL篇 http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。 HTTP URL (URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下:http://host[":"port][abs_path] http 表示要通过HTTP协议来定位网络资源;host表示合法的Internet主机域名或者IP地址;port 指定一个端口号,为空则使用缺省端口80;abs_path指定请求资源的URI;如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。eg: 1、输入:https://www.360docs.net/doc/065331192.html, 浏览器自动转换成:https://www.360docs.net/doc/065331192.html,/ 2、http:192.168.0.116:8080/index.jsp 二、HTTP协议详解之请求篇 http请求由三部分组成,分别是:请求行、消息报头、请求正文 1、请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:Method Request-URI HTTP-Version CRLF 其中Method表示请求方法;Request-URI是一个统一资源标识符;HTTP-Version表示请求的HTTP 协议版本;CRLF表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)。请求方法(所有方法全为大写)有多种,各个方法的解释如下: GET 请求获取Request-URI所标识的资源 POST 在Request-URI所标识的资源后附加新的数据 HEAD 请求获取由Request-URI所标识的资源的响应消息报头 PUT 请求服务器存储一个资源,并用Request-URI作为其标识 DELETE 请求服务器删除Request-URI所标识的资源 TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断 CONNECT 保留将来使用 OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求 应用举例: GET方法:在浏览器的地址栏中输入网址的方式访问网页时,浏览器采用GET方法向服务器获取资源,eg:GET /form.html HTTP/1.1 (CRLF) POST方法要求被请求服务器接受附在请求后面的数据,常用于提交表单。 eg:POST /reg.jsp HTTP/ (CRLF) Accept:image/gif,image/x-xbit,... (CRLF) ...

HTTP协议分析

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式。 2.简单快速: 客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、H EAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活: HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 4.无连接: 无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 5.无状态: HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 一、HTTP协议(URL)

http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。 HTTP URL (URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下: http: //host[": "port][abs_path] 二、HTTP协议的请求 http请求由三部分组成,分别是: 请求行、消息报头、请求正文 1、请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下: Method Request-URI HTTP-Version CRLF 其中Method表示请求方法;Request-URI是一个统一资源标识符;HTTP-Version表示请求的HTTP协议版本;CRLF表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)。 请求方法(所有方法全为大写)有多种,各个方法的解释如下: GET 请求获取Request-URI所标识的资源 POST 在Request-URI所标识的资源后附加新的数据 HEAD 请求获取由Request-URI所标识的资源的响应消息报头 PUT 请求服务器存储一个资源,并用Request-URI作为其标识

HttpWatch HTTP协议分析指南(详解)

[原创]HttpWatch工具简介及使用技巧 一概述: HttpWatch强大的网页数据分析工具.集成在Internet Explorer工具栏.包括网页摘要.Cookies管理.缓存管理.消息头发送/接受.字符查询.POST 数据和目录管理功能.报告输出HttpWatch 是一款能够收集并显示页页深层信息的软件。它不用代理服务器或一些复杂的网络监控工具,就能够在显示网页同时显示网页请求和回应的日志信息。甚至可以显示浏览器缓存和IE之间的交换信息。集成在Internet Explorer工具栏。 二安装HttpWatch 略过^_^ 三基本功能介绍 启动Httpwatch 从IE的“查看”—“浏览器栏”—“HttpWatch”启动HttpWatch。如下图所示:

以下是HttpWatch程序界面 以下用登录我的邮箱https://www.360docs.net/doc/065331192.html,例子来展示Httpwatch: 点击“Record”后,在IE打开需要录制的网址,https://www.360docs.net/doc/065331192.html,,输入用户名,密码后完成登录操作

1.3.1 Overview(概要)表示选定某个信息显示其概要信息

如上图红框所示: URL:https://www.360docs.net/doc/065331192.html,/external/closea_d.js Result:200 请求的URL是https://www.360docs.net/doc/065331192.html,/external/closea_d.js ,返回的Htpp状态代码结果200,表示成功; Resync URL Browser requested refresh if changed - https://www.360docs.net/doc/065331192.html,/external/closea_d.js

实验 TCP协议与HTTP协议

实验三TCP协议与HTTP协议 学号__142055210__ 姓名__李奋伟__ 实验机IP_ 192.168.1.103______ 实验机MAC地址_34-E6-D7-77-E7-35__ 日期__2016.6.17 实验目的: 掌握TCP协议内容,掌握HTTP协议内容。 实验步骤: 1、捕获TCP三次握手的过程,如下: 2、写出TCP三次握手的原理。 综合上图,设IP地址为192.168.1.254 的主机为A,IP地址为101.199.97.158 的主机为B。可以分析得出,A是客户,B为服务器。 第一次握手: A的TCP客户进程首先创建TCB,然后向B发出连接请求报文段,首部中的同步位SYN=1,同时初始序号seq=0; 第二次握手: B收到连接请求报文段,同意建立连接,向A发送确认。在确认报文段中把SYN和ACK 置为1,确认号ack=1,初始序号seq=0; 第三次握手: TCP客户进程收到B的确认后,向B给出确认。确认报文段的ACK置1,确认号ack=1,自己的序号为seq=1。 这时,A进入ESTABLISHED(已建立连接)状态。B收到A的确认后,也进入ESTABLISHED状态。 3、分析HTTP协议,写出工作过程。 首先捕获一个数据包,如下: 由上图可知通过三次握手连接成功,请求方式为GET;HTTP为 1.1本;浏览器类型是windows/6.2 IntelUS;Host行定义了目标所在的主机为239.255.255.250:1900\r\n。 原始框显示了分组中包含的数据的每个字节.从中可以观察最原始的传输数据.方框左边是十

六进制的数据,右边是ASCII码。 HTTP 协议定义了 Web 客户端(浏览器)如何向 Web 站点请求 Web 页以及 Web 服务器如何将 Web 页传送给客户机。具体来说,这是通过客户端发送 HTTP 请求报文和 HTTP 响应报文来实现的。当用户请求一个页面时(在浏览器中输入网址或者点击网页某一个链接),浏览器会向 Web 服务器发出对该页及其引用的相关对象的 HTTP 请求报文,服务器响应这些请求报文,生成 HTTP 响应报文,并将请求的对象附在 HTTP 响应报文后发送给客户端。由于网页文档的传输需要可靠性的保证,所以 HTTP 协议使用传输层的 TCP 协议作为载体。 4、分析SMTP协议,写出工作过程。 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。 它使用由TCP提供的可靠的数据传输服务把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。跟大多数应用层协议一样,SMTP也存在两个端:在发信人的邮件服务器上执行的客户端和在收信人的邮件服务器上执行的服务器端。SMTP的客户端和服务器端同时运行在每个邮件服务器上。当一个邮件服务器在向其他邮件服务器发送邮件消息时,它是作为SMTP客户在运行。 5、分析FTP协议,写出工作过程。 FTP 是文件传输协议(File Transfer Protocol)的简称。 FTP 基于 TCP 协议,它通过两个 TCP 连接来传输一个文件,一个是控制连接,另一个是数据连接。相应的,在进行文件传输时,FTP 需要两个端口,分别用于控制连接端口(用于给服务器发送指令以及等待服务器响应)和数据传输端口(在客户机和服务器之间发送一个文件或目录列表)。 两种连接的建立都要经过一个“三次握手”的过程,同样,连接释放也要采用“四次握手”方法。控制连接在整个回话期间一直保持打开状态。数据连接是临时建立的,在文件传送结束后被关闭。 6、使用netstat 查看当前的TCP连接,简要说明。 如下:

HTTP协议详解之响应

HTTP协议详解之响应 1.什么是HTTP响应 当服务器收到浏览器的请求后,会发送响应消息给浏览器。一个完整的响应消息主要包括响应首行、响应头信息、空行和响应正文。其中,每个部分都代表了不同的含义。下面我们会围绕HTTP响应消息的每个组成部分进行详细分析。 2.HTTP响应消息分析 下面我们通过HttpWatch抓包工具,抓取一段响应信息,然后对该信息进行分析。 (1)创建web应用Example05,将该应用发布到Tomcat服务器,启动Tomcat服务器。在浏览器地址栏输入http://localhost:8080/Example05/index.jsp。使用HttpWatch进行抓包,抓取的响应消息,如例1-1所示: 例1-1响应消息 HTTP/1.1200OK Server:Apache-Coyote/1.1 Content-Type:text/html;charset=UTF-8 Content-Length:624 Date:Mon,03Nov201406:37:28GMT My JSP'index.jsp'starting page This is my JSP page.

HTTP协议详解,你所不知道的

协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器 目前我们使用的是HTTP/1.1 版本 Web服务器,浏览器,代理服务器 当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。原理是怎样的呢? 实际上我们输入URL后,我们的浏览器给Web服务器发送了一个Request, Web服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器,浏览器解析Response中的HTML,这样我们就看到了网页,过程如下图所示 我们的Request 有可能是经过了代理服务器,最后才到达Web服务器的。 过程如下图所示

代理服务器就是网络信息的中转站,有什么功能呢? 1. 提高访问速度,大多数的代理服务器都有缓存功能。 2. 突破限制,也就是翻-墙了 3. 隐藏身份。 URL详解 URL(Uniform Resource Locator) 地址用于描述一个网络上的资源, 基本格式如下 schema://host[:port#]/path/.../[?query-string][#anchor] scheme 指定低层使用的协议(例如:http, https, ftp) host HTTP服务器的IP地址或者域名 port# HTTP服务器的默认端口是80,这种情况下端口号可以省略。如果使用了别的端口,必须指明,例如https://www.360docs.net/doc/065331192.html,:8080/ path 访问资源的路径 query-string 发送给http服务器的数据 anchor- 锚 URL 的一个例子 https://www.360docs.net/doc/065331192.html,/sj/test/test.aspx?name=sviergn&x=true#stuff Schema: http host: https://www.360docs.net/doc/065331192.html, path: /sj/test Query String: name=sviergn&x=true Anchor: stuff 复制代码

1、HTTP协议分析

开放式课题 实验报告 实验名称:基于Wireshark软件的HTTP协议分析 学号: 姓名: 指导教师:宫婧 指导单位:理学院

目录 实验目的..........................................................错误!未定义书签。 1) 掌握Wireshark软件使用方法............. 错误!未定义书签。 2)理解HTTP协议工作原理..................................... 错误!未定义书签。 实验任务.................................... 错误!未定义书签。 1) 抓取数据包........................... 错误!未定义书签。 2)分析数据包........................... 错误!未定义书签。实验环境.............................. 错误!未定义书签。软件介绍 (2) 1) wireshark软件简介 (2) 2) wireshark软件的应用 (2) 3) wireshark软件的价值 (2) 4) wireshark软件的操作简介 (3) HTTP协议详解............................... 错误!未定义书签。 1) HTTP协议基础概念....................... 错误!未定义书签。 2) HTTP协议工作流程....................... 错误!未定义书签。 3) HTTP协议请求响应信息 (6) HTTP请求报文信息....................................6 HTTP响应报文信息....................................7HTTP数据包分析 (8) 1)网络接口层信息 (10) 2)网络层信息 (11) 3)传输层信息 (12) 4)应用层信息 (13) 总结........................................ 错误!未定义书签。参考文献.. (14)

http协议分析报告实例

HTTP协议分析 1 实验目的 分析HTTP协议报文首部格式,理解HTTP协议工作过程 2 实验内容 截获HTTP报文,分析HTTP协议报文首部格式,学习HTTP协议工作过程。 3 实验原理 超文本传送协议HTTP(HyperText Transfer Protocol),是万维网客户程序与万维网服务器程序之间的交互所要严格遵守的协议。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送。对于万维网站点的访问要使用的HTTP协议。 HTTP的URL的一般形式是: http://<主机>:<端口>/<路径> WWW采用 B/S 结构,客户使用浏览器在 URL栏中输入 HTTP 请求,即输入对方服务器的地址,向 web 服务器提出请求。如访问师院的机构设置页面 https://www.360docs.net/doc/065331192.html,/jigou/gljg.htm,具体的工作过程如下: (1) 浏览器分析指向页面的URL. (2) 浏览器向DNS请求解析https://www.360docs.net/doc/065331192.html,的IP地址。 (3) 域名系统DNS解析出师院服务器的IP地址 (4) 浏览器与服务器建立TCP连接 (5) 浏览器发出取文件命令:GET /jigou/gljg.htm. (6) 服务器https://www.360docs.net/doc/065331192.html,给出响应,将文件 gljg.htm发送给浏览器。 (7) TCP连接释放。 (8) 浏览器显示“北航机构设置”的页面。 服务器提供的默认端口号为80. 4 实验步骤 步骤 1 在计算机上打开wireshark软件,进行报文截获。 步骤 2 从浏览器上访问https://www.360docs.net/doc/065331192.html,页面,具体操作为打开网页,浏览,关掉网页。 步骤 3 停止wireshark的报文截获,结果命名为http_学号,保存在本机或上 传至服务器目录下。

计算机网络原理 超文本传输协议(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。另一种方法是在某一个页面中用鼠标点击一个可选部分,这时浏览器自动在因特网上找到所要链接的页面。

HTTP协议详解

当今web程序的开发技术真是百家争鸣,https://www.360docs.net/doc/065331192.html,, PHP, JSP,Perl, AJAX 等等。无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获HTTP Request和HTTP Response, 关于Fiddler工具的用法,请看我另一篇博客[Fiddler 教程] 阅读目录 1. 什么是HTTP协议 2. Web服务器,浏览器,代理服务器 3. URL详解 4. HTTP协议是无状态的 5. 打开一个网页需要浏览器发送很多次Request 6. HTTP消息的结构 7. Get和Post方法的区别 8. 状态码 9. HTTP Request header 10. HTTP Response header 11. HTTP协议是无状态的和Connection: keep-alive的区别 什么是HTTP协议 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器 目前我们使用的是HTTP/1.1 版本 Web服务器,浏览器,代理服务器 当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。原理是怎样的呢? 实际上我们输入URL后,我们的浏览器给Web服务器发送了一个Request, Web服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器,浏览器解析Response 中的HTML,这样我们就看到了网页,过程如下图所示

HTTP协议详解(博客园)

HTTP 协议详解 当今web程序的开发技术真是百家争鸣,https://www.360docs.net/doc/065331192.html,, PHP, JSP,Perl, AJAX 等等。无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要,因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获HTTP Request和HTTP Response, 关于Fiddler工具的用法,请看我另一篇博客[Fiddler 教程] 阅读目录 1什么是HTTP协议 2Web服务器,浏览器,代理服务器 3URL详解 4HTTP协议是无状态的 5HTTP消息的结构 6Get和Post方法的区别 7状态码 8HTTP Request header 9HTTP Response header 10HTTP协议是无状态的和Connection: keep-alive的区别 什么是HTTP协议 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务

器传送到客户端的浏览器 目前我们使用的是HTTP/1.1 版本 Web服务器,浏览器,代理服务器 当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。原理是怎样的呢? 实际上我们输入URL后,我们的浏览器给Web服务器发送了一个Request, Web服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器,浏览器解析Response中的HTML,这样我们就看到了网页,过程如下图所示 我们的Request 有可能是经过了代理服务器,最后才到达Web服务器的。 过程如下图所示

基于wireshark的HTTP协议分析

长沙理工大学计算机与通信工程学院 《计算机网络》课程设计报告 学 院 计算机与通信工程 专 业 通信工程 班 级 通信1003班 学 号 201054080333 学生姓名 赵旋 指导教师 熊兵 课程成绩 完成日期 2013年7月11日

课程设计成绩评定 院系计算机与通信工程专业通信工程 班级1003 学号201054080333 学生姓名赵旋指导教师熊兵 指导教师对学生在课程设计中的评价 评分项目优良中及格不及格学习态度与遵守纪律情况 课程设计完成情况 课程设计报告的质量 指导教师成绩指导教师签字年月日 课程设计答辩组对学生在课程设计中的评价 评分项目优良中及格不及格课程设计完成情况 课程设计报告的质量 课程设计答辩 答辩组成绩答辩组长签字年月日 课程设计综合成绩 注:课程设计综合成绩=指导教师成绩×60%+答辩组成绩×40%

课程设计任务书 计算机与通信工程学院通信工程专业 课程名称计算机网络时间2013学年第二学期19~20周 学生姓名赵旋指导老师熊兵 题目基于wireshark的HTTP协议分析 主要内容: 1、利用wireshark软件进行抓包; 2、分析HTTP协议的数据包; 3、分析HTTP(Address Resolution Protocol)报文格式; 要求: (1)掌握用wireshark软件的操作。 (2)按照要求来写课程设计报告,能够正确分析HTTP协议的内容。 应当提交的文件: (1)课程设计报告。

基于Wireshark的HTTP协议分析 学生姓名:赵旋指导老师:熊兵 摘要本文通过协议分析工具Wireshark软件作为HTTP协议的设计平台,通过对连接网页时用Wireshark进行抓取协议,再过滤得到HTTP协议。并分析HTTP协议从而了解HTTP协议的数据包。通过此次课设了解并且学会使用Wireshark软件,学会如何利用Wireshark进行捕获抓包、过滤对协议进行分析,而且进一步掌握HTTP协议。 关键词Wireshark;数据包;HTTP协议 1 引言 经过计算机网络基础前面时间的学习,使我们对网络应用层的协议有了一定的了解。协议就像一门语言,需要定义语法、语意和语序(时序、同步)。语法即为协议的具体格式;语意定义了具体格式中具体指代,比如说,空一行后的数据表示为数据字段;就目前说掌握的只是而言,我对语序的理解还不是很清楚,这里就不加赘述。 下面将主要从应用层的协议出发,利用我们所学习过的知识,对不同的应用请求响应过程进行分析,探究在不同网络工作环境下网络协议的变化。 1.1 课程设计目的 (1) 熟悉并掌握WireShark的基本操作,了解网络协议实体间的交互以及报文交换。 (2) 通过对WireShark抓包实例进行分析,进一步加深对常用网络协议的理解,如DNS和HTTP协议。 (3) 培养理论联系实践的科学研究精神。

相关文档
最新文档