在开发者工具中,为什么有的服务器返回值的状态值是fail?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
在测试各种服务器端返回值代码的时候,苏南大叔发现了一个有意思的现象:在浏览器的开发者工具里面,network
的状态值一栏,有的时候显示的是对应的状态码(比如最常见的404
),有的时候显示的是fail
。而页面上显示的时候,有的是浏览器的默认404
页面,有的是空白页面,甚至有的是自定义页面。这究竟是为什么呢?
苏南大叔的"程序如此灵动博客",记录苏南大叔的代码所学所想。本文测试环境:win10
,php@8.2.1
,chrome@121.0.6167.189
。其实,本文的结论和php
没有什么关系,只是一个习惯性的认知误差而已。
浏览器默认页面
并不是所有的404
页面,都长成下面这样的:
这只是浏览器处理404
状态的一个默认情况,并不是一成不变的。比如以前浏览器的默认404
页面是个小恐龙页面。
如果404
显示浏览器定制的默认页面,那么,唯一的可能性就是:服务器端只发出了一个状态码404
,其余没有任何字符输出。(连个空格都没输出)。这种情况下,
network
里面监控到的状态码就不是404
,而是fail
。- 同时,页面显示的内容是浏览器定义的默认页面。
页面非默认
如果服务器端在发出错误代码(例如404
)的时候,顺便输出一个空白字符。那么,
network
里面监控到的状态码就是404
,而不是fail
。- 同时,页面显示的内容是就是空白。
当然,页面也可以展示为一个自定义的有趣的404
页面。甚至展示为一个常规的页面,也是可以的。它和常见页面的区别,仅仅在于一个不起眼的状态码:一个是404
,一个是200
。
nginx
自定义404
页面的方式,可以参考:
表格总结
真实状态码 | network检测 | 如何模拟 |
---|---|---|
404 | 404 | 除了状态码,随便输出点其它字符,空白字符也行 |
404 | fail | 输出状态码之后,不要输出任何字符! |
结语
没有可写的,随便丢个链接在这里:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。