URI の解析は興味深いもので、これほど複雑なことがあるとは知りませんでした。
URI
Wikipedia における URI の説明は次のとおりです。
コンピュータ用語では、Uniform Resource Identifier (URI) はインターネット リソースの名前を識別するために使用される文字列です。 このタイプの識別により、ユーザーは特定のプロトコルを通じてネットワーク (一般に World Wide Web と呼ばれます) 上のリソースと対話できるようになります。 URI は、構文と関連するプロトコルを決定するスキームによって定義されます。
インターネット上の URI 構成の説明から引用しており、これらは後の URI の分析で見ることができます。
URI は通常、次の 3 つの部分で構成されます。
1. リソースにアクセスするための名前付けメカニズム。
2. リソースが保存されているホスト名。
3. パスで表されるリソース自体の名前。
あるいは、この 2 つは一貫しているように見えるとも言えます。
URL の形式は次の 3 つの部分で構成されます:
1. 規約(またはサービス方法)
2. リソースが保存されているホストの IP アドレス (ポート番号を含む場合もあります)
3. ホストリソースの特定のアドレス。 、ディレクトリ名やファイル名など
URI 解析
URI の「解決」とは、相対 URI 参照を絶対形式に変換すること、または逆参照可能な URI または URI 参照によって表されるリソースの取得を試みることによって URI を逆参照することを意味します。文書処理ソフトウェアの「解析」部分は、多くの場合、両方の機能を提供します。
JavaScript URI 解析
ブログ内の検索 JS を例に挙げます。その URL は次のとおりです。
http://www.jb51.net/search/?q=js&type=
それから
がありました
var parser = document.createElement('a');
parser.href = "http://www.jb51.net/search/?q=js&type="
その後、そのプロトコル、ポート番号、ホスト、特定のアドレスなどを知ることができます。
パーサー.プロトコル
パーサー.ホスト;
パーサー.パス名;
parser.search;
返される結果は
です
プロトコル:http
ホスト:www.jb51.net
パス名:/search/
検索:?q=js&type=
上記の結果が加算されて、完全な URI が形成されます。 parser.search のこの部分がよくわかりません。? 番号については、検索に使用されるパラメータである必要があります。
電子メールの URI の場合、URI が
であると仮定します。
mailto:h@jb51.net?subject=hello
それでは
var parser = document.createElement('a');
parser.href = "mailto:h@jb51.net?subject=hello";
> パーサー.プロトコル
「メールアドレス:」
> パーサーのパス名
「h@jb51.net」
> パーサー.検索
"?subject=こんにちは"