HTTP状态代码300的规范
300 Multiple Choices状态代码表示目标资源有不止一个表示,每个表示都有自己的更具体的标识符,并且正在提供关于备选方案的信息,以便用户(或用户代理)可以通过将其请求重定向到这些标识符中的一个或多个来选择一个首选表示。换句话说,服务器希望用户代理参与反应式协商,以选择最适合其需求的表示方式(第 12 节)。
如果服务器有一个优先选择,服务器应该生成一个包含优先选择的 URI 引用的位置头域。用户代理可以使用Location字段的值进行自动重定向。
对于HEAD以外的请求方法,服务器应该在300 Multiple Choices响应中生成包含表示元数据和URI引用列表的内容,用户或用户代理可以从中选择最喜欢的那个。如果用户代理理解所提供的媒体类型,它可以从该列表中自动做出选择。本规范没有定义自动选择的具体格式,因为HTTP试图保持对其内容定义的正交性。在实践中,表现形式是以一些容易解析的格式提供的,这些格式被认为是用户代理可以接受的,这是由共享设计或内容协商决定的,或者是以一些普遍接受的超文本格式。
300 Multiple Choices响应在启发式上是可缓存的;也就是说,除非方法定义或明确的缓存控制另有说明(见[CACHING]的第4.2.2节)。
注意:关于300 Multiple Choices状态代码的最初提议将URI头字段定义为提供替代表示的列表,这样它就可以用于200、300 Multiple Choices和406响应,并在对HEAD方法的响应中被转移。然而,由于缺乏部署和对语法的分歧,导致URI和Alternates(一个后续的提议)都从这个规范中删除。有可能将该列表作为链接头字段值[RFC8288]进行通信,其成员具有 "替代 "关系,尽管部署是一个鸡生蛋蛋生鸡的问题。
来源/引自: 300 Multiple Choices HTTP状态代码由15.4.1的RFC9110部分指定。
HTTP协议
如何用PHP抛出一个300状态代码?
要在一个网页上抛出HTTP状态代码300,可以使用PHP函数http_response_code。其语法如下: http_response_code(300) (PHP 5 >= 5.4.0, PHP 7, PHP 8)
测试300 HTTP状态代码
为了能够在客户端显示HTTP状态代码(本例中为300 Multiple Choices)和其他信息,必须用F12打开开发控制台。然后导航到 "网络 "标签。现在可以打开页面,网站(例如index.php)应该在网络标签中可见。这必须被选中,然后必须选择Herder部分。然后,用户将看到以下结果:
URL: https://http-statuscode.com/errorCodeExample.php?code=300
状况: 300 Multiple Choices
那些: Network
IP地址: XX.XX.XX.XX
300状态代码的浏览器兼容性
Chrome | no data |
Edge | no data |
Firefox | no data |
Opera | no data |
Safari | no data |
Chrome Android | no data |
Firefox for Android | no data |
Opera Android | no data |
Safari on iOS | no data |
Internet | no data |
WebView Android | no data |
编程语言中的常量
HttpStatusCode.MultipleChoices
http.StatusMultipleChoices
Response::HTTP_MULTIPLE_CHOICES
:multiple_choices