首页/网络/协议速查/410 Gone 已永久移除
HTTP 方法与状态码91 条

410 Gone 已永久移除

目标资源曾存在且被有意永久删除,且不会恢复;比 404 更明确。

协议速查网络更新于 2026-10-13

410 是什么

410 Gone 表示目标资源曾经存在,现在被有意永久删除,并且不会再恢复。它与 404 的关键区别在于「确定性」:404 只说明服务器找不到这个地址,可能只是路径写错或暂时不可用;410 则是明确的永久移除声明。对搜索引擎与缓存而言这个差别有意义——收到 410 可以比 404 更快地移除索引与缓存副本。

基本信息

状态码410 Gone
语义资源已被永久移除且不会恢复
规范RFC 9110 §15.5.11
是否可缓存属于默认可启发式缓存的响应码
与 404 的区别404 表示找不到,不承诺是否永久
与 451 的区别451 用于法律或合规原因导致的不可用

返回 410 的典型写法

返回 410 的典型写法
location = /old-promo {
    return 410;                 # 明确声明已永久下线
}
# 也可以带上说明页面,或在响应体里给出替代内容的位置
location ^~ /legacy/ {
    return 410;
}

三个易混状态码

状态码含义使用建议
404资源不存在,未说明是否永久路径错误或状态不确定时的默认选择
410资源曾存在且已永久移除确认下线的旧活动页、旧接口
451因法律或合规原因不可用内容审查、版权与地域限制场景

典型使用场景

  • 下线旧活动页与旧接口:明确告知客户端不要再试
  • 清理已迁移内容:原地址返回 410,同时在新地址保留可访问页面
  • SEO 策略调整:希望搜索引擎尽快移除索引而非持续抓取 404
  • 客户端快速失败:让调用方明确区分「已废弃」与「临时找不到」
  • 防止接口被反复探测:旧版本路径统一返回 410,减少无效请求
410 与 404 都属于默认可启发式缓存的响应码,浏览器与 CDN 有可能会缓存一段时间。如果业务后来反悔要恢复内容,除了改回响应还得清理缓存,否则部分用户会持续看到旧的 410。因此不确定是否永久时,用 404 更稳妥。

易错点

  • 批量把地址标成 410 后业务反悔:缓存与搜索引擎侧需要时间回滚,恢复成本高
  • 把 410 用在临时故障上:客户端与爬虫会按永久失效处理,恢复后需要额外的重新发现过程
  • 迁移内容时只返回 410 却忘了在新地址给出可访问页面,用户与索引同时丢失
  • 误以为 410 比 404 更能阻止抓取:它表达的是永久移除,处理不当反而影响站点结构评估

数据来源与参考

  • RFC 9110 §15.5.11 410 Gone

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌