6

URL のコンポーネントに関するいくつかの情報を確認していましたが、考えられる完全な長さの URL と各コンポーネントが何であるかについての合理的な説明が見つかりません。すべての複雑さを利用して、完全な URL がどのように見えるかを知りたいです。私はまた、それらをよりよく理解したら、それらを説明するのに役立つ小さなGUIを構築したいと考えていますが、それまでは、私が知っているコンポーネントで試してみます:

[ ]括弧には完全なコンポーネントが含まれます | パイプはコンポーネントの可能なサブコンポーネントを示します ( )括弧にはサブ/コンポーネントに関するメモ、考え、および仮定が含まれます

私の完全な理解:

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

各コンポーネントの説明は次のとおり*です。

[type]* = [ (type {http | https | ftp | file | etc...}) ] (これはオプションですが、必須でもあると思います。つまり、最新のブラウザーは、サーバーに要求するタイプを挿入し、サーバーは別の型を返す場合もあります)

[://]= (これが何と呼ばれているかわかりません)

[subdomain]* = [ [サブドメイン] | [サブドメイン]サブドメイン]

[domain]= [ 名前 . (タイプ {com | 組織 | など}) ]

[port]* = [ (空白、デフォルトのポート:80) | ポート:** ]

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

[file]= [ 名前 . (タイプ {html | php | php | (など...) }) ]

[query]* = [ ?[ 空白 (つまり、クエリなし) | パラメータ=値 | パラメータ=値&パラメータ=値(など...) ]]

[hash]* = [ #[ 空白 (ハッシュなし) | anyStringToBeParsedClientSide(通常は永続化のため) ] (ハッシュはフラグメント識別子としても知られていることを学びました)

他に何を忘れているのか、またはそれらを説明する優れたサイトを見落としているのか. 私は彼らが何と呼ばれているかも学ぼうとしているので、間違っている可能性が高いので、私の命名を修正してください.

4

1 に答える 1

6

本当にすべての複雑さが必要な場合は、標準ドキュメントが唯一の方法であり、それらを見つけて読むことを学ぶことは間違いなく報われます. また、RFC は通常、それほど読みにくいものではありません。

この場合、必要なリソースはRFC 1738 (Uniform Resource Locators)です。これまでに思いついたものよりも「過度に技術的」ではありません。実際、セクション 5 には、あなたが書いたものと同様の正式な BNF 文法があります。

また、単なる URL よりも一般的な URI 形式について説明しているRFC 3986 (Uniform Resource Identifiers)にも関心があるかもしれません。

あなたが言及していることのいくつかは、 RFC 2616 (Hypertext Transfer Protocol 1.1)で説明されている HTTP に固有のものです。セクション 3.2では、URI について簡単に触れています。

于 2012-11-14T20:37:00.607 に答える