← PC・IT用語集へ戻る

URL

Uniform Resource Locator
network web beginner
Webページやファイルなど、インターネット上のリソースの場所を示す住所のような文字列。
URL (Uniform Resource Locator)

概要(サマリー)

URL(Uniform Resource Locator)とは、Webページや画像、PDFなどの場所を示す、インターネット上の住所のような文字列である。

たとえば https://noveblo.com/glossary/url.html のような文字列がURLである。ブラウザのアドレスバーに入力すると、その場所にあるページへアクセスできる。

URLは単なる名前ではなく、「どの通信方法で」「どのサーバーへ」「どのファイルや機能を取りに行くか」をまとめて表す。Web制作、SEO、API連携、AIコーディングのどれでも頻繁に出てくる基本用語である。

詳細解説

URLとは何か

URLは、インターネット上のリソースの場所を表すための文字列である。リソースとは、Webページ、画像、動画、PDF、APIのエンドポイントなど、ネットワーク越しに取得できる情報のことである。

現実世界で「東京都〇〇区の建物」と住所を書くように、WebではURLを使って「どのサーバーのどの場所にある情報か」を指定する。Webサイトのリンク、画像の読み込み、フォーム送信、API通信などは、ほとんどの場合URLを使って目的地を指定している。

初心者がまず覚えるべきなのは、URLは「ドメインだけ」ではないという点である。example.com はURLの一部であり、https://example.com/products/?page=2 のように通信方式やパス、クエリまで含めた全体がURLである。

URLを構成する主なパーツ

URLは、いくつかの部品に分けて理解すると読みやすい。

https://example.com:443/articles/url.html?ref=search#summary
  • スキーム: https:// の部分。通信方法を示す。WebではHTTP / HTTPSがよく使われる
  • ホスト名: example.com の部分。アクセス先のサーバー名を示す
  • ポート番号: :443 の部分。接続先の窓口番号を示す。通常のHTTPSでは省略されることが多い
  • パス: /articles/url.html の部分。サーバー内のページや機能の位置を示す
  • クエリ: ?ref=search の部分。検索条件や絞り込み条件など、追加の情報を渡す
  • フラグメント: #summary の部分。ページ内の特定位置へ移動するために使う

URLのどこがスキームで、どこがドメインやパス、クエリなのかを実際に分けて確認したい場合は、以下のツールを使うと全体像をつかみやすい。

ホスト名は、内部的にはDNSによってIPアドレスへ変換される。つまり、人間が覚えやすい名前をDNSが機械向けの住所へ変換し、その先のサーバーへ接続している。

絶対URLと相対URL

Web制作では、リンク先や画像の場所を「絶対URL」または「相対URL」で指定する。

絶対URLは、スキームやドメインを含む完全なURLである。

https://example.com/assets/logo.png

外部サイトへのリンク、SNSで共有するURL、メールに貼るURL、canonicalなどには絶対URLが向いている。どのページから見ても同じ場所を指せるためである。

相対URLは、今いるページを基準にして場所を指定する書き方である。

../assets/logo.png

同じサイト内の画像やページを参照するときに便利である。開発環境から本番環境へ移すとき、ドメインを書き換えずに済むこともある。ただし、現在地のディレクトリが変わると参照先も変わるため、階層構造を理解して使う必要がある。

URLとURIの違い

URLと似た言葉にURI(Uniform Resource Identifier)がある。厳密には、URIはリソースを識別するための広い概念であり、URLはその中でも「場所」を示すものとして説明されることが多い。

ただし、現在のWeb標準やブラウザ実装では、実務上「URL」という言葉を中心に扱う場面が多い。WHATWGのURL標準でも、現代の実装に合わせてURLという用語を標準化する方向で整理されている。

初心者は、まず「Webページの住所として普段使うのはURL」と覚えれば十分である。仕様書や古い資料を読むとURIという言葉が出てくるため、そのときに「URLより広い識別子の考え方」と理解すると混乱しにくい。

クエリパラメータの役割

URLの ? 以降に付く情報をクエリパラメータ、またはクエリ文字列と呼ぶ。

https://example.com/search?q=url&page=2

この例では、q=urlpage=2 がクエリパラメータである。検索キーワード、ページ番号、並び順、フィルター条件などをサーバーやWebアプリへ渡すために使われる。

クエリパラメータは便利だが、ユーザーに見える場所でもある。個人情報、パスワード、APIキーのような秘密情報をURLに含めるのは避けるべきである。ブラウザ履歴、アクセスログ、共有リンクなどに残る可能性があるためである。

URLで注意すべきセキュリティ

URLはWebの基本だが、扱いを間違えるとセキュリティ問題につながる。

  • オープンリダイレクト: 外部から渡されたURLへそのまま転送し、フィッシングに悪用される
  • XSS: URL中の値をHTMLへそのまま出力し、スクリプトを実行される
  • 秘密情報の露出: トークンやパスワードをクエリに入れて、ログや履歴に残してしまう
  • パーセントエンコードの誤解: 日本語や記号をURL用に変換せず、壊れたURLや意図しない解釈になる

URLをプログラムで扱うときは、文字列結合だけで組み立てるより、言語やブラウザが提供するURL用のAPIを使う方が安全である。

AIコーディングとの関係

AIコーディングでは、URLの組み立て、分解、クエリパラメータの取得、APIエンドポイントの設計がよく出てくる。AIに依頼するときは、「URLを文字列結合で作る」のではなく、「URL APIやURLSearchParamsを使って安全に作る」と指定するとよい。

たとえば、JavaScriptでは次のようにURLを扱える。

const url = new URL("https://example.com/search");
url.searchParams.set("q", "AI coding");
url.searchParams.set("page", "2");

console.log(url.toString());

URLURLSearchParams を使うと、クエリの追加や変更を読みやすく書ける。記号や空白を含む値も、URLとして扱いやすい形へ変換される。

AIへ依頼するときは、次のように条件を具体化するとよい。

JavaScriptでURLSearchParamsを使い、検索キーワードとページ番号をURLに追加する例を書いてください。
ユーザー入力をそのままHTMLに出さない注意点も説明してください。

URLは小さな文字列に見えるが、Webアプリの入口でもある。AIが生成したコードでも、外部URLへの転送、クエリの利用、認証情報の扱いは必ず確認する必要がある。

よくある勘違い

URLとドメインは同じもの?

同じではない。ドメインは example.com のようなホスト名の部分である。URLは、https://、ドメイン、パス、クエリ、フラグメントなどを含む全体の文字列である。

URLは大文字と小文字を区別しない?

すべてが同じ扱いになるわけではない。ドメイン部分は通常、大文字小文字を区別しない。一方、パス部分はサーバーや設定によって区別されることがある。運用では小文字に統一するとトラブルを減らしやすい。

URLは長くても問題ない?

無制限ではない。ブラウザ、サーバー、プロキシ、アプリの実装によって扱える長さには上限がある。長すぎる情報をURLへ詰め込むより、必要に応じてPOSTリクエストやサーバー側の保存を検討する。

URLにパスワードやトークンを入れてよい?

入れるべきではない。URLは履歴、ログ、解析ツール、共有リンクなどに残りやすい。秘密情報はURLではなく、適切な認証ヘッダーや安全な保存方法で扱う必要がある。

まとめ

  • URLは、Webページやファイルなどの場所を示す住所のような文字列である
  • スキーム、ホスト名、ポート、パス、クエリ、フラグメントなどの部品で構成される
  • 絶対URLと相対URLは、用途に応じて使い分ける
  • URIはURLより広い概念として説明されることがあるが、現代のWeb実務ではURLという言葉が中心である
  • URLをプログラムで扱うときは、秘密情報の露出やリダイレクト、XSSに注意する

情報ソース

より詳しくAIに聞いてみよう

  • URLを構成するスキーム、ドメイン、パス、クエリ、フラグメントの役割を初心者向けに説明してください。
  • 絶対URLと相対URLの違いを、Webサイト制作の具体例で教えてください。
  • URLとURIの違いを、厳密な説明と実務での使い分けに分けて整理してください。
  • JavaScriptのURL APIとURLSearchParamsの使い方を、短いコード例つきで説明してください。
  • URLにユーザー入力を含めるときのセキュリティ上の注意点を教えてください。