HTTP协议的结构

原创 2007年10月12日 13:16:00
Internet是由各个协议连接起来的,而我们现在使用最广的莫过于HTTP协议了,也就是超文本传输协议,与FTP(文件传输协议)不同,由于主要用于超文本传输,因此HTTP协议显得更简单一点。今天我们来介绍一下HTTP协议的基本格式。

  在这里,我们所谈及的HTTP协议以HTTP/1.1为标准,并且使用Net Vampire Pro 4.0来取得与HTTP服务器的通信Log,您也可以使用其它的HTTP下载工具来取得通信Log。
  在HTTP协议中,服务端是指提供HTTP服务的部分,客户端是指你使用的浏览器或者下载工具等等。在通讯时,由客户端发出请求连接,服务端建立连接;然后,客户端发出HTTP请求(Request),服务端返回响应信息(Respond),由此完成一个HTTP操作。我们来通过一个例子来了解这个过程:(以下是Net Vampire进行的一次连接,以下红色字体为作者添加)
P 01-5-26 16:10:43 Connecting to go2.163.com ...          //连接服务器
P 01-5-26 16:10:44 Connected to go2.163.com [61.129.65.148]     //解析IP地址,以下为HTTP操作
S 01-5-26 16:10:44 GET /~minift/epretty/pretty.zip HTTP/1.1    //请求行(Request Line),表示使用GET方式取得文件,使用HTTP/1.1协议
//以下为请求头部(Request Head)
S 01-5-26 16:10:44 Connection: close                //表示非持续性连接
S 01-5-26 16:10:44 Host: go2.163.com                //主机名称
S 01-5-26 16:10:44 Accept: */*                   //接受的数据类型
S 01-5-26 16:10:44 Pragma: no-cache                //参数(与以前的服务器兼容)
S 01-5-26 16:10:44 Cache-Control: no-cache             //不使用缓存
S 01-5-26 16:10:44 Referer: http://go2.163.com/~minift/epretty  //从该网址转来
S 01-5-26 16:10:44 User-Agent: Mozilla/4.04 [en] (Win95; I ;Nav) //客户端标识
S 01-5-26 16:10:44 Cookie: AdId=ACDDAAAAAAA
S 01-5-26 16:10:44                         //以下为Respond
R 01-5-26 16:10:47 HTTP/1.0 200 OK                 //响应行(Respond Line),服务器使用HTTP/1.0协议,状态值(Status Code)为200,状态为OK,表示文件可以读取
R 01-5-26 16:10:47 Date: Sat, 26 May 2001 08:15:54 GMT       //现在的时间,用格林威治时间表示
R 01-5-26 16:10:47 Server: Apache/1.3.14 (Unix) mod_layout/2.9.9  //服务器类型
R 01-5-26 16:10:47 Last-Modified: Fri, 04 May 2001 02:42:56 GMT   //文件最后更新时间
R 01-5-26 16:10:47 ETag: "e614cf-37965-3af21730"
R 01-5-26 16:10:47 Accept-Ranges: bytes              //接受的范围单位
R 01-5-26 16:10:47 Content-Length: 227685             //文件长度
R 01-5-26 16:10:47 Content-Type: application/zip          //MIME类型
R 01-5-26 16:10:47 X-Cache: MISS from shca8
R 01-5-26 16:10:47 X-Cache-Lookup: MISS from shca8:80
R 01-5-26 16:10:47 Connection: close                //表示文件传输完毕就关闭连接。
R 01-5-26 16:10:47                         //以下为文件传输
P 01-5-26 16:10:47 Data transfer started
  下面来讲解使用的格式(LRCF=@13@10,即回车,SP=SPACE,即空格)
Request:
协议方式 SP 文件URI SP 协议版本 LRCF (请求行)
(以下为头部)
头部类型 : 头部值 LRCF
头部类型 : 头部值 LRCF
头部类型 : 头部值 LRCF
......
LRCF 表示头部结束
(如果有体部,以下为体部)

Respond:
协议版本 SP 状态值 SP 状态描述 LRCF (响应行)
(以下为头部)
头部类型 : 头部值 LRCF
头部类型 : 头部值 LRCF
头部类型 : 头部值 LRCF
......
LRCF 表示头部结束
(如果有体部,以下为体部)


  由上可见,请求与相应的格式只有部分不同,是很容易理解的,现在你应该基本了解HTTP协议了吧,也能看懂那些通信Log了吧,下一次我们讲专门讲解在响应行中的状态值含义及一些特殊情况。 

协议讲的不错。下面是引用的地址。相关链接中有其他的协议的讲解。好!!!!!!!!!!

http://www.pcdog.com/network/protocol/2005/10/a038201.html

Http协议详解

HTTP(Hypertext Transfer Protocol)就是超文本传输协议,它是现代互联网最重要也是最基本的协议。Http协议是无状态的、应用层协议,它是web开发的基础,如果想从事web方...
  • suifeng3051
  • suifeng3051
  • 2015年11月03日 16:47
  • 1509

基础的http协议构成

在学校里,有一门计算机网络专业课,专门讲到过http,以前做web开发急功近利,也没仔细研究过它,只能够分清GET和POST的区别,但对http协议的细节的理解是编写WEB程序的开发人员必须的,今天详...
  • JohnLongYuan
  • JohnLongYuan
  • 2016年03月20日 11:37
  • 1349

HTTP协议之HTTP的结构

一.前言:会使用电脑的人基本上都会使用IE/Firefox/Chrome等网页浏览器的地址栏输入url地址来访问一个网站,那么网站页面是怎么展现到用户面前的呢?当然web页面是不能凭空显示出来的,浏览...
  • lqf19961017
  • lqf19961017
  • 2016年12月02日 16:20
  • 100

Http协议报文格式

Http协议概述HyperText Transfer Tansfer Protocol 超文本传输协议,是一种基于TCP的应用层协议,也是目前为止最为流行的应用层协议之一,可以说HTTP协议是万维网的...
  • Holmofy
  • Holmofy
  • 2017年03月30日 19:32
  • 1907

HTTP协议详解与报文解析

HTTP协议详解 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium) 和I...
  • y874961524
  • y874961524
  • 2016年07月11日 15:28
  • 4008

【缓存】http协议头

【简介】        缓存分很多种:服务器缓存,第三方缓存,浏览器缓存、代理缓存、网关缓存、数据库缓存等。其中浏览器缓存是代价最小的,因为浏览器缓存依赖的是客户端,而几乎不耗费服务器端的资源。今天总...
  • u013036274
  • u013036274
  • 2017年02月13日 08:10
  • 461

[置顶] http协议初探------http request和response报文格式

搞web的程序猿,应该都知道http协议。http协议有三个版本。http 0.9版本,http 1.0版本,和现在一直在使用的http 1.1版本。RFC 2616 是http 1.1 版本的官方规...
  • liuwenjie517333813
  • liuwenjie517333813
  • 2017年03月29日 10:37
  • 1050

HTTP协议结构

HTTP协议结构 HTTP报文=从客户机到服务器的请求+从服务器到客户机的响应 1.请求报文的格式如下:      请求头   通用信息头    请求头    实体头    报文主体 请求行的...
  • splenday
  • splenday
  • 2015年07月26日 21:07
  • 296

HTTP协议的结构

HTTP协议的结构 2004-11-08     0 个评论      收藏  我要投稿 Internet是由各个协议连接起来的,而我们现在使用最广的莫过于HTTP协议了,也就是超文本传输协议,...
  • kongxian2007
  • kongxian2007
  • 2015年06月26日 17:46
  • 197

HTTP协议的报文结构

HTTP协议的报文结构 HTTP 有两类报文: (1) 请求报文----从客户向服务器发送请求报文,见图6-12(a). (2) 响应报文----从服务器到客户的回答,见...
  • a724888
  • a724888
  • 2017年03月13日 11:16
  • 287
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HTTP协议的结构
举报原因:
原因补充:

(最多只允许输入30个字)