URL

275 阅读4分钟

简介

  • URL 是“统一资源定位符”(Uniform Resource Locator)的首字母缩写,中文译为“网址”,表示各种资源的互联网地址。(所谓资源,可以简单理解成各种可以通过互联网访问的文件,比如网页、图像、音频、视频、JavaScript 脚本等等。)
  • 组成: 1659861996838.png 例如:(HTTPS默认端口:443) 1659862120990.png

协议

  • 协议(scheme)是浏览器请求服务器资源的方法,上例是https://的部分,表示使用 HTTPS 协议。
  • 互联网支持多种协议,必须指明网址使用哪一种协议,默认是 HTTP 协议。
  • 如果省略协议,直接在浏览器地址栏输入www.baidu.com,那么浏览器默认会访问http://www.baidu.com
  • HTTPS 是 HTTP 的加密版本,出于安全考虑,越来越多的网站使用这个协议。

IP (网络协议:Inteinet Protocal)

  • IP是整个TCP/IP协议族的核心,也是构成互联网的基础。IP位于TCP/IP模型的网络层(相当于OSI模型的网络层),它可以向传输层提供各种协议的信息,例如TCP、UDP等;对下可将IP信息包放到链路层,通过以太网、令牌环网络等各种技术来传送。
  • IP主要约定了两件事:
    • 如何定位一台设备
    • 如何封装数据报文,以跟其他设备交流
  • IP 分为内网和外网 1659862752990.png 1659862843726.png
  • 几个特殊的 IP
    • 127.0.0.1 表示自己
    • 0.0.0.0 不表示任何设备
    • localhost 通过hosts指定为自己 1659863141224.png

域名

  • 是资源所在的网站名或服务器的名字,又称为主机(host),可以说是 IP 的别称。例如www.baidu.com
  • 有些主机没有域名,只有 IP 地址,比如192.168.2.15。这种情况常常出现在局域网。
  • 一个域名可对应不同的 IP ,这叫负载均衡;一个 IP 也可对应不同的域名,这叫共享主机。
  • 查找 IP :在命令行用 ping 1659864099758.png 在命令行输入:ping baidu.com 可得到其 IP 为110.242.68.66
  • 查找域名:在命令行用 nslookup
  • 域名和 IP 是通过 DNS (域名系统:Domain Name System)对应起来的。
    • 例如:输入 xiedaimala.com 1659864657411.png

端口 (port)

  • 一台机器可提供很多服务,每个服务一个号码,这个号码就叫做端口。
  • HTTP 协议的默认端口是80,如果省略了这个参数,服务器就会返回80端口的网站。
  • 端口紧跟在域名后面,两者之间使用冒号分隔,比如www.baidu.com:80
  • 可在维基百科中查询端口列表。
  • 规则:
    • 0 ~ 1023 号端口是留给系统用的,拥有管理员权限后才能使用这1024个端口(不过不建议用)。
    • 其他的端口可以给普通用户使用,如果一个端口被占用,只能换另一个端口。

路径

路径(path)是资源在网站的位置。比如,/path/index.html这个路径,指向网站的/path子目录下面的网页文件index.html

互联网的早期,路径是真实存在的物理位置。现在由于服务器可以模拟这些位置,所以路径只是虚拟位置。

路径可能只包含目录,不包含文件名,比如/foo/,甚至结尾的斜杠都可以省略。这时,服务器通常会默认跳转到该目录里面的index.html文件(即等同于请求/foo/index.html),但也可能有其他的处理(比如列出目录里面的所有文件),这取决于服务器的设置。一般来说,访问www.example.com这个网址,很可能返回的是网页文件www.example.com/index.html

查询参数

  • 查询参数(parameter)是提供给服务器的额外信息。参数的位置是在路径后面,两者之间使用 ? 分隔。
  • 查询参数可以有一组或多组。每组参数都是键值对(key-value pair)的形式,同时具有键名(key)和键值(value),它们之间使用等号(=)连接。比如,key1=value就是一个键值对,key1是键名,value1是键值。
  • 多组参数之间使用&连接,比如key1=value1&key2=value2

锚点

  • 锚点(anchor)是网页内部的定位点,使用#加上锚点名称,放在网址的最后,比如#anchor。浏览器加载页面以后,会自动滚动到锚点所在的位置。
  • 注意:
    • 锚点不支持中文
    • 无法在Network上看到,因为锚点不会传给服务器

「资料来源:饥人谷、wangdoc.com」