请正确使用http状态码,谢谢!

时间:2022-05-07
本文章向大家介绍请正确使用http状态码,谢谢!,主要内容包括什么是HTTP状态码451?、HTTP451的来源、一个示例、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

最近,由于某些特别原因。打开一些网址一直显示404,

想请问下,xx站的程序员,能不能按照http协议来返回呢?

什么是HTTP状态码451?

根据定义,HTTP 451错误代码状态出现,不代表这个地址是否存在,而代表该网页可能对于国家安全产生危险,或是该网页可能违反著作权、隐私权、亵渎神明或其他法律或法院命令。 该响应代码有如下的性质: 除非另外指明,否则这个响应代码是可以被缓存的。 必须携带一个带有一个Link头部,列出要求封禁该地址的实体URI;且应带有一个"rel"字段,值应为"blocked-by"[1]。

简单的讲 就是由于某些政治原因,所以,该页面不予访问

HTTP451的来源

本代码于2013年由提姆·布雷(Tim Bray)正式提出,主要基于博客Terence Eden的文章所提出的非正式提案[2]。2015年12月18日,此代码由国际网络工程研究团队通过[3]。 451这个代码源于1953年的反乌托邦小说《华氏451度》(纸的燃点为华氏451度),在这部小说中,所有书籍是违禁品[4]。相比较HTTP 403代码,451可更好描述一种由于法律规定或受权威部门要求而导致的封禁状态[5]

一个示例

某地一用户以GET方式请求http://example.org的/index.php路径:

  1. GET /index.php HTTP/1.1
  2. Host: www.example.org

由于用户所在地的某项法律规定,网站不可以向该地区用户返回这个页面,所以服务器做出回应,设置了有效期为一年的缓存头部,并在Link头部中加入了指定的政府部门URL“http://www.xxx.gov.tld”:

  1. HTTP/1.1 451 Unavailable For Legal Reasons
  2. Link: <http://www.xxx.gov.tld>; rel="blocked-by"
  3. Cache-control: max-age=31536000; public
  4. Content-Type: text/html; charset=utf-8
  5. <html>
  6. <head><title>因法律原因不可用</title></head>
  7. <body>
  8. <h1>HTTP/1.1 451 因法律原因,本页面不可用</h1>
  9. <p>根据《某法》第某条之规定,本网站页面对来自某地的访客不可用。</p>
  10. </body>
  11. </html>

本编文章参考于 维基百科 https://zh.wikipedia.org/wiki/HTTP_451

RFC 7725 - HTTP 451的正式RFC文件