url 各组成部分的意义

URL - Uniform Resource Locator
当您点击 HTML 页面中的某个链接时,对应的 <a>标签指向万维网上的一个地址。
统一资源定位器(URL)用于定位万维网上的文档(或其他数据)。

网址,比如 http://www.w3school.com.cn/html/index.asp,遵守以下的语法规则:
scheme://host.domain:port/path/filename
解释:
scheme - 定义因特网服务的类型。最常见的类型是 http
host - 定义域主机(http 的默认主机是 www)
domain - 定义因特网域名,比如 w3school.com.cn
:port - 定义主机上的端口号(http 的默认端口号是 80)
path - 定义服务器上的路径(如果省略,则文档必须位于网站的根目录中)。
filename - 定义文档/资源的名称

编者注:URL 的英文全称是 Uniform Resource Locator,中文也译为“统一资源定位符”。

URL Schemes
以下是其中一些最流行的 scheme:

Scheme访问用于
http超文本传输协议以 http:// 开头的普通网页。不加密。
https安全超文本传输协议安全网页。加密所有信息交换。
ftp文件传输协议用于将文件下载或上传至网站。
file您计算机上的文件。

W3C的定义http://www.w3school.com.cn/html/html_url.asp

<think>我们正在讨论token的组成部分。根据引用[1]和引用[2],token通常由三部分组成:头部(Header)、载荷(Payload)和签名(Signature)。下面我将详细解释每个部分。</think>### Token 的组成部分详解 Token 通常由三部分组成,采用标准化的结构设计以确保安全性和可验证性: #### 1. **头部 (Header)** - **作用**:声明 Token 的类型和签名算法 - **内容**: - `typ`:Token 类型(如 `JWT`) - `alg`:签名算法(如 `HS256`、`RS256`) - **示例**: ```json { "alg": "HS256", "typ": "JWT" } ``` - **存储形式**:Base64Url 编码[^1] #### 2. **载荷 (Payload)** - **作用**:携带实际业务数据和声明 - **内容分类**: - **标准声明**(预定义字段): - `iss`:签发者 - `exp`:过期时间 - `sub`:主题 - `aud`:接收方 - **公共声明**:自定义业务数据(如用户ID、角色权限) - **私有声明**:双方约定的自定义字段 - **示例**: ```json { "sub": "user123", "name": "张三", "role": "admin", "exp": 1735689600 } ``` - **存储形式**:Base64Url 编码[^1][^2] #### 3. **签名 (Signature)** - **作用**:验证 Token 完整性和防篡改 - **生成方式**: ```js HMACSHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload), secretKey ) ``` - **验证原理**: - 服务器用相同算法和密钥重新计算签名 - 对比计算结果与 Token 中的签名是否一致 - **安全意义**: - 确保头部和载荷未被篡改 - 验证 Token 来源真实性[^2] ### Token 完整结构示例 ``` eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. // 头部(Base64编码) eyJzdWIiOiJ1c2VyMTIzIiwibmFtZSI6IuW8oOWbviIsInJvbGUiOiJhZG1pbiJ9. // 载荷(Base64编码) SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c // 签名 ``` ### 各部分的安全意义 1. **头部**:指定算法防止攻击者篡改签名方式[^1] 2. **载荷**:Base64编码可读但不加密,敏感数据需额外加密 3. **签名**: - 对称算法(如 `HS256`):需共享密钥 - 非对称算法(如 `RS256`):私钥签名,公钥验证 - 防止中间人篡改关键字段(如用户权限 `role`)[^2] --- ### 相关问题 1. **JWT 与 OAuth Token 在结构上有何区别?** 2. **如何安全地在 Token 载荷中存储敏感信息?** 3. **签名算法 HS256 和 RS256 在安全性上有何差异?** 4. **Token 过期机制(exp 字段)如何实现?有哪些最佳实践?** [^1]: Token 一般由三部分组成:头部、载荷部分和签名部分。头部包含了 Token 的类型和加密算法。 [^2]: 签名是 token 的第三部分,确保 token 在传输过程中没有被篡改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值