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 部分。
相关推荐
骑驴看星星a6 小时前
数学建模--Topsis(Python)
开发语言·python·学习·数学建模
ReedFoley6 小时前
【笔记】动手学Ollama 第七章 应用案例1 搭建本地AI Copilot编程助手
人工智能·笔记·copilot
长安即是故里7 小时前
Maxwell学习笔记
笔记·学习
★YUI★9 小时前
学习制作记录(选项UI以及存档系统)8.24
学习·游戏·ui·unity·c#
咸甜适中9 小时前
rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(十四)垂直滚动条
笔记·学习·rust·egui
努力敲代码的小盆友9 小时前
[自用笔记]上传本地项目至github
笔记·github
It_张11 小时前
Building Systems with the ChatGPT API 使用 ChatGPT API 搭建系统(第五章学习笔记及总结)
笔记·学习·chatgpt
The_Second_Coming11 小时前
Linux 学习笔记 - 集群管理篇
linux·笔记·学习
浪子不回头41514 小时前
Mirage-LLM编译成大Kernel
学习
red_redemption15 小时前
自由学习记录(87)
学习