HTTP response code 200 206 416详解

我们来详细讲解一下 HTTP 响应码 200、206 和 416,尤其是在文件下载和断点续传场景下的含义。


1️⃣ HTTP 200 OK

  • 含义:请求成功,服务器返回请求的资源。

  • 适用场景:

    • 普通文件下载。

    • 浏览器访问网页。

  • 特点:

    • 服务器返回整个资源(完整文件)。

    • 如果请求带了 Range 头(断点续传),但服务器不支持或忽略它,也可能返回 200,表示返回整个文件而不是部分内容。

  • 示例:

    GET /file.zip HTTP/1.1
    Host: example.com

    HTTP/1.1 200 OK
    Content-Length: 1024000
    Content-Type: application/zip

    <文件内容>

说明:这里返回的是完整文件(1MB)。


2️⃣ HTTP 206 Partial Content

  • 含义 :部分内容响应,表示服务器成功处理了带 Range 的请求,只返回请求范围内的数据。

  • 适用场景:

    • 断点续传。

    • 分段下载大文件。

  • 特点:

    • 请求中必须包含 Range 头,例如:Range: bytes=1000-1999

    • 响应中会带 Content-Range 头,明确本次返回的字节范围和总大小。

  • 示例:

    GET /file.zip HTTP/1.1
    Host: example.com
    Range: bytes=1000-1999

    HTTP/1.1 206 Partial Content
    Content-Range: bytes 1000-1999/1024000
    Content-Length: 1000
    Content-Type: application/zip

    <文件的 1000-1999 字节>

说明:客户端请求文件的 1000~1999 字节,服务器返回了这个范围的数据。


3️⃣ HTTP 416 Range Not Satisfiable

  • 含义:请求的范围无效或超出文件实际长度。

  • 适用场景:

    • 客户端请求超出文件大小的区间。

    • 断点续传时,客户端本地记录的已下载范围超过服务器文件大小。

  • 特点:

    • 响应会带 Content-Range,告诉客户端文件总长度:

      复制代码
      Content-Range: bytes */1024000
    • 客户端需重新计算下载区间或从头下载。

  • 示例:

    GET /file.zip HTTP/1.1
    Host: example.com
    Range: bytes=1024000-1025000

    HTTP/1.1 416 Range Not Satisfiable
    Content-Range: bytes */1024000

说明:客户端请求了 1024000~1025000 字节,但文件总长度只有 1024000 字节,所以服务器返回 416。


总结对比表

响应码 含义 请求要求 典型场景
200 OK 成功返回完整资源 可以带或不带 Range,但服务器返回整个资源 普通下载
206 Partial Content 成功返回部分内容 必须带 Range 请求 断点续传、分片下载
416 Range Not Satisfiable 请求范围无效 带 Range,但超出文件长度 断点续传失败

💡 实际开发中注意:

  1. 如果服务器不支持断点续传,带 Range 请求也可能返回 200。

  2. 断点续传前要检查本地已下载文件大小,避免请求超出范围导致 416。

  3. Content-Range 是关键头信息,标明当前返回的字节区间。

相关推荐
情 九5 小时前
Dify HTTP 请求节点实战:发送 JSON、解析响应与处理异常
网络协议·http·json·dify
Cry丶5 小时前
ubuntu安装vsftpd
服务器·网络·ubuntu
SHENGWEI胜为9 小时前
交换机端口显示正常,终端却获取不到 IP 地址?从 DHCP 流程定位故障
服务器·网络·测试工具·缓存·通信工程
ITxiaobing20239 小时前
海外广告投放的 IP 定位服务怎么选?一份基于实测数据的选型参考
网络协议·tcp/ip·php
IMPYLH10 小时前
Linux 系统备份与镜像
linux·服务器·网络
cfm_291411 小时前
初步了解ECDHE密钥交换
http
淘气包海鸟11 小时前
水声网络框架
网络·ns3·水
Lsetea12 小时前
curl -I检查HTTPS返回405:HEAD、GET与证书验收分层排查
linux·http·https·ssl证书·curl
国科安芯12 小时前
星间激光通信终端CANFD控制网络的时延确定性与辐射可靠性
网络·嵌入式硬件·信息与通信·canfd·低轨卫星·商业航天·抗辐射
我命由我1234512 小时前
Python 开发 - Python 虚拟环境
运维·开发语言·后端·python·http·https·java-ee