什么是URL
URL(Uniform Resource Locator,统一资源定位符)是用于标识互联网上资源位置的标准方式。它提供了一种方式来访问网页、文件、图片、视频等各种资源。URL通常由几个部分组成,每个部分都有特定的功能。
我们如何在一个主机中了解到其他页面的地址就需要通过URL去请求对应地址的对应数据,有些时候可能还需要给一些东西让他们知道怎么查找你需要的数据。
比如说以下例子
scheme://username:password@hostname:port/path?query#fragment
URL包含的内容
Scheme://(协议)
表示资源所使用的协议,如 http、https、ftp 等。例如:
http://
https://
在这里我们最常用的是http和https协议,对于这两个协议我们需要有一些基本的了解。
首先网络协议是在OSI模型的应用层中使用的协议,不太清楚的宝子再去看看计算机网络。最早主要是通过HTTP协议来帮助大家进行文本传输,这一部分后面写篇文章着重介绍一下。
Username:Password(用户名:密码)
用于需要身份验证的资源访问。这个部分在现代Web中很少使用,因为它可能导致安全问题。所以现在不用这个防止产生信息泄露的问题。例如:
username:password@
Hostname(主机名)
表示资源所在的服务器的域名或IP地址。例如:
www.example.com
192.168.1.1
这个和后面的DNS域名解析有关,后面介绍。
Port(端口)
指定访问服务器的端口号。如果省略,通常使用默认端口(如HTTP的默认端口是80,HTTPS的默认端口是443)。例如:
:80
:443
Path(路径)
指定资源在服务器上的具体位置。通常是一个文件路径或目录结构。例如:
/path/to/resource
它就是代表的你在对应的主机号上面访问哪个路径可以找到相应的文件。
Query(查询)(可选)
提供附加参数,通常用于动态生成内容。查询字符串以问号 ? 开始,由键值对组成,键和值之间用等号 = 分隔,多个键值对用与号 & 分隔。例如:
?key1=value1&key2=value2
尤其是在前端开发方面,我们需要跳转页面并且带上相对应的查询数据给新页面的时候,需要拼接上本页面的数据。在开发中是很重要的部分。
Fragment(片段)(可选)
用于在资源中定位特定部分,通常用于指向网页中的某个位置。片段以井号 # 开始。例如:
#section1
示例URL
我们可以通过一个具体示例来更好地理解这些部分:
https://www.example.com:443/path/to/resource?search=query#fragment
https:使用HTTPS协议。www.example.com:服务器的主机名。:443:端口号(通常HTTPS的默认端口443可以省略)。/path/to/resource:服务器上资源的路径。?search=query:查询参数,包含键值对search=query。#fragment:片段标识符,指向资源中的某个位置。
小结
在这个阶段我们根据一定的协议,知道了我们需要拿的东西的对应部分信息。接下来我们就要进入到DNS解析的阶段了。