2010年2月,科技网络杂志Read Write web发表了一篇题为“Facebook想成为你唯一真正的登录用户”的文章。这篇文章是关于Facebook和美国在线之间的一项新的合作,旨在让用户更容易地登录Facebook。考虑到接下来发生的事情,这很讽刺。
在文章发表后不久,这篇文章莫名其妙地在谷歌中以“Facebook登录”的搜索词排名第一。所以当成千上万的人开始登陆这个Read - Write网页,以为这是Facebook的登录页面,他们继续登录!当然,他们无法登录,因为这不是他们所在的Facebook网站!请阅读下面的评论,看看当登录细节不起作用时人们的反应!
这种情况有什么问题吗?是谁的错,他们搜索了Facebook登录,然后到达了一个不是Facebook登录页面的网站?有些人认为谷歌是罪魁祸首,因为这些人已经熟悉了用这种方式登录Facebook,而且谷歌的结果改变了,他们不应该知道更多吗?另一些人则认为,责任在于相关人员,因为他们从来没有进行过最基本的安全检查……呃,来检查URL。
他们没有检查网址?
显然不是。啊?是网络钓鱼诈骗?——闲话少叙,进入正题。
什么是URL?
URL代表统一资源定位符,或者换句话说,在线资源的网址,即网站或文档。
Web浏览器在地址栏中显示URL
你访问的每个网站都有一个URL。以下URL指向本文:https://doepud.co.uk/blog/foreny-of-a-url。
创建URL的方式有两种
1)在点击网页、书签或电子邮件中的链接后,
2)直接在地址栏中输入URL即可创建URL
协议连接到域名,域名连接到文件路径…
以本文的URL为例,您应该理解URL的三个基本部分:协议、域名和路径。
并且,基于来自马特卡茨的URL定义的示例URL,这里是一个更复杂的URL示例:
从上图可见,URL构成分为:协议、子域名、域名、端口、路径、查询、参数以及片段等内容构成。
下面分别介绍。
1)协议:
该协议声明了web浏览器在发送或获取web页面或文档时应该如何与web服务器通信。最常见的协议是http,它代表超文本传输协议。
另一个常见的协议是https,它代表超文本传输协议安全。你会在安全页面上看到这个,比如购物网站和登录页面。如果你访问的网站需要输入敏感信息,比如银行信息和密码,确保协议声明为https。这意味着你的浏览器会对你提供的任何信息进行加密,这样在传输过程中试图拦截网页的钓鱼者就无法理解。
您不太可能看到的一些协议包括ftp(文件传输协议)pop(邮局协议)、smtp(简单邮件传输协议)和imap (Internet消息访问协议)。如果你想知道更多,这里有一个协议列表。
2)子域名
子域名是主域名的一个子分支。例如,mail.doepud.com和calendar.doepud.com是域名doepud.com的子域名。
3)域名
域名是互联网上标识网站的唯一参照,例如doepud.co.uk。域名总是包括顶级域名(top-level domain,TLD),在Doepud的例子中是uk。co部分是商业和合并的缩写。.co.uk被称为二级域名(second-level domain,SLD)。
4)端口
端口号很少在url中见到,但总是必需的。在URL中声明时,它紧跟在TLD之后,以冒号分隔。如果没有声明,并且大多数情况下协议是http,则使用端口80。对于https(安全)请求,使用端口443。
5)路径
路径通常指的是web服务器上的文件或目录,例如/directory/file.php。
有时候文件名不会被指定,例如https://doepud.co.uk/blog/,所以网络浏览器会自动在/blog/文件夹中查找名为index或default的文件。如果两者都不能找到,服务器通常会返回一个404 Not found错误。
6)查询
查询通常出现在动态页面(从数据库或用户生成内容生成的页面)的URL中,并由一个问号后跟一个或多个参数表示。查询直接跟随域名、路径或端口号后。
例如,看看这个URL,这是由谷歌产生的,当做搜索单词URL:
http://www.google.co.uk/search?q=url&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-GB:official&client=firefox-a.
其中查询部分为:
?q=url&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-GB:official&client=firefox-a.
7)参数
参数是在URL的查询字符串中找到的信息片段。参考上面的谷歌查询,参数跟在问号后面,并由&字符分隔,因此可以单独理解它们,并用于显示页面上的内容。这些参数是:
8)片段
片段是一个内部页面引用,有时称为命名锚。它通常出现在URL的末尾,以(#)字符和标识符开头。它指的是网页中的一个部分。
URL(Uniform Resource Locator):http://en.wikipedia.org/wiki/Uniform_Resource_Locator
URL缩短化: http://en.wikipedia.org/wiki/URL_shortening