HTTP(超文本传输协议)

http://speed.hetzner.de/100MB.bin

  • 功能:HTTP(HyperText Transfer Protocol)是一种用于在客户端(浏览器或下载器)与服务器之间传输数据的协议,广泛用于网页浏览和文件下载。
  • 特点
    • 基于请求-响应模式。
    • 使用 TCP 端口 80 进行数据传输。
    • 不加密,数据在传输过程中易被拦截。
  • 下载原理
    • 客户端向服务器发送 HTTP 请求(GET 方法)。
    • 服务器返回文件内容,客户端存储到本地。
  • 发展历程
    • 1991 年发布 HTTP/0.9,仅支持 GET 请求。
    • 1996 年发布 HTTP/1.0,引入请求头和状态码。
    • 1997 年发布 HTTP/1.1,支持持久连接和流水线请求,提高下载效率。

HTTPS(安全超文本传输协议)

https://speed.hetzner.de/100MB.bin

  • 功能:HTTPS(HyperText Transfer Protocol Secure)是在 HTTP 的基础上加入了 SSL/TLS 加密层,保障数据传输安全性。
  • 特点
    • 使用 TLS(前身为 SSL)加密数据,防止数据被窃听和篡改。
    • 使用 TCP 端口 443 进行加密数据传输。
  • 下载原理
    • 采用 TLS 握手机制,确保服务器的身份和加密方式。
    • 客户端与服务器建立安全连接后,下载数据的过程与 HTTP 类似。
  • 发展历程
    • 1994 年,Netscape 推出了 SSL 2.0 。
    • 1999 年,IETF 推出了 TLS 1.0 取代 SSL。
    • 2018 年,TLS 1.3 成为主流,优化握手过程,提高安全性和效率。

HTTP/2(安全超文本传输协议 II)

https://nghttp2.org/httpbin/download/100MB.zip

  • 功能:HTTP/2 是 HTTP 协议的升级版,旨在提升网页加载和文件下载的效率。
  • 特点
    • 使用多路复用技术,允许多个请求同时进行。
    • 头部压缩,减少数据传输量。
    • 使用二进制协议,减少解析开销。
    • 默认基于 HTTPS(使用 TLS 加密)。
  • 下载原理
    • 采用多路复用,多个数据流可以并行下载,无需排队等待。
    • 服务器推送功能可以提前发送资源,减少等待时间。
  • 发展历程
    • 2015 年,HTTP/2 被 IETF 标准化。
    • 2022 年,HTTP/3 进一步优化,基于 QUIC 传输协议,提升了传输效率。

FTP(文件传输协议)

ftp://speedtest.tele2.net/100MB.zip

  • 功能:FTP(File Transfer Protocol)用于在服务器和客户端之间传输文件。
  • 特点
    • 需要用户登录(匿名 FTP 可不登录)。
    • 分为主动模式(Active Mode)和被动模式(Passive Mode)。
    • 使用 TCP 端口 21 进行控制连接,数据传输使用端口 20(主动模式)或随机端口(被动模式)。
  • 下载原理
    • 客户端连接 FTP 服务器并进行身份验证。
    • 使用控制通道发送命令,数据通道传输文件。
    • 可支持断点续传和多线程下载。
  • 发展历程
    • 1971 年,最初 FTP 协议制定。
    • 1985 年,RFC 959 定义了现代 FTP。
    • 近年来逐渐被更安全的 SFTP、HTTPS 取代。

SFTP(安全文件传输协议)

sftp://user@host.com/path/to/file.zip

  • 功能:SFTP(Secure File Transfer Protocol)基于 SSH(Secure Shell),提供加密的文件传输功能。
  • 特点
    • 使用 SSH 加密,防止数据泄露和劫持。
    • 使用 TCP 端口 22 进行传输。
    • 不同于 FTP,不需要开额外的数据通道。
  • 下载原理
    • 客户端与服务器建立 SSH 连接。
    • 通过安全通道传输数据,保证机密性和完整性。
  • 发展历程
    • 1997 年,SFTP 作为 SSH-2 协议的一部分推出。
    • 目前被广泛用于安全文件传输。

BitTorrent(BT)

https://releases.ubuntu.com/22.04/ubuntu-22.04-desktop-amd64.iso.torrent

  • 功能:BitTorrent 是一种点对点(P2P)文件共享协议,适用于大文件分发。
  • 特点
    • 通过种子文件或 Magnet 链接启动下载。
    • 多个用户(peer)同时共享和下载同一文件,提高下载速度。
    • 采用分块下载,提高下载效率。
  • 下载原理
    • 客户端解析种子文件,连接 Tracker 服务器获取 Peer 列表。
    • 采用 P2P 方式,从多个 Peer 处下载文件的不同部分。
    • 下载完成后,用户可以继续做种(Seeding)分享文件。
  • 发展历程
    • 2001 年,Bram Cohen 开发 BitTorrent 协议。
    • 2005 年后,出现 DHT、PEX 等去中心化技术,降低对 Tracker 服务器的依赖。

Magnet(磁力链接)

magnet:?xt=urn:btih:da658f2393226652b7e7fcb51cd7aef2e56fdddf

  • 功能:Magnet 是一种基于哈希值的 P2P 文件共享方式,不需要种子文件。
  • 特点
    • 只包含文件的哈希值,用户可以直接通过 Magnet 链接下载文件。
    • 结合 DHT、PEX 技术实现无 Tracker 下载。
  • 下载原理
    • 客户端通过 Magnet 链接计算文件哈希值,并查询 DHT 网络找到 Peers。
    • 从多个 Peers 获取文件数据,类似 BT 下载。
  • 发展历程
    • 2002 年,最早提出 Magnet 方案。
    • 近年来逐渐取代传统 BT 种子文件。

eD2k(eDonkey2000)

ed2k://|file|Ubuntu.iso|123456789|abcdef123456789abcdef123456789|

  • 功能:eD2k(eDonkey2000)是一种点对点(P2P)文件共享协议,适用于大文件的分发,广泛用于 eMule、aMule 等下载软件。
  • 特点
    • 依赖 eD2k 服务器管理用户和文件索引,部分客户端支持 Kademlia(Kad)去中心化网络。
    • 通过文件的唯一哈希值(MD4)进行识别和下载。
    • 允许断点续传,支持多源下载,提高下载速度。
  • 下载原理
    1. 连接 eD2k 服务器:客户端连接 eD2k 服务器或 Kad 网络,获取可用的文件来源(Peer 列表)。
    2. 文件搜索与请求:用户搜索文件后,客户端向服务器或 Kad 网络请求可用资源。
    3. 分块下载:客户端从多个 Peers 处获取文件的不同分块,并在本地拼接成完整文件。
    4. 上传与分享:下载完成后,客户端自动分享已下载部分,提高整个网络的可用性。
  • 发展历程
    • 2000 年,MetaMachine 公司开发 eDonkey2000 协议。
    • 2002 年,eDonkey2000 关闭,但 eMule(基于 eD2k)成为主流。
    • 2004 年后,Kad 网络被引入,减少对中心服务器的依赖。
    • 目前 eD2k 仍被 eMule 用户广泛使用,Kad 网络逐渐取代中心化服务器。

Metalink(元链接)

https://www.archlinux.org/mirrors/status/json/

  • 功能:Metalink 是一种支持多来源下载的文件格式,可加速下载。
  • 特点
    • 可以同时从多个镜像站点下载,提高可靠性。
    • 内置文件校验机制,防止下载损坏文件。
  • 下载原理
    • 客户端解析 Metalink 文件,获取多个下载源。
    • 通过 HTTP、FTP 或 BT 等协议并行下载文件。
  • 发展历程
    • 2005 年 Metalink 规范推出。
    • 适用于软件镜像、开源项目的分发。

DHT(分布式哈希表)

  • 功能:DHT(Distributed Hash Table)是一种去中心化的 BT 资源发现技术。
  • 特点
    • 无需 Tracker 服务器即可找到 Peer。
    • 采用 Kademlia 算法,提高查找效率。
  • 下载原理
    • 客户端向 DHT 网络查询文件哈希值,获取 Peer 列表。
    • 连接 Peers 进行下载。
  • 发展历程
    • 2005 年,BT 客户端开始支持 DHT。
    • 目前成为 BT 下载的重要组成部分。

PEX(对等交换)

  • 功能:PEX(Peer Exchange)允许 Peers 直接交换 Peer 列表,提高下载效率。
  • 特点
    • 减少对 Tracker 服务器的依赖。
    • 提高下载速度。
  • 发展历程
    • 2006 年后,PEX 被主流 BT 客户端支持。

友情提示:本站所有文章,如无特殊说明或标注,均为何星星原创发布。与此同时,趋于近年来本站的文章内容频繁被他站盗用与机器采集,现已全局禁用网站文字内容操作,了解详情或转载文章请 点此 继续!

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注