【发布时间】:2011-03-22 20:54:50
【问题描述】:
我想问是否有任何Java包或库具有标准的URL规范化?
URL 表示的 5 个组成部分
http://www[dot]example[dot]com:8040/folder/exist?name=sky#head
- 方案:http
- 授权:www.example.com:8040
- 路径:/文件夹/存在
- 查询:?name=sky
- 片段:#head
标准 URL 规范化的 3 种类型
基于语法的规范化
- 大小写规范化 - 将方案和权限组件中的所有字母转换为小写
- 百分比编码规范化 - 解码与未保留字符相对应的任何百分比编码八位字节,例如用于连字符的 %2D 和用于下划线的 %5
- 路径段规范化 - 从路径组件中删除点段,例如“.”和“..”
基于方案的规范化
- 在 URL 的权限组件后添加尾随“/”
- 删除默认端口号,例如http方案的80
- 截断 URL 片段
基于协议的规范化
- 仅当访问资源的结果相等时才适用
- 例如,example.com/data 被源服务器定向到 example.com/data/
【问题讨论】:
标签: java url normalization