URI オーソリティ
オーソリティは URI の部分で、スキームの後でパスより前に来る部分です。 最大 3 つの部分、すなわちユーザー情報、ホスト、ポート番号を持つことがあります。
構文
host
host:port
user@host
user@host:port
- host
-
通常、host はリソースをホストするサーバーのドメイン名または IP アドレスです。ドメイン名は、DNS(ドメインネームシステム)を使用して IP アドレスに解決されます。
- port 省略可
-
port は、サーバーがリクエストを待ち受けするポート番号を示す数字です。これはオプションであり、HTTP の場合は既定で 80、HTTPS の場合は 443 です。他にも、自分自身で既定値を定義したり、必須にしたりするスキームがあります。
- user 省略可
-
ユーザーはオプションであり、認証目的で使用します。ウェブの URI では一般的に使用されません。
警告: HTTP の URL にユーザー情報を直接記載することは、機密情報が公開される可能性があるため推奨されません。代わりに、HTTP 認証やセッション Cookie などの他の方法を使用することができます。フィッシングサイトでは、ユーザーをだますために、あたかもドメイン名であるかのように「ユーザー」部分が表示される、誤解を招く URL を表示することがあります。これはセマンティック URL 攻撃という名前で知られています。
例
https://developer.mozilla.org
-
ホストは
developer.mozilla.org
です。ポート番号は指定されていませんが、https:
経由でアクセスされた場合は既定で 443 になります。 http://localhost:8080
-
ホストは
localhost
、ポートは8080
です。localhost
は特別なホスト名で、ブラウザーがローカルアドレス127.0.0.1
に解決します。 postgresql://postgres:admin123@db:5432
-
ホストは
db
、ポートは5432
です。また、ユーザーpostgres
とパスワードadmin123
を指定します。これは、PostgreSQL データベースに接続する際に使用することができます。 https://cnn.example.com&story=breaking_news@10.0.0.1
-
信頼できるウェブサイトを指しているように見える、誤解を招く URL。しかし、ホスト名は
10.0.0.1
であり、cnn.example.com&story=breaking_news
の部分は「ユーザー」です。