我正在查看有关 URL 组件的一些信息,但找不到对可能的全长 url 以及每个组件可能是什么的合理解释。我想知道一个完整的 URL 会是什么样子,利用所有的复杂性。一旦我更好地理解它们,我也希望构建一个小 GUI 来帮助解释它们,但在那之前我会尝试使用我知道的组件:
[ ]
括号包含完整的组件
|
管道显示组件的可能子组件
( )
括号包含关于子/组件的注释、想法和假设
我的完整理解:
[type][://][subdomain][domain][port][path][file][query][hash]
下面是每个组件的描述:如果它有一个*
,它是可选的
[type]
* = [ (type {http | https | ftp | file | etc...}) ] (虽然这是可选的,但我相信它也是必需的,这意味着现代浏览器会插入类型以向服务器请求它,并且服务器也可能返回不同的类型)
[://]
=(不知道这个叫什么)
[subdomain]
* = [ [子域] | [子域]子域]
[domain]
= [名称。(类型 {com | org | etc..})]
[port]
* = [(默认为空白端口:80)| 港口:** ]
[path]
* = [(空白)| [路径] | [路径]路径]
[file]
= [名称。(类型 {html | php | php | (etc...) }) ]
[query]
* = [ ?[ 空白(即无查询)| 参数=值 | 参数=值&参数=值(等...)]]
[hash]
* = [ #[ 空白(即没有哈希)| anyStringToBeParsedClientSide(通常用于持久化)](刚刚学习了哈希也称为片段标识符)
我还忘记了什么,或者我忽略了一个解释它们的好网站。请更正我的命名,因为它们可能不正确,因为我也在尝试了解它们的名称。