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 部分。
相关推荐
虾球xz19 分钟前
游戏引擎学习第261天:切换到静态帧数组
c++·学习·游戏引擎
自小吃多37 分钟前
FreeRTOS任务与中断服务程序ISR
笔记·stm32·嵌入式硬件
霖001 小时前
FPGA实战项目1——坦克大战
人工智能·经验分享·嵌入式硬件·学习·fpga开发·fpga
Lucky高1 小时前
学习Python网络爬虫的实例
爬虫·python·学习
一只码代码的章鱼1 小时前
5.4学习记录
学习·算法·动态规划
IT技术员1 小时前
【Java学习】关于springBoot的自动配置和起步依赖
java·spring boot·学习
梁小憨憨2 小时前
对比学习(Contrastive Learning)
人工智能·笔记·深度学习
yuhouxiyang3 小时前
学习海康VisionMaster之间距检测
学习·计算机视觉
qq_386322693 小时前
华为网路设备学习-20 IGP路由专题-IP前缀列表
服务器·前端·学习
灏瀚星空3 小时前
基于Python的策略开发与回测:统计套利策略
开发语言·python·学习·算法·机器学习