下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

超文件传输协议的具体讲解

作者:课课家教育     来源: http://www.kokojia.com点击数:1141发布时间: 2017-03-26 11:02:14

标签: 互联网技术网络工程师网络规划设计师

想学设计?来看看大师是如何完成作品的?

  超文本传输协议(HTTP-Hypertexttransferprotocol),是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅能保证计算机正确快速地传输超文本文档,还能确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

超文件传输协议的具体讲解_互联网技术_网络工程师_网络规划设计师_课课家教育

  超文本传输协议(HTTP,HyperTextTransferProtocol)是因特网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

  概述

  HTTP的发展是万维网协会和Internet工作小组合作的结果,在一系列的RFC发布了最终的版本,其中最著名的是RFC2616。在RFC2616中定义了HTTP1.1这个今天普遍使用的版本。

  HTTP是一个用于在客户端和服务器间请求和应答的协议(TCP)。一个HTTP的客户端,诸如一个web浏览器,通过建立一个到远程主机特殊端口(默认端口为80)的连接,初始化一个请求。一个HTTP服务器通过监听特殊端口等待客户端发送一个请求序列,就像“GET/HTTP/1.1”(用来请求网页服务器的默认页面),有选择的接收像email一样的MIME消息,此消息中包含了大量用来描述请求各个方面的信息头序列,响应一个选择的保留数据主体。接收到一个请求序列后(如果要的话,还有消息),服务器会发回一个回复,如“200OK”,同时发回一个它本报的消息,此消息的主体可能是被请求的文件、错误消息或者其他的一些信息。下图是一个传输文件的基本流程:

HTTP是一个用于在客户端和服务器间请求和应答的协议(TCP)。一个HTTP的客户端,诸如一个web浏览器,通过建立一个到远程主机特殊端口(默认端口为80)的连接,初始化一个请求。一个HTTP服务器通过监听特殊端口等待客户端发送一个请求序列,就像“GET/HTTP/1.1”(用来请求网页服务器的默认页面),有选择的接收像email一样的MIME消息,此消息中包含了大量用来描述请求各个方面的信息头序列,响应一个选择的保留数据主体。接收到一个请求序列后(如果要的话,还有消息),服务器会发回一个回复,如“200OK”,同时发回一个它本报的消息,此消息的主体可能是被请求的文件、错误消息或者其他的一些信息。下图是一个传输文件的基本流程:

  HTTP并不局限于使用网络协议(TCP/IP)及其相关支持层,尽管这是它在互联网上最为流行的应用程序。事实上,HTTP可以“在任何其他互联网协议之上执行,或者在其他网络上执行。HTTP只认可可靠的传输,任何能够提供这种保证的协议都可以被其使用。

  HTTP不同于其他基于TCP的协议,诸如FTP。在HTTP中,一旦一个特殊的请求(或者请求的相关序列)完成,连接通常被中断。这个设计使得对于当前页面有规则连接到另一台服务器页面的万维网来说,HTTP是完美的。当持久连接的缺乏成为保持用户状态的必需选择的方法时,对网页设计者来说,会偶然产生一些问题。而大部分这些方法包括了对“cookies”的使用。

  超文本传输协议超文本传输协议(HTTP,HyperTextTransferProtocol)是互联网上应用最为广泛的一种网络传输协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。HTTP的发展是万维网协会和Internet工作小组合作的结果,在一系列的RFC发布中确定了最终版本,其中最著名的是RFC2616。在RFC2616中定义了HTTP/1.1这个今天普遍使用的版本。HTTP是一个用于在客户端和服务器间请求和应答的协议。一个HTTP的客户端,诸如一个web浏览器,通过建立一个到远程主机特殊端口(默认端口为80)的连接,初始化一个请求。一个HTTP服务器通过监听特殊端口等待客户端发送一个请求序列,就像“GET/HTTP/1.1”(用来请求网页服务器的默认页面),有选择的接收像email一样的MIME消息,此消息中包含了大量用来描述请求各个方面的信息头序列,响应一个选择的保留数据主体。接收到一个请求序列后(如果要的话,还有消息),服务器会发回一个应答消息,诸如“200OK”,同时发回一个它自己的消息,此消息的主体可能是被请求的文件、错误消息或者其他的一些信息。HTTP不同于其他基于TCP的协议,诸如FTP。在HTTP中,一旦一个特殊的请求。

超文本传输协议超文本传输协议(HTTP,HyperTextTransferProtocol)是互联网上应用最为广泛的一种网络传输协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。HTTP的发展是万维网协会和Internet工作小组合作的结果,在一系列的RFC发布中确定了最终版本,其中最著名的是RFC2616。在RFC2616中定义了HTTP/1.1这个今天普遍使用的版本。HTTP是一个用于在客户端和服务器间请求和应答的协议。一个HTTP的客户端,诸如一个web浏览器,通过建立一个到远程主机特殊端口(默认端口为80)的连接,初始化一个请求。一个HTTP服务器通过监听特殊端口等待客户端发送一个请求序列,就像“GET/HTTP/1.1”(用来请求网页服务器的默认页面),有选择的接收像email一样的MIME消息,此消息中包含了大量用来描述请求各个方面的信息头序列,响应一个选择的保留数据主体。接收到一个请求序列后(如果要的话,还有消息),服务器会发回一个应答消息,诸如“200OK”,同时发回一个它自己的消息,此消息的主体可能是被请求的文件、错误消息或者其他的一些信息。HTTP不同于其他基于TCP的协议,诸如FTP。在HTTP中,一旦一个特殊的请求。

  这里有一个HTTP的安全版本称为HTTPS,HTTPS支持任何的加密算法,只要此加密算法能被页面双方所理解。

  HTTP(和HTTPS)由统一资源定位器或者简称URLs定位。创造这种地址定位的语法为了HTML的链接。

  请求信息

  发出的请求信息包括以下几个

  请求行,例如GET/images/logo.gifHTTP/1.1,表示从/images目录下请求logo.gif这个文件。

  标题,例如Accept-Language:en

  空行

  可选信息

  请求行和标题必须以<CR><LF>作为结尾(也就是,回车然后换行)。空行内必须只有<CR><LF>而无其他空格。在HTTP/1.1协议中,所有的标题除主机外都是可选的。

  请求方法

  HTTP定义了八种方法来指示确认的资源执行所需的行为。

  HEAD

  要求与GET请求相应的回复一样的应答,但是没有回应的内容。这对找回写在回应标题中的

  meta-infomation有帮助,不需要传输整个内容。

  GET

  请求某个特殊的资源,是目前网上最通用的方法。不应该用于一些会造成副作用的操作中

  (在网络软件中使用是一个常见的错误用法)。参看下个目录的安全方法。

  POST

  向确定的资源提交需要处理的数据。这些数据包括在请求的内容里。这可以造成新资源的产生和更新已有资源。

  PUT

  上传特定资源

  DELETE

  删除特定资源

  TRACE

  返回接收的请求,客户端可因此察看在请求过程中什么中间服务器被加进来或者有所改变。

  OPTIONS

  返回服务器支持的HTTP方法,这可以用来检查网络服务器的功能。

  CONNECT

  将请求连接转换成透明的TCP/IP通道,通常通过非加密的HTTP代理利用SSL-加密通讯(HTTPS)。

  安全方法

  有些方法(比如HEAD,GET,OPTIONS,andTRACE)被定义为安全方法,这些方法针对的只是信息的返回,并不会改变服务器的状态(换句话说就是这些方法不会产生副作用)。不安全的方法(例如POST,PUTandDELETE)应该用特殊的方式向用户展示,通常是按钮而不是链接,这样就可以使用户意识到可能要负的责任(例如一个按钮带来的资金交易。)

  幂等方法和网络应用软件

  协议版本号

  超文本传输协议已经演化出了很多版本,它们中的大部分都是向下兼容的。客户端在请求的开始告诉服务器它采用的协议版本号,而后者则在响应中采用相同或者更早的协议版本。

  0.9

  已过时。只接受GET一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持POST方法,所以客户端无法向服务器传递太多信息。

  HTTP/1.0

  这是第一个在通讯中指定版本号的HTTP协议版本,至今仍被广泛采用,特别是在代理服务器中。

  HTTP/1.1

  当前版本。持久连接被默认采用,并能很好地配合代理服务器工作。还支持以管道方式在同时发送多个请求,以便降低线路负载,提高传输速度。

  此版相较于HTTP/1.0协议的区别主要体现在:

  缓存处理

  带宽及网络连接的管理

  安全性及完整性

  状态行

  参见:HTTP状态码

  所有HTTP响应的第一行都是状态行,依次是当前HTTP版本号,3位数字组成的状态代码,以及描述状态的短语,彼此由空格分隔。

  状态代码的第一个数字代表当前响应的类型:

  1xx消息——请求已被服务器接收,继续处理

  2xx成功——请求已成功被服务器接收、理解、并接受

  3xx重定向——需要后续操作才能完成这一请求

  4xx请求错误——请求含有词法错误或者无法被执行

  5xx服务器错误——服务器在处理某个正确请求时发生错误

  虽然RFC2616中已经推荐了描述状态的短语,例如"200OK","404NotFound",但是Web开发者仍然能够自行决定采用何种短语,用以显示本地化的状态描述或者自定义信息。

  持久连接

  安全超文本协议

  例子

  下面是一个HTTP客户端与服务器之间会话的例子,运行于www.google.com,端口80

  客户端请求:

  GET/HTTP/1.1

  Host:www.google.com

  (紧跟着一个换行,通过敲入回车实现)

  服务器应答:

  HTTP/1.1200OK

  Content-Length:3059

  Server:GWS/2.0

  Date:Sat,11Jan200302:44:04GMT

  Content-Type:text/html

  Cache-control:private

  Set-Cookie:PREF=ID=73d4aef52e57bae9:TM=1042253044:LM=1042253044:S=SMCc_HRPCQiqy

  X9j;expires=Sun,17-Jan-203819:14:07GMT;path=/;domain=.google.com

  Connection:keep-alive

  (紧跟着一个空行,并且由HTML格式的文本组成了Google的主页)

  在HTTP1.0中,客户端发送一个请求至服务器,服务器发送一个应答至客户端。之后,连接将被释放。另一方面,HTTP1.1支持持久连接。这使得客户端可以发送请求并且接收应答,然后迅速的发送另一个请求和接收另一个应答。因为多个额外的请求,TCP连接并没有被释放,而每个请求中关于TCP的负载相对较少。同时,在得到上一个请求的应答之前发送多个请求(通常是两个)也成为可能。这个技术被称为“流水线”。

  文件传输协议(FTP)文件传送FTP(FileTransferProtocol)是Internet文件传送的基础。通过该协议,用户可以从一个Internet主机向另一个Internet主机拷贝文件超文本传输协议是用于从万维网服务器上传输超文本到本地浏览器的传输协议。它保证计算机正确快速地传输超文本文档,还能确定传输文档中的哪部分内容首先显示。

  更多详细内容,仅在课课家教育,我们等待您的咨询!!

赞(10)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程