前言
今天我们来说一下 404 这个家伙
相信只要上过网的人,都见过类似的界面,当熟悉的404一次次的映入我们的眼帘,我们的第一反应或许是把这个界面关掉,而不会去了解一下为什么会导致404,毕竟,知道原因以后,就算是用来装13,也是不错的选择啊
ps:叶子超帅,不接受反驳!(小声)
正文
404出现的原因
当访问一个网页跳出404页面时,往往意味着我们访问的URL出了问题,问题的原因可能有以下几种:
1.原始的URL已经失效,可能是网站的管理员修改了URL
2.网页中的一些文件更改了路径(改变了位置)或者改了名称也会导致URL失效
3.输入了错误的地址,找不到对应的文件,自然会404
什么是URL
上文中我们提到的几种原因中,都离不开URL,那么什么是URL?
URL是Uniform Resource Locator的缩写,翻译过来就是统一资源定位符,互联网上的每一个文件(图片啊,视频啊等等)都会有一个唯一的URL,那显然,我们只要知道了该文件所对应的URL,就可以在互联网上找到这个对应的文件了。这就像在一个小区里,每一户人家都对应了唯一的一个地址(xxx栋x单元xx楼xx户),只要有了地址,我们就可以正确的找到我们的目标。
那么可想而知,当指向这个文件的URL除了问题,你还能找到这个文件或者说这个网站吗?可想而知,是不能的,那么在这种情况下,就会出现 404 的情况了。
对URL
清楚的认识
经过上面的解释,我们对URL也会有一个大概的认识了,但是,我们不推荐“只知其表,不知其理”这种做法,所以还需要进一步深挖一下URL。
高能预警!!最无聊的部分来啦
细看上面这张图,我们可以看到几个熟悉的字眼:http,www,甚至有的小伙伴对html也不眼生。其实这个普通的链接,就是一个URL,那么它大概可以分为以下几个部分:
1.protocol(协议):协议定义因特网服务的类型,也就是前面的http,现在最常见的还有https,也就是http协议,https协议
2.hostname(主机名):定义域主机,我们只需要知道,http的默认主机是www就可以了
3.domain(域名):定义因特网域名(取个名字),比如说我们常见的baidu.com,上面的runoob.com,这就是域名
4.port(端口号):定义主机端口号(http的默认端口号是 80 ),范围是0 ~ 65535(emmmmm,可以简单的理解为,门牌号…)
5.path(路径):定义服务器上的路径(图片中的/html,说明html-tutorial.html这个文件是在/html文件夹下面)(如果省略,则文档必须位于网站的根目录中)
6.filename(文件名称):定义文档/资源的名称,比如说上图中的html-tutorial.html,告诉我们这是一个html文件,html是文件后缀,告诉文件类型的,比如说图片常见的就是jpg,png,gif
以上的结构加起来,就大概组成了一个URL,也就是 —- 网址链接(大白话)
最终,我们得到通式(高数既视感…):protocol://host.domain:port/path/filename
404再走一波
高能预警2.0,无聊.jpg
当我们在网址输入框中写入一个链接,按下回车的时候,我们(用户)发起了一个请求,服务器在接收到请求后,会返回一个表示该请求的状态的数字代码,叫做http状态码(或者说http响应码),一共有几十种响应码,每一种都有它特定的含义,404也是http响应码家族中的一员,它代表的意思是服务器无法根据客户端的请求找到资源(网页),简单的来说,就是找不到,这就是404的含义
结语
毕竟涉及到URL,http响应码,甚至还牵扯到协议的东西,不可能在一篇文章中写明白,只能写一个大概,为了写的清楚易懂,有很多定义性的东西并没有放上来,所以也不排除文章中有描述不准确的地方,如说想深入了解,可以移步度娘,她啥都知道
文字来源:王老板的秘书
编辑:牛江元
校对:徐舒敏
领取专属 10元无门槛券
私享最新 技术干货