HTTP协议分析
网络实验--分析HTTP,DNS协议

实验七利用分组嗅探器(ethereal)分析协议HTTP和DNS一、实验目的1、分析HTTP协议2、分析DNS协议二、实验环境与因特网连接的计算机网络系统;主机操作系统为windows;Ethereal、IE等软件。
三、实验步骤1、HTTP GET/response交互首先通过下载一个非常简单的HTML文件(该文件非常短,并且不嵌入任何对象)。
(1)启动Web browser。
(2)启动Ethereal分组嗅探器。
在窗口的显示过滤说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
(3)一分钟以后,开始Ethereal分组俘获。
(4)在打开的Web browser窗口中输入一下地址(浏览器中将显示一个只有一行文字的非常简单的HTML文件):/ethereal-labs/HTTP-ethereal-file1.html(5)停止分组俘获。
窗口如图1所示。
根据俘获窗口内容,回答“四、实验报告内容”中的1-6题。
图1分组俘获窗口2、HTTP 条件GET/response交互(1)启动浏览器,清空浏览器的缓存(在浏览器中,选择“工具”菜单中的“Internet 选项”命令,在出现的对话框中,选择“删除文件”)。
(2)启动Ethereal分组俘获器。
开始Ethereal分组俘获。
(3)在浏览器的地址栏中输入以下URL: /ethereal-labs/HTTP-ethereal-file2.html,你的浏览器中将显示一个具有五行的非常简单的HTML文件。
(4)在你的浏览器中重新输入相同的URL或单击浏览器中的“刷新”按钮。
(5)停止Ethereal分组俘获,在显示过滤筛选说明处输入“http”,分组列表子窗口中将只显示所俘获到的HTTP报文。
根据操作回答“四、实验报告内容”中的7-10题。
3、获取长文件(1)启动浏览器,将浏览器的缓存清空。
(2)启动Ethereal分组俘获器。
开始Ethereal分组俘获。
HTTP协议详解(深入理解)

HTTP协议详解(深⼊理解)引⼊超⽂本传输协议(HTTP,HyperText Transfer Protocol)是互联⽹上应⽤最为⼴泛的⼀种⽹络协议。
所有的WWW⽂件都必须遵守这个标准。
设计HTTP最初的⽬的是为了提供⼀种发布和接收HTML页⾯的⽅法。
1960年美国⼈Ted Nelson构思了⼀种通过计算机处理⽂本信息的⽅法,并称之为超⽂本(hypertext),这成为了HTTP超⽂本传输协议标准架构的发展根基。
Ted Nelson组织协调万维⽹协会(World Wide Web Consortium)和互联⽹⼯程⼯作⼩组(Internet Engineering Task Force )共同合作研究,最终发布了⼀系列的RFC,其中著名的RFC 2616定义了HTTP 1.1。
http协议的作⽤及特点HTTP是⼀个客户端和服务器端请求和应答的标准(TCP)。
客户端是终端⽤户,服务器端是⽹站。
通过使⽤Web浏览器、⽹络爬⾍或者其它的⼯具,客户端发起⼀个到服务器上指定端⼝(默认端⼝为80)的HTTP请求。
(我们称这个客户端)叫⽤户代理(user agent)。
应答的服务器上存储着(⼀些)资源,⽐如HTML⽂件和图像。
(我们称)这个应答服务器为源服务器(origin server)。
在⽤户代理和源服务器中间可能存在多个中间层,⽐如代理,⽹关,或者隧道(tunnels)。
尽管TCP/IP协议是互联⽹上最流⾏的应⽤,HTTP协议并没有规定必须使⽤它和(基于)它⽀持的层。
事实上,HTTP可以在任何其他互联⽹协议上,或者在其他⽹络上实现。
HTTP只假定(其下层协议提供)可靠的传输,任何能够提供这种保证的协议都可以被其使⽤。
通常,由HTTP客户端发起⼀个请求,建⽴⼀个到服务器指定端⼝(默认是80端⼝)的TCP连接。
HTTP服务器则在那个端⼝监听客户端发送过来的请求。
⼀旦收到请求,服务器(向客户端)发回⼀个状态⾏,⽐如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的⽂件、错误消息、或者其它⼀些信息。
实验1 Wireshark协议分析-HTTP协议

实验二利用Wireshark分析协议HTTP一、实验目的分析HTTP协议二、实验环境与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。
三、实验步骤1、利用Wireshark俘获HTTP分组(1)在进行跟踪之前,我们首先清空Web 浏览器的高速缓存来确保Web网页是从网络中获取的,而不是从高速缓冲中取得的。
打开浏览器,找到Internet选项,点击后出现如图1所示的界面.以IE浏览器为例,步骤为:点击浏览器右上角的“工具”-“Internet 选项”。
图1 Internet选项之后,还要在客户端清空DNS高速缓存,以确保Web服务器域名到IP地址的映射是从网络中请求的.在Windows系列的机器上,可在命令提示行输入ipconfig/flushdns 完成操作(如图2所示);具体步骤及Linux、MAC等系统的清空方法请参见:http://uu4u.iteye。
com/blog/1674716.图2 命令提示行输入ipconfig/flushdns完成操作(2)启动Wireshark 分组俘获器.(3)在Web 浏览器中输入:http://www。
cqu。
/(重庆大学网站)。
(4)停止分组俘获。
图3利用Wireshark俘获的HTTP分组在URL http://www。
中,www.cqu。
edu。
cn是一个具体的web 服务器的主机名。
最前面有两个DNS分组.第一个分组是将主机名www。
cqu。
edu。
cn转换成为对应的IP 地址的请求,第二个分组包含了转换的结果.这个转换是必要的,因为网络层协议-—IP协议,是通过点分十进制来表示因特网主机的,而不是通过www。
cqu。
edu。
cn这样的主机名。
当输入URL http://www。
cqu。
edu。
cn时,将要求Web服务器从主机www.cqu。
上请求数据,但首先Web浏览器必须确定这个主机的IP地址。
小提示—-域名和主机关系举例:域名下,有主机server1和server2,其主机全名就是server1。
HTTP协议分析

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。
它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。
目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。
HTTP协议的主要特点可概括如下: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,包含了用于查找某个资源的足够的信息)的格式如下: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字符)。
HTTP协议分析

HTTP协议分析1.简介HTTP协议(Hyper Text Transfer Protocol,超⽂本传输协议),是⽤于从万维⽹(WWW:World Wide Web )服务器传输超⽂本到本地浏览器的传送协议。
HTTP基于TCP/IP通信协议来传递数据。
HTTP基于客户端/服务端(C/S)架构模型,通过⼀个可靠的链接来交换信息,是⼀个⽆状态的请求/响应协议。
2.特点(1)HTTP是⽆连接:⽆连接的含义是限制每次连接只处理⼀个请求。
服务器处理完客户的请求,并收到客户的应答后,即断开连接。
采⽤这种⽅式可以节省传输时间。
(2)HTTP是媒体独⽴的:只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。
客户端以及服务器指定使⽤适合的MIME-type内容类型。
(3)HTTP是⽆状态:⽆状态是指协议对于事务处理没有记忆能⼒。
缺少状态意味着如果后续处理需要前⾯的信息,则它必须重传,这样可能导致每次连接传送的数据量增⼤。
另⼀⽅⾯,在服务器不需要先前信息时它的应答就较快。
HTTP请求报⽂HTTP请求报⽂由3部分组成(请求⾏+请求头+请求体):请求⾏:①是请求⽅法,GET和POST是最常见的HTTP⽅法,除此以外还包括DELETE、HEAD、OPTIONS、PUT、TRACE。
②为请求对应的URL地址,它和报⽂头的Host属性组成完整的请求URL。
③是协议名称及版本号。
请求头:④是HTTP的报⽂头,报⽂头包含若⼲个属性,格式为“属性名:属性值”,服务端据此获取客户端的信息。
与缓存相关的规则信息,均包含在header中请求体:⑤是报⽂体,它将⼀个页⾯表单中的组件值通过param1=value1¶m2=value2的键值对形式编码成⼀个格式化串,它承载多个请求参数的数据。
不但报⽂体可以传递请求参数,请求URL也可以通过类似于“/chapter15/user.html? param1=value1¶m2=value2”的⽅式传递请求参数。
HTTP协议原理分析课程设计

HTTP协议原理分析课程设计一、课程目标知识目标:1. 学生理解HTTP协议的基本原理和功能,掌握HTTP请求与响应的结构;2. 学生了解HTTP协议的发展历程,掌握HTTP/1.1和HTTP/2的主要区别;3. 学生掌握常见的HTTP状态码及其含义。
技能目标:1. 学生能运用所学知识分析网络请求,理解浏览器与服务器之间的通信过程;2. 学生能够使用抓包工具,对HTTP请求和响应进行实际操作和分析;3. 学生具备运用HTTP协议进行简单网站搭建的能力。
情感态度价值观目标:1. 培养学生对计算机网络通信的兴趣,激发他们探索网络技术奥秘的欲望;2. 培养学生团队协作意识,学会在分组讨论和实践中共同解决问题;3. 增强学生的网络安全意识,了解HTTP协议在安全方面的重要性。
课程性质:本课程为计算机网络通信领域的入门课程,旨在让学生掌握HTTP 协议的基本原理和实际应用。
学生特点:学生处于高年级阶段,具备一定的计算机和网络基础,对新技术充满好奇心,具备一定的自主学习能力。
教学要求:教师应采用理论教学与实际操作相结合的方式,引导学生通过实例分析、分组讨论等途径,深入理解HTTP协议原理,培养实际操作能力。
同时,注重培养学生的网络安全意识和团队协作精神。
在教学过程中,关注学生的学习成果,及时调整教学策略,确保课程目标的实现。
二、教学内容1. HTTP协议概述- HTTP协议的发展历程- HTTP协议的作用和功能2. HTTP协议工作原理- HTTP请求与响应的结构- HTTP请求方法及其用途- URL的组成与解析3. HTTP状态码- 常见的HTTP状态码分类- 典型状态码及其含义4. HTTP协议版本比较- HTTP/1.1与HTTP/2的主要区别- 新版HTTP协议的优势与应用场景5. 网络抓包工具使用- 常用抓包工具介绍- 抓包操作实践:捕获HTTP请求与响应数据6. 网站搭建实践- 使用HTTP协议搭建简单网站- 部署服务器与客户端通信7. HTTP协议安全- HTTP协议的安全隐患- HTTPS协议及其优势教学内容安排和进度:第1-2周:HTTP协议概述、工作原理第3-4周:HTTP状态码、HTTP协议版本比较第5-6周:网络抓包工具使用、网站搭建实践第7-8周:HTTP协议安全、总结与拓展本教学内容基于教材相关章节,结合课程目标进行选择和组织,确保内容的科学性和系统性。
HTTP协议的原理和应用场景分析

HTTP协议的原理和应用场景分析HTTP协议是现代互联网的基础协议之一,它是超文本传输协议的缩写。
HTTP协议的主要作用是建立在互联网基础设施之上的应用层协议,它使得网络上的应用能够相互通信和交互。
本文将详细介绍HTTP协议的原理和应用场景分析。
一、HTTP协议的原理HTTP协议是一个客户端和服务器之间通信的协议,一个HTTP请求由客户端发送至服务器,服务器响应这个请求,发送相关的数据和内容回到客户端。
HTTP协议是建立在TCP/IP协议之上,使用TCP或UDP端口作为传输层。
HTTP协议的工作方式是客户端发送请求给服务器,服务器回应响应。
HTTP协议的请求部分由以下几个部分组成:1.请求方法:表示请求哪种操作,常见的有GET、POST、HEAD等。
2.请求URI:表示请求的资源及其位置,如:/index.html。
3.协议版本:表示使用HTTP协议的版本号,如:HTTP/1.1。
4.请求头部:包含一些对请求的描述,如Accept、User-Agent 等。
5.请求正文:请求数据,如POST请求时传送的数据。
HTTP协议的响应部分由以下几个部分组成:1.状态码:表示服务器对请求的处理结果,如200表示成功,404表示未找到。
2.协议版本:表示使用HTTP协议的版本号,如:HTTP/1.1。
3.响应头部:包含一些对响应的描述,如Content-Type、Content-Length等。
4.响应正文:响应数据,如网页的HTML代码。
二、HTTP协议的应用场景HTTP协议是互联网中最为常用的协议之一,被广泛应用在互联网上的各类应用程序中,下面是HTTP协议的几个典型的应用场景:1.万维网(WWW)WWW是HTTP协议最为常见和重要的应用场景。
通过HTTP 协议,我们可以在网页之间进行超链接,实现网页之间的跳转和交互。
2.下载文件HTTP协议可以实现文档、图片、音频等文件的下载,例如常见的软件下载、视频下载等。
实验二_HTTP_协议分析

Q1.你的浏览器运行的HTTP 是1.0 版本还是1.1 版本?服务器运行HTTP 是哪个版本?答:均为HTTP/1.1版本。
Q2.你的浏览器能接受服务器的哪些语言?答:zh-cn。
Q3.你的电脑的IP 地址是多少? 服务器的IP 地址是多少?答:本机IP:171.109.205.139, 服务器的IP:220.181.124.13Q4.从服务器返回到你的浏览器的状态码是什么?答:200 OK。
Q5.什么时候在服务器端得到最后修正的HTML 文件?答:Date: Mon, 07 Oct 2013 11:01:47 GMT\r\nQ6.多少字节的内容已经返回到你的浏览器?答:126 bytes。
Q7. 除以上已回答过的字段外,头部还有哪些字段?在数据包内容窗口中检查原始数据,是否有未在数据包列表中显示的头部?答:Date、Server、ETag、Accept-Ranges、Keep-Alive、Connection、Content_type、Line-based text data无Q8.从你的浏览器到服务器得到的请求中检查第一个HTTP GET 的内容。
在HTTP GET中你有没有看到一行“IF-MODIFIED-SINCE”?为什么?答:第一个HTTP GET中没有“IF-MODIFIED-SINCE”,因为浏览器缓存文件已经被清空,不会有该网页的缓存,而If-Modified-Since是标准的HTTP请求头标签,在发送HTTP请求时,把浏览器端缓存页面的最后修改时间一起发到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行比较。
没有缓存网页,就不会有“IF-MODIFIED-SI NCE”。
Q9.检查服务器回应内容,服务器明确地返回了文件的内容吗?你怎样断定?答:返回了,因为Line-based text data:text/html中的内容与网页内容一样。
Q10.现在从你的浏览器到服务器得到的请求中检查第二个HTTP GET的内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
攀枝花学院计算机网络工程实训报告HTTP协议分析学生姓名:***学生学号: ************院(系):计算机学院年级专业: 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)1前言1.1 HTTP协议简述HTTP是一个客户端和服务器端请求和应答的标准(TCP)。
客户端是终端用户,服务器端是网站。
通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。
(我们称这个客户端)叫用户代理(user agent)。
应答的服务器上存储着(一些)资源,比如HTML文件和图像。
(我们称)这个应答服务器为源服务器(origin server)。
在用户代理和源服务器中间可能存在多个中间层,比如代理,网关,或者隧道(tunnels)。
尽管TCP/IP协议是互联网上最流行的应用,HTTP协议并没有规定必须使用它和(基于)它支持的层。
事实上,HTTP可以在任何其他互联网协议上,或者在其他网络上实现。
HTTP只假定(其下层协议提供)可靠的传输,任何能够提供这种保证的协议都可以被其使用。
2 需求分析2.1 HTTP协议通信过程当我们在浏览器的地址栏输入“”然后按回车,这之后发生了什么事,我们直接看到的是打开了对应的网页,那么内部客户端和服务端是如何通信的呢?2.1.1 URL自动解析HTTP URL包含了用于查找某个资源的足够信息,基本格式如下:HTTP://host[“:”port][abs_path],其中HTTP表示桶盖HTTP协议来定位网络资源;host表示合法的主机域名或IP地址,port指定一个端口号,缺省80;abs_path指定请求资源的URI;如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。
例如:输入;浏览器会自动转换成:/2.1.2 获取IP,建立TCP连接浏览器地址栏中输入"/"并提交之后,首先它会在DNS本地缓存表中查找,如果有则直接告诉IP地址。
如果没有则要求网关DNS进行查找,如此下去,找到对应的IP后,则返回会给浏览器。
当获取IP之后,就开始与所请求的Tcp建立三次握手连接,连接建立后,就向服务器发出HTTP请求。
2.1.3 客户端浏览器向服务器发出HTTP请求一旦建立了TCP连接,Web浏览器就会向Web服务器发送请求命令,接着以头信息的形式向Web服务器发送一些别的信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信息的发送。
2.1.4 Web服务器应答,并向浏览器发送数据客户机向服务器发出请求后,服务器会客户机回送应答,HTTP/1.1 200 OK应答的第一部分是协议的版本号和应答状态码,正如客户端会随同请求发送关于自身的信息一样,服务器也会随同应答向用户发送关于它自己的数据及被请求的文档。
Web服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据2.1.5 Web服务器关闭TCP连接一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码Connection:keep-aliveTCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。
保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。
2.2 HTTP的头域2.2.1 通用头域通用头域包含请求和响应消息都支持的头域,通用头域包含Cache- Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。
对通用头域的扩展要求通讯双方都支持此扩展,如果存在不支持的通用头域,一般将会作为实体头域处理。
下面简单介绍几个在UPnP消息中使用的通用头域。
2.2.1.1 Cache-Control头域Cache-Control指定请求和响应遵循的缓存机制。
在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。
请求时的缓存指令包括no-cache、no- store、max-age、max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、 private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、 max-age。
各个消息中的指令含义如下:Public指示响应可被任何缓存区缓存。
Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。
这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。
no-cache指示请求或响应消息不能缓存no-store用于防止重要的信息被无意的发布。
在请求消息中发送将使得请求和响应消息都不使用缓存。
max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。
min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。
max-stale指示客户机可以接收超出超时期间的响应消息。
如果指定 max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。
2.2.1.2 Date头域Date头域表示消息发送的时间,时间的描述格式由rfc822定义。
例如,Date: Tue, 15 Jun 2010 11:04:56 GMT。
Date描述的时间表示世界标准时,换算成本地时间,需要知道用户所在的时区。
2.2.1.3 Pragma头域Pragma头域用来包含实现特定的指令,最常用的是Pragma:no- cache。
在HTTP/1.1协议中,它的含义和Cache-Control:no-cache相同。
2.2.2 请求消息请求消息的第一行为下面的格式:Method SP Request-URI SP HTTP-Version CRLFMethod表示对于Request-URI完成的方法,这个字段是大小写敏感的,包括PTIONS、GET、HEAD、POST、PUT、DELETE、TRACE。
方法GET和HEAD应该被所有的通用WEB服务器支持,其他所有方法的实现是可选的。
GET方法取回由Request-URI标识的信息。
HEAD方法也是取回由Request-URI标识的信息,只是可以在响应时,不返回消息体。
POST方法可以请求服务器接收包含在请求中的实体信息,可以用于提交表单,向新闻组、BBS、邮件群组和数据库发送消息。
SP表示空格。
Request-URI遵循URI格式,在此字段为星号(*)时,说明请求并不用于某个特定的资源地址,而是用于服务器本身。
HTTP-Version表示支持的HTTP版本,例如为 HTTP/1.1。
CRLF表示换行回车符。
请求头域允许客户端向服务器传递关于请求或者关于客户机的附加信息。
请求头域可能包含下列字段Accept、Accept-Charset、Accept- Encoding、Accept-Language、Authorization、From、Host、If-Modified-Since、If- Match、If-None-Match、If-Range、If-Range、If-Unmodified-Since、Max-Forwards、Proxy-Authorization、Range、Referer、User-Agent。
对请求头域的扩展要求通讯双方都支持,如果存在不支持的请求头域,一般将会作为实体头域处理。
典型的请求消息:GET /uploadfile/Image/29/20100607095933-2.jpg.JPG HTTP/1.1Host: Accept:*/*Pragma:no-cacheCache-Control:no-cacheReferer: /User-Agent:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1;Trident/4.0; QQPinyin 730; SLCC2; .NET CLR 2.0.50727; .NETCLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0;InfoPath.2; Tablet PC 2.0)Range: bytes=554554-上例第一行表示HTTP客户端(可能是浏览器、下载程序)通过GET方法获得指定URL下的文件。