URLはいくつかの部分で構成されています。次のような非常に複雑なURLがある場合:
http://www.example.com:1234/path/to/file.html?key1=value1&key2=value2
パーツは次のとおりです。
- プロトコル:http://
- ホスト名:www
- ドメイン名:example.com
- ポート:1234
- ファイルパス:path / to / file.html
- クエリ文字列:key1 = value1&key2 = value2
省略できない部分は、プロトコル(ただし、多くのプログラムではデフォルトでhttp://に設定できます)とホスト名だけです。各部分には、その中の合法的な文字が何であるかについての独自の要件があります。さらに悪いことに、すべてのWebサーバーがこれらの要件に同意しているわけではありません。したがって、実際に接続して失敗するかどうかを確認せずに確認できるのは、Webサーバーに接続するために必要な部分だけです。これは、プロトコル、ホストとドメインの名前、およびポートのみです。これらはすべて大文字と小文字を区別しません(残りは大文字と小文字が区別されない場合があります)。ホスト名またはドメイン名に有効な文字が何であるかはわかりませんが、これはネームサーバーが仕様に同意しない場合もあります。
つまり、URLが有効かどうかを確認する唯一の方法は、URLへの接続を試みることです。プログラムが何らかの魔法を使ってURL(または電子メールアドレス)を拒否する場合、一部の人々はあなたやそのインターネットプロバイダーを嫌うでしょう(チェックが仕様に準拠していても、一部のホスト名またはドメイン名は準拠していないため)。
URLがローカルファイルをどのように参照できるかという質問に関しては、そのための特別なプロトコルがありますfile://
。パスも/で始まる必要があるため、これによりURLはのようfile:///home/user/file.html
になり、先頭に3つのスラッシュが付きます。