1 它一直是网络发展的重要推动力之一。
早期人们共享资源的普遍方法是将资源文件上传至服务器上然后其他用户可以通过HTTP或FTP等协议将其下载到本地电脑。
这种模式称为客户机/服务器模式即C/S模式它对服务器的依赖性很大当下载用户很少时比如说一个他将独享服务器的带宽很显然其下载速度会非常快。
然而当下载的人数较多而服务器带宽有限时比如服务器带宽为3MB/S而下载人数为100人则众多下载用户不得不共享一个带宽3MB/S最终结果是下载速度均分30KB/S普遍不高。
P2P技术的出现使得人们终于摆脱了服务器的枷锁。
它的主要特点是资源分散、负载均衡、和非中心化它将共享的文件存储在各个客户机节点上用户之间可以直接共享和传输文件而不需要通过服务器。
客户机不再只利用服务器带宽进行下载它同时也可以利用其他客户机节点的带宽这样大大提高了下载速度。
纵观网络下载技术发展的历史可以将其划分为四个阶段单线程下载阶段、多线程下载及断点续传阶段、P2P阶段、P2SP阶段。
一、单线下载时代应对有限时间流量的办法 早在上个世纪90年代当时互联网并不普及很多人使用Modem拨号通过Telnet软件连接到拨接式BBS上获取资讯并与别人交流收发邮件等由于服务器的电话线路数量有限因此都会限制连接时间一般新注册用户只有10分钟左右。
这点时间用来看帖回帖显然不够的因此有人就开发了软件进入BBS后能够将整个BBS上所有内容都下载回来然后可以断线慢慢看慢慢回最后再次拨入BBS上传回复。
二、断点续传与多线程下载时代大幅度提高速度 进入Windows与WWWWorld Wide Web互联网时代之后IENetscape等浏览器都可以通过点击左键下载那个时候网络速度最快不过5KB/s下载一首5MB的MP3歌曲要15分钟以上中途万一断线就前功尽弃于是有人开发了支持断点续传的下载软件。
世界上第一款支持断点续传的下载软件应该是GetRight。
它可让你用浏览器下载文件时有续传功能可设定时间来下载文件或是中断Modem拨接下载完毕时自动中断Modem拨接或关机。
为了更好的利用带宽在断点续传的基础上多线程下载软件逐渐发展了起来。
最早出现的多线程下载软件是中国人开发的NetAnts网络蚂蚁。
网络蚂蚁其实也是一个断点续传软件但它对断点续传功能进行了扩展可进行多点续传即利用断点续传的原理同时建立多个连接下载同一个软件并最终将其合并为一个完整的软件。
三、P2P时代下载再也不怕人多挤破服务器 最早的P2P网络当属1979年的FidoNet惠多网和1984年的Usenet经过不断发展 10 1 才有了现在人们常用的“BT”“电驴”等P2P软件。
这类软件应用了P2PPeer-to-Peer技术能够最大限度地利用网络带宽。
如今BitComet、BitTorrent、eMule等P2P软件已经拥有极为庞大的用户群每个人既是下载者也是上传者一个新发布的文件转瞬之间就会像燎原之火一样遍布全世界这是任何服务器都无法比拟的。
四、P2SP时代多技术结合进一步提高速度 现在人们在整合了HTTP和FTP的服务器技术之后对BT下载也进行了改进独创了P2SP技术P2SPPeer to ServerampPeer即点对服务器和点对点。
P2SP除了包含P2P还多了一个“S”是指服务器。
P2SP有效地把原本孤立的服务器和其镜像资源以及P2P资源整合到了一起。
在下载的稳定性和下载的速度上都比传统单一的P2P有了非常大的提高。
1 HTTP协议 1.1 HTTP协议的发展 万维网WWWWorld Wide Web 之父蒂姆??贝纳斯??李早在1990年就提出了超文本传输协议HTTPHyper Text Transport ProtocolHTTP是WWW的基本协议它是一个应用层的面向对象的协议。
WWW 联盟成立后组织了 IETE Internet Engineering Task Force小组进一步完善和发布HTTP 协议。
至今HTTP协议经历了0.9、1.0、1.1三个阶段。
各阶段特征如下 1HTTP/0.9特征①适用于各种数据信息的简洁快速协议②具有典型的无状态性③无连接性④无法使用内容协商⑤无法显示和处理图片。
2HTTP/1.0特征①简单快速②无状态性③无连接性④无法使用内容协商⑤增加了元信息在主要数据前加上一块信息即信息的信息。
它使服务器能够提供传送数据的有关信息。
例如 传送对象是哪种类型 是用哪种语言书写的等等⑥支持多种内容的形式如图片、音频等。
3HTTP /1.1特征①持续性连接允许请求一个 web页面的浏览器发起一次连接就可从服务器上下载多个文件②仍无状态性但可提供状态控制③新增加了资源请求在原有GET、HEAD 、POST 几种方法的基础上增加了OPTIONS、 PUT 、DELETE和TRACE④身份认证一种简单的“提问-回答”式的基本访问授权方法。
过程是先由服务器向客户发出身份鉴别请求再由客户发出确认信息⑤使用内容协商机制⑥缓存 Cache 机制将先前的客户请求以及请求所对应的Web 服务器响应的内容暂时保存在机器的内存或物理存储器中使得在处理新的客户请求时可以利用。
目前新一代的HTTP协议HTTP-NG也已经处于研究阶段它将很有可能取代现有 10 1 的HTTP它的最大变化是是客户机可以一次连续发送多个请求服务器依次响应每个请求。
方法可进一步缩短服务器的响应时间提供更加高效优质的服务。
1.2 HTTP协议的特点 HTTP是一个客户端和服务器端请求和应答的标准TCP。
客户端是终端用户服务器端是网站。
通过使用Web浏览器、网络爬虫或者其它的工具客户端发起一个到服务器上指定端口默认端口为80的HTTP请求。
我们称这个客户端叫用户代理user agent。
应答的服务器上存储着一些资源比如HTML文件和图像。
我们称这个应答服务器为源服务器origin server。
在用户代理和源服务器中间可能存在多个中间层比如代理网关或者隧道tunnels。
通常由HTTP客户端发起一个请求建立一个到服务器指定端口默认是80端口的TCP连接。
HTTP服务器则在那个端口监听客户端发送过来的请求。
一旦收到请求服务器向客户端发回一个状态行比如quotHTTP/1.1 200 OKquot和响应的消息消息的消息体可能是请求的文件、错误消息、或者其它一些信息。
HTTP 的主要特点如下 1 简单快速 HTTP本身既简单又能有效地处理大量请求。
在客户机与服务器连接后客户机必须传送的信息只是请求方法和路径。
正是因为HTTP 简单使得HTTP 服务器程序规模小而且简单。
因此经由HTTP 的通信速度很快与其它协议相比时间开销小得多。
2 无连接 HTTP 是一个无连接协议。
它的含义是限制每次连接只处理一个请求、客户机与服务器连接后提交一个请求在客户机接到应答后马上断开连接。
使用这种无连接协议在没有请求时服务器不会在那里闲等着服务器更不会在完成一个请求后还把着原来的请求不放。
使用无连接协议就好像是写信一旦写好信发出便没事了对方回信有了新信息再写另一封信。
而保持连接协议就跟打电话相似。
双方轮番说许多话后才挂断。
在对话期间电话线一直被占用。
对于无连接协议而言服务器一方实现起来比较容易又能充分利用网上的资源。
3 无状态 HTTP 是无状态的协议每一次请求、应答的内容、状态及完成情况不作为历史数据保留到下一阶段使用它既是优点也是缺点。
一方面由于没有状态 协议对事物处理没有记忆能力如果后续事物处理需要前面处理的有关信息那么这些信息必须在 10 1 协议外面保存。
缺少状态意味着所需要的前面信息必须重现 势必导致每次连接要传送较多的信息。
另一方面也正是由于缺少状态使得HTTP 累赘少运行速度高服务器应答快。
4内容协商 当服务器能够对客户的请求提供多种表示形式应答时需要使用内容协商机制使Web服务器可以从中挑选出能满足用户要求的具有最适合表达形式的资源实体。
因为很多时候源服务器或提供缓存的中间
上一篇:
毕业设计(论文)
下一篇:
多年来只想说一句,我不怪你