那些你不得不知道的前端常识(1)-404

前言

今天我们来说一下 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响应码,甚至还牵扯到协议的东西,不可能在一篇文章中写明白,只能写一个大概,为了写的清楚易懂,有很多定义性的东西并没有放上来,所以也不排除文章中有描述不准确的地方,如说想深入了解,可以移步度娘,她啥都知道

文字来源:王老板的秘书

编辑:牛江元

校对:徐舒敏

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181108B00AKH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券