版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1
HTTP简介定义HTTP是什么?HTTP是怎样工作的HTTP协议基础2HTTP:超文本传输协议(HypertextTransferProtocol)
一.定义3二.HTTP是什么?
当我们想浏览一个网站的时候,只要在浏览器的地址栏里输入网站的地址就可以了,例如,但是在浏览器的地址栏里面出现的却是:,你知道为什么会多出一个“http”吗?我们在浏览器的地址栏里输入的网站地址叫做URL(UniformResourceLocator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。因此,在我们认识HTTP之前,有必要先弄清楚URL的组成,例如:/china/index.htm。它的含义如下:
1.http://:代表超文本传输协议,通知服务器显示Web页,通常不用输入;
2.www:代表一个Web(万维网)服务器;
3./:这是装有网页的服务器的域名,或站点服务器的名称;
4.China/:为该服务器上的子目录,就好像我们的文件夹;
5.Index.htm:index.htm是文件夹中的一个HTML文件(网页)。4
我们知道,Internet的基本协议是TCP/IP协议,然而在TCP/IP模型最上层的是应用层(Applicationlayer),它包含所有高层的协议。高层协议有:文件传输协议FTP、电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议NNTP和HTTP协议等。HTTP协议(HyperTextTransferProtocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。这就是你为什么在浏览器中看到的网页地址都是以http://开头的原因。
当决定使用超文本作为WWW文档的标准格式后,于是在1990年,科学家们立即制定了能够快速查找这些超文本文档的协议,即HTTP协议。经过几年的使用与发展,得到不断的完善和扩展,目前在WWW中使用的是HTTP/1.0的第六版。5三.HTTP是怎样工作的
一次HTTP操作称为一个事务,其工作过程可分为四步:
1.首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP
的工作就开始了。
2.建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
3.服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
4.客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。
如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,由显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。6许多HTTP通讯是由一个用户代理初始化的并且包括一个申请在源服务器上资源的请求。最简单的情况可能是在用户代理和服务器之间通过一个单独的连接来完成。在Internet上,HTTP通讯通常发生在TCP/IP连接之上。缺省端口是TCP80,但其它的端口也是可用的。但这并不预示着HTTP协议在Internet或其它网络的其它协议之上才能完成。TCP只预示着一个可靠的传输。这个过程就好像我们打电话订货一样,我们可以打电话给商家,告诉他我们需要什么规格的商品,然后商家再告诉我们什么商品有货,什么商品缺货。这些,我们是通过电话线用电话联系(HTTP是通过TCP/IP),当然我们也可以通过传真,只要商家那边也有传真。7
以上简要介绍了HTTP协议的宏观运作方式,下面介绍一下HTTP协议的内部操作过程。在WWW中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。其实简单说就是任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用户请求。浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。驻留程序接收到请求,在进行必要的操作后回送所要求的文件。在这一过程中,在网络上发送和接收的数据已经被分成一个或多个数据包(packet),每个数据包包括:要传送的数据;控制信息,即告诉网络怎样处理数据包。TCP/IP决定了每个数据包的格式。如果事先不告诉你,你可能不会知道信息被分成用于传输和再重新组合起来的许多小块。8四.HTTP协议基础
HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。9
通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个指示头域结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。10HTTP请求客户端通过发送HTTP请求向服务器请求资源的访问。HTTP请求由三部分组成,分别是请求行,消息报头,请求正文。请求行以一个方法符号开头,后面跟着请求URI和协议的版本,以CRLF作为结尾,请求行以空格分隔,除了作为结尾的CRLF外,不允许出现单独的CR或者LF字符。格式如下:MethodRequest-URIHTTP-VersionCRLF
Method表示请求的方法,Request-URI是一个统一资源标识符,标识了要请求的资源,HTTP-Version表示请求的HTTP协议的版本,如:
GET/form.htmlHTTP/1.1(CRLF)11方法作用GET请求获取由Request-URI所标识的资源POST在Request-URI所标识的资源后附加新的数据HEAD
请求Request-URI所标识的资源响应消息报头PUT请求服务器存储一个资源,并用Request-URI作为其标识DELETE
请求服务器删除由Request-URI所标识的资源TRACE
请求服务器回送收到的请求信息,主要用于测试或诊断CONNECT保留将来使用。OPTIONS请求查询服务器的性能,或者查询与资源相关的选项和需求。12HTTP响应
在接受和解释请求信息后,服务器会返回一个HTTP响应消息。与HTTP请求类似,HTTP响应也是由三个部分组成,分别是:状态行,消息报头,响应正文。状态行由协议版本,数字形式的状态代码,及相应的状态描述组成,各元素之间以空格分隔,除了结尾的CRLF(回车换行)序列外,不允许出现CR或LF字符。格式如下:
HTTP-VersionStatus-CodeReason-PhraseCRLFHTTP-Version表示服务器HTTP协议的版本,Status-Code表示服务器发回的响应代码,Reason-Phrase表示状态代码的文本描述,CRLF表示回车换行。
如:HTTP/1.1200OK(CRLF)13状态代码由3位数字组成,表示请求是否被理解或被满足,状态描述了给出状态码的简短的文本描述。状态代码的第一个数字定义了响应的类别,后面两位数字没有具体的分类。第一个数字有五种可能的取值:1XX:指示信息-表示请求已经接收,继续处理。
2XX:成功-表示请求已经被成功接收、理解、接受。
3XX:重定向-要完成请求必须进行更进一步的操作。
4XX:客户端错误-请求有语法错误或请求无法实现。
5XX:服务端错误-服务器未能实现合法的请求。14HTTP响应-状态代码与状态描述状态代码
状态描述
说明200
ok
客户端请求成功。
400
badrequest
由于客户端请求有语法错误,不能被服务器所理解。
401
unauthorized
请求未经授权。这个状态代码必须和www-authenticate报头域一起使用。
403
forbidden
服务器收到请求,但是拒绝提供服务。服务器通常会在响应中文中给出不提供服务的原因。
404
notfound
请求的资源不存在,例如,输入了错误的URL15HTTP消息
HTTP消息由客户端到服务器的请求和服务器到客户端的响应组成。请求消息和响应消息都是由开始行,消息报头(可选的),空行(只有CRLF的行),消息正文(可选的)组成。对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行。HTTP消息报头包括普通报头,请求报头,响应报头,实体报头。
每一个报头域都是由名字+":"+空格+值组成,消息报头域的名字是大小写无关的。16通用头域包含请求和响应消息都支持的头域,通用头域包含Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。Cache-Control指定请求和响应遵循的缓存机制。Date头域表示消息发送的时间。Pragma头域用来包含实现特定的指令,最常用的是Pragma:no-cache。17请求头域允许客户端向服务器传递关于请求或者关于客户机的附加信息。请求头域可能包含下列字段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。Host头域指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置。HTTP/1.1请求必须包含主机头域,否则系统会以400状态码返回。User-Agent头域的内容包含发出请求的用户信息。18响应头域允许服务器传递不能放在状态行的附加信息,这些域主要描述服务器的信息和Request-URI进一步的信息。响应头域包含Age、Location、Proxy-Authenticate、Public、Retry-After、Server、Vary、Warning、WWW-Authenticate。Location响应头用于重定向接收者到一个新URI地址。Server响应头包含处理请求的原始服务器的软件信息。19实体信息一般由实体头域和实体组成。实体头域包含关于实体的原信息,实体头包括Allow、Content-Base、Content-Encoding、Content-Language、Content-Length、Content-Location、Content-MD5、Content-Range、Conte
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度绿色生态农业项目采购及施工安装合同汇编3篇
- 2025年度餐厨废弃物处置与废弃物资源化利用合作协议3篇
- 2025年度电力设施建设与运营合同2篇
- 2024年绿化工程专用树木购买及养护服务合同范本3篇
- 2024年餐饮业废料环保处理协议版
- 2024年高性能节能砌体劳务分包合同3篇
- 2024年违章建筑拆除补偿协议3篇
- 2024年高速铁路桥梁钢筋订购合同
- 2024年校园招聘及实习生培养服务合同3篇
- 2024智能安防系统集成服务合同
- 应收帐款管理办法
- 食品安全分享
- 跨境代运营合同范例
- 水利水电工程验收实施细则模版(3篇)
- 四川雅安文化旅游集团有限责任公司招聘笔试冲刺题2024
- 计算机等级考试二级WPS Office高级应用与设计试题及答案指导(2025年)
- 造价框架协议合同范例
- 2024-2025学年 语文二年级上册 部编版期末测试卷 (含答案)
- 心衰患者的个案护理
- 小学六年级数学100道题解分数方程
- YY 0838-2021 微波热凝设备
评论
0/150
提交评论