HTML URL 学习笔记

一、URL 概述

  1. 定义:统一资源定位符(Uniform Resource Locator,简称 URL),也被称为网址,是在互联网上用于访问资源的一种标准方式。它指示了资源的位置以及浏览器应如何处理该资源。
  2. 功能:URL 主要用于定位万维网上的文档或其他资源,并告知浏览器如何请求这些资源。它是 Web 浏览器从 Web 服务器请求页面的基础。

二、URL 的组成部分

一个标准的 URL 通常由以下几个部分组成:

  1. 协议(Scheme)

    • 定义了用于访问资源的协议,如 httphttpsftp 等。最常见的是 httphttps,其中 https 表示安全的 HTTP 连接。
  2. 主机名(Host)

    • 指定了资源所在的服务器的域名或 IP 地址。例如,在 URL https://www.example.com 中,www.example.com 就是主机名。
  3. 端口号(Port)(可选):

    • 指定了与服务器通信的端口号。HTTP 默认使用端口 80,HTTPS 默认使用端口 443。如果 URL 中没有指定端口号,浏览器将使用相应的默认端口。例如,https://www.example.com:8080 表示使用端口 8080 访问 example.com
  4. 路径(Path)

    • 指定了资源在服务器上的具体位置,包括目录和文件名。例如,在 URL https://www.example.com/path/to/resource 中,/path/to/resource 就是路径。如果省略路径,则表示访问网站的根目录。
  5. 查询字符串(Query String)(可选):

    • 用于传递参数给服务器上的资源。它通常以 ? 开头,后跟一系列键值对。例如,https://www.example.com/search?q=keyword&lang=en 中,q=keyword&lang=en 就是查询字符串。
  6. 片段标识符(Fragment Identifier)(可选):

    • 用于指定资源内部的一个位置,通常用于页面内的导航。它以 # 开头。例如,https://www.example.com/page#section1 中,#section1 就是片段标识符。

三、URL 的字符编码

由于 URL 只能使用 ASCII 字符集通过因特网进行发送,因此对于非 ASCII 字符,需要使用百分号(%)后跟两位十六进制数来表示。这种编码方式称为 URL 编码。例如:

  1. 空格 :在 URL 中,空格不能直接表示,通常使用 +%20 来代替。例如,https://www.example.com/search?q=hello world 可以编码为 https://www.example.com/search?q=hello+worldhttps://www.example.com/search?q=hello%20world
  2. 特殊字符 :其他特殊字符也需要进行 URL 编码。例如,! 编码为 %21# 编码为 %23$ 编码为 %24 等。

四、URL 的使用示例

以下是一些常见的 URL 示例及其说明:

  1. 简单 URL

    • https://www.example.com:访问 example.com 网站的根目录。
    • https://www.example.com/about:访问 example.com 网站的 about 页面。
  2. 带查询字符串的 URL

    • https://www.example.com/search?q=html&lang=zh:在 example.com 网站上搜索关键词 "html",并设置语言为中文。
  3. 带片段标识符的 URL

    • https://www.example.com/page#contact:访问 example.com 网站的 page 页面,并定位到页面中的 contact 部分。
相关推荐
好奇龙猫1 分钟前
【AI学习-comfyUI学习-第十七六节-SUPIR放大(XL模型专属)-各个部分学习-记录】
人工智能·学习
windfantasy19904 分钟前
青少年编程考级:建立学习目标,提升综合素养的有效途径
人工智能·学习·青少年编程
IMPYLH11 分钟前
Lua 的 Debug(调试) 模块
开发语言·笔记·python·单元测试·lua·fastapi
摇滚侠24 分钟前
Redis 零基础到进阶,zset、bitmap、HyperLogLog、GEO、stream、bitfiled,笔记20-27
数据库·redis·笔记
timer_01726 分钟前
CatchAdmin v5.0 beta
笔记
LO嘉嘉VE29 分钟前
学习笔记三十:极大似然估计
笔记·学习·机器学习
QT 小鲜肉33 分钟前
【Linux命令大全】001.文件管理(理论篇)
linux·数据库·chrome·笔记
蛔虫在他乡39 分钟前
pycharm双击无法打开问题备份
学习
YJlio1 小时前
[鸿蒙2025领航者闯关] 鸿蒙 6 实战:给“支付/账单页”加上 AI 防窥 + 超级隐私模式兜底 + 方舟引擎性能优化
服务器·笔记·学习
副露のmagic1 小时前
更弱智的算法学习 day12
数据结构·学习·算法