1.1 HTTP基本原理

1.URI和URL

  • URI的全称为Uniform Resource Identifier,即统一资源标志符
    定义:一个用于标识某一具体资源(网页、图片、文件、人等)的字符串。
    作用:告诉你“这是谁”。它只关心唯一性,不关心怎么找到它。
    例子:urn:isbn:0451450523(这是一本书的国际标准书号,唯一标识了这本书,但你无法通过这个字符串直接拿到书)。

  • URL的全称为Universal Resource Locator,即统一资源定位符
    定义:URI的一个子集,不仅标识了资源,还提供了访问该资源的具体途径(协议、网络位置、路径)。
    作用:告诉你“它在哪里”以及“怎么去那里”。它既关心唯一性,也关心可达性。
    例子:https://www.example.com/index.html(通过HTTPS协议,在example.com服务器上找到index.html文件)。

  • URN的全称为Universal Resourse Name,即统一资源名称
    定义:URI的一种特定形式,它使用全球唯一且持久的名称来标识资源,但完全不涉及该资源的网络位置或访问协议。
    作用:只为资源命名而不指定如何定位资源
    例子:urn:isbn:0451450523指定了一本书的ISBN,可以唯一标识这本书,但没有指定到哪里获取这个本书,这就是URN

  • URI包括URL和URN两个子类

  • 在目前的互联网中,URN使用得非常少,几乎所有得URI都是URL,对于一般得网页链接都可以称为URL,可以称为URI

  • URL的格式规范如下:
    scheme://[username:password@]hostname[:port][/path][:parameters][?query][#frament]
    其中,中括号包括的内容代表非必要部分

    • scheme:协议。常用的协议有http、https、ftp等,另外scheme也被称作protocol,二者代表协议的意思
    • username、password:用户名和密码。在某些情况下,URL需要提供用户名和密码才能访问,这时候可以把用户名和密码放在host前面。比如:https://ssr3.scrape.center这个URL需要用户名和密码才可以访问,直接写为https://admin:admin@ssr3.scrape.center则可以直接访问
    • hostname:主机地址。可以是域名或IP地址。比如https://www.baidu.com 这个URL中的hostname就是www.baidu.com ,这就是百度的二级域名。比如:https://8.8.8.8 ,这个URL中的hostname就是8.8.8.8,它是一个IP地址
    • port:端口。这是服务器设定的服务端口,比如:https://8.8.8.8:12345 ,这个URL中的端口就是12345。http协议的默认端口是80,https协议的默认端口是443.所以https://www.baidu.com其实相当于https://www.baidu.com:443 , http://www.baidu.com相当于http😕/www.baidu.com:80
    • path:路径。指的是网络资源在服务器中的指定地址,比如:https://github.com/favicon.ico 中的path就是favicon.ico ,指的是访问GitHub根目录下的favicon.ico
    • parameters:参数。用来指定访问某个资源时的附加信息。比如:https://8.8.8.8:12345/hello:user 中的user就是parameters
    • query:查询。用来查询某类资源,如果有多个查询,则用&隔开。比如:https://www.baidu.com/s?wd=nba&ie=utf-8 ,其中的wd=nba&ie=utf-8就是query部分,制指定了wd是nba,ie是utf-8
    • fragment:片段。它是对资源描述的部分补充,可以理解为资源内部的书签。目前它有两个应用,一个是作用单页面路由,比如现代前端框架Vue、React都可以借助它来做路由管理;另一个是用作HTML锚点,用它可以控制一个页面打开时自动下滑滚动到某个特定的位置
posted @ 2026-08-26 21:57  abner_pan  阅读(2)  评论(0)    收藏  举报