解惑:哪些错误是用HTTP状态码表示的
zhezhongyun 2025-03-12 22:15 33 浏览
感谢IT之家网友 yinyue200的原创投稿
简单来说,当我们访问一个网站时,例如,https://www.ithome.com/ 时。浏览器会执行下面几个步骤:
1、查找 https://www.ithome.com/ 这个域名所对应的 IP 地址。我们常说的 DNS 就是用来干这件事的。
2、请求与上一步中查找到的 IP 地址建立 TCP 连接。
3、在TCP连接中发送 HTTP 请求 /zh-cn/ 这个资源。
4、浏览器收到服务器对 HTTP 请求回应的内容,根据内容做出不同的显示。
里面有这么一句话
400错误请求:400代表语义有误,服务器无法理解用户的请求,除非进行修改,不然没必要一边按F5一边喷服务器垃圾。比如说别把www.baidu.com.打成com.baidu.www.,否则服务器是不知道你在说什么鸟语。在减少这类错误的道路上,伟大的人类发明了搜索引擎,容错率随之提高。
还配了这样一张图
这个根本不是文章中说的 HTTP 400 错误,详细信息都已经说了是 DNS 名称不存在。明摆着是在查找 com.baidu.www 这个域名对应的 IP 地址时就出错了,怎么可能会相应的是 HTTP 400 错误。
其中对于 HTTP 408 的配图也有同样的问题,配图的错误是直接在 TCP 连接阶段就超时的,响应码并不是 HTTP 错误。如果是 HTTP 错误,那么显示的一定是网站自己写的错误页面,而不是浏览器标准的错误页面(不过这点也有一些例外,IE和某些浏览器会将某些内容较短的 HTTP 错误页面替换成浏览器标准错误页面)
所以说,在 DNS 查询阶段,TCP 传输阶段时的出错内容是不能用 HTTP 错误码显示的。
大多数的阻止你访问指定网站的机制(比如公司网络不能访问某些网站的情况)都是在 DNS 和 TCP 连接上下手,返回错误的 IP 地址或是强行中断与指定IP的连接。有一种特殊的情况就是返回的错误IP地址正好对应着一个其它网站的 IP 地址,因为每个网站的 URL 结构都是不同的,所以这种情况下你一般看到错误IP地址所对网站的 HTTP 404 错误。否则一般情况下阻止你访问指定网站的机制所造成的错误一般是错误 IP 地址导致的服务器无响应,而不是 HTTP 错误,因为 HTTP 错误必须是在服务器响应你的 TCP 连接请求的之后才能出现的。
某些网关或是网络中间设备可能造成更加复杂的情况,不在本文讨论范围。
还有一点,HTTP 401 301 302 305 其实都不应该在内容被封禁的时候使用,根据 IETF 的标准,HTTP 451(Unavailable For Legal Reasons)才是专门为这种情况制定的 HTTP 状态码
具体可以查看 IETF 的 RFC 7725。
【原标题:解惑:哪些错误是用HTTP状态码表示的】- 上一篇:HTTP状态码超详细说明
- 下一篇:45、HTTP状态码
相关推荐
- 3 分钟!AI 从零开发五子棋全过程曝光,网友:这效率我服了
-
<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8...
- 一行代码实现display"过渡动画"原理
-
作者:Peter谭老师转发链接:https://mp.weixin.qq.com/s/XhwPOv62gypzq5MhhP-5vg写本文的起因上篇文章,提到如何让display出现过渡动画,却没有仔...
- 脑洞:琼恩·雪诺、蝙蝠侠和魔形女的灵魂宠物了解一下
-
AlekseiVinogradovisaRussianfreelancedigitalartistwhoshareshisskillsandtalentwith120k...
- 浏览器的渲染机制、重绘、重排
-
1、什么是重排和重绘网页生成过程:HTML被HTML解析器解析成DOM树css则被css解析器解析成CSSOM树结合DOM树和CSSOM树,生成一棵渲染树(RenderTree)生成布局(flo...
- 托福写作高频考题写作思路&词汇丨考虫独家
-
科技话题与媒体话题是托福写作的常考话题很多考生对这两类话题里的专有词汇表达也许很不了解所以今天就跟随考虫托福写作老师刘云龙老师一起来学习在这些话题的写作里你可以使用哪些有用的表达。希望大家有收获!记得...
- 在优麒麟上使用 Electron 开发桌面应用
-
使用Web标准来创建桌面GUI,上手快、成本低、跨平台、自适应分辨率,这些都是Electron的优势。作者/来源:优麒麟Electron是由Github开发,用HTML、CSS和...
- php手把手教你做网站(三十八)jquery 转轮盘抽奖,开盲盒
-
抽奖和开盲盒性质一样的都是通过ajax读取后台的随机数据。1、转轮盘本来是想直接绘图实现轮盘,但是没有找到怎么填充文字,只好把轮盘弄成了背景图,通常用于游戏抽道具,商城积分抽奖,公司年末员工抽奖点击抽...
- 用 CSS 整活!3D 轮播图手把手教学,快乐代码敲出来
-
兄弟们,今天咱来搞点好玩的——用CSS整一个3D轮播图!咱野生程序员就是要在代码里找乐子,技术和快乐咱都得要!代码是写不完的,但咱能自己敲出快乐来,走起!一、先整个容器,搭个舞台咋先写一个...
- 实现一个超酷的 3D 立体卡片效 #前端开发
-
今天我们来实现一个超酷的3D立体卡片效果。正常情况下就是一个普通的图片展示卡片,鼠标悬停的时候图片会跳出卡片,并将影子投射到背景卡片上,在视觉上有一个3D立体感。html主要分成3个部分:容器→背景层...
- Vue 3 Teleport与Suspense:解决UI难题的两个"隐藏大招"
-
模态框的"层级噩梦"与Teleport的救赎"这个模态框怎么又被父容器截断了?"团队协作开发后台系统时,小张第N次遇到这个问题。多层嵌套的组件结构里,弹窗被overfl...
- 让交互更加生动!有意思的鼠标跟随 3D 旋转动效
-
今天,群友问了这样一个问题,如下所示的鼠标跟随交互效果,如何实现:简单分析一下,这个交互效果主要有两个核心:借助了CSS3D的能力元素的旋转需要和鼠标的移动相结合本文,就将讲述如何使用纯CSS...
- 填坑:transform元素导致zindex失效终极方法
-
今天遇到了使用css3动画的元素层级被放大置顶的问题,ios浏览器上没问题,安卓原生浏览器和安卓微信上有问题。使用了css3动画的元素z-index失效,兄弟元素设置多高的z-index都盖不住解决办...
- 诡异的层级错乱:一个被transform隐藏的CSS陷阱
-
周五下午三点十七分,设计部突然发来紧急截图——原本应该悬浮在顶部的导航菜单,此刻正诡异地被下方的轮播图遮挡。我盯着屏幕上错乱的层级关系,手指下意识地敲下z-index:9999,心里清楚这不过是程序...
- 动画篇--碎片动画
-
本文授权转载,作者:Sindri的小巢(简书)前言从最开始动笔动画篇的博客,至今已经过去了四个多月。这段时间回头看了看自己之前的动画文章,发现用来讲解动画的例子确实不那么的赏心悦目。于是这段时间总是想...
- Nature:大洋转换断层处的拉张构造与两阶段地壳增生
-
Nature:大洋转换断层处的拉张构造与两阶段地壳增生转换断层是三种基本的板块边界之一,全球总长度超过48000km(Bird,2003),它们的发现为板块构造理论的建立奠定了重要的基础(Wil...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 教程 (33)
- HTML 简介 (35)
- HTML 实例/测验 (32)
- HTML 测验 (32)
- JavaScript 和 HTML DOM 参考手册 (32)
- HTML 拓展阅读 (30)
- HTML文本框样式 (31)
- HTML滚动条样式 (34)
- HTML5 浏览器支持 (33)
- HTML5 新元素 (33)
- HTML5 WebSocket (30)
- HTML5 代码规范 (32)
- HTML5 标签 (717)
- HTML5 标签 (已废弃) (75)
- HTML5电子书 (32)
- HTML5开发工具 (34)
- HTML5小游戏源码 (34)
- HTML5模板下载 (30)
- HTTP 状态消息 (33)
- HTTP 方法:GET 对比 POST (33)
- 键盘快捷键 (35)
- 标签 (226)
- HTML button formtarget 属性 (30)
- CSS 水平对齐 (Horizontal Align) (30)
- opacity 属性 (32)