完整的URL语法和语法

完整的URL语法和语法,url,Url,我查看了一些关于URL组件的信息,但找不到关于可能的完整URL以及每个组件可能是什么的合理解释。我想知道一个完整的URL会是什么样子,充分利用所有的复杂性。我还希望在更好地理解它们之后构建一个小GUI来帮助解释它们,但在此之前,我会尝试使用我知道的组件: []括号包含完整的组件 |管道显示组件的可能子组件 ()括号包含有关子/组件的注释、想法和假设 我完全理解: [type][://][subdomain][domain][port][path][file][query][hash] 以下是每个

我查看了一些关于URL组件的信息,但找不到关于可能的完整URL以及每个组件可能是什么的合理解释。我想知道一个完整的URL会是什么样子,充分利用所有的复杂性。我还希望在更好地理解它们之后构建一个小GUI来帮助解释它们,但在此之前,我会尝试使用我知道的组件:

[]
括号包含完整的组件
|
管道显示组件的可能子组件
()
括号包含有关子/组件的注释、想法和假设

我完全理解:

[type][://][subdomain][domain][port][path][file][query][hash]

以下是每个组件的说明:如果它有一个
*
,则它是可选的

[type]
*=[(type{http | https | ftp | file | etc.}] (虽然这是可选的,但我认为它也是必需的,这意味着现代浏览器插入类型以向服务器请求,服务器也可能返回不同的类型)

[://]
=(不知道这叫什么)

[subdomain]
*=[[subdomain]|[subdomain]subdomain]

[domain]
=[name.(键入{com | org | etc..}]

[端口]
*=[(默认为空端口:80)|端口:*]

[path]
*=[(空白)|[path]|[path]path]

[file]
=[name.(键入{html | php | php |(etc..)}]

[query]
*=[?[blank(即无查询)| paramater=value | paramater=value¶mater=value(等)]]

[hash]
*=[#[blank(即无hash)| anyStringToBeParsedClientSide(通常用于持久性)] (刚刚了解到散列也被称为a)


我还忘了什么,或者我忽略了一个解释它们的好网站。请更正我的命名,因为它们可能不正确,因为我正在尝试了解它们的名称。

如果你真的想要所有复杂的东西,标准文档是唯一的途径,学习查找和阅读它们肯定会有回报。RFC是通常不难读

在本例中,是您想要的资源。它并不比您目前提出的更“过于技术化”;事实上,第5节的形式BNF语法与您编写的类似

您可能还对哪个描述URI格式感兴趣,它比URL更通用


您提到的一些东西是特定于HTTP的,如中所述。简要介绍一下URI。

为什么不阅读RFC?那里有文档;您只需要花一点时间搜索。您的假设让stackoverflow的品味很差。我做了研究,在我访问的站点中,IETF确实出现了,但它没有这太技术化了,我不确定它们是否与URL有关。学习过程的一部分是了解哪些资源是相关的。我不敢相信这是可能的,看看我也从未听说过
RFC
,所以现在我也在学习。URI的完整语法和语法在这里和文档中一样技术性这就是它的定义。