はじめに|「?」と「#」、実はとても大事な記号なんです
- Aさん
- このURL、最後に“?”がついてるけど、何の意味があるの?
- Bさん
- なんとなく…ページを指定してる感じ?でも“#”も見るよね…違いって何?
インターネットを使っていて、URLの中に「?」や「#」が入っているのを見たことがありませんか?
実はこれらの記号、Webページの動作や情報のやり取りに欠かせない“しるし”なのです。
本記事では、「?」と「#」がURLの中でどんな役割を果たしているのかを、やさしく解説します。
URLの基本構造をおさらい
URLとは、「インターネット上の住所」です。
たとえば次のような形をしています。
https://example.com/search?q=cat#section1
このURLの中には、次のような要素が含まれています。
| 部分 | 名前 | 役割 |
|---|---|---|
https:// | スキーム | 通信の方法(http/https)を指定 |
example.com | ドメイン名 | サイトの住所(サーバー名) |
/search | パス | サイト内の特定のページ |
?q=cat | クエリ(パラメータ) | Webページにデータを渡す |
#section1 | ハッシュ(アンカー) | ページ内の特定位置を指定 |
「?」と「#」は、このうち後半部分の“追加情報”を伝えるための記号です。
「?」の意味|サーバーに“情報を渡す”ための記号
1. クエリパラメータとは?
URLの「?」以降はクエリパラメータ(Query Parameter)と呼ばれます。
Webサイトに「どんな条件でページを表示するか」を伝えるための情報です。
例えば、Google検索で「猫」と検索すると、URLは次のようになります。
https://www.google.com/search?q=猫
この?q=猫の部分がクエリパラメータです。
「q(query)」という名前の情報に「猫」という値を渡している、という意味になります。
2. よく使われるクエリパラメータの例
| 例 | 意味 |
|---|---|
?page=2 | 2ページ目を表示する |
?lang=ja | 日本語版ページを表示する |
?category=pc | パソコンカテゴリを指定する |
?utm_source=twitter | SNSなどの流入元を記録する(マーケティング用途) |
つまり「?」は、サーバー側に“条件を伝える”ための窓口なのです。
「#」の意味|ページ内の“場所”を指定する記号
1. ページ内リンクのしくみ
「#」以降の部分はハッシュ(アンカー)と呼ばれます。
ページの特定の見出しや位置に“ジャンプ”するために使われます。
たとえば、以下のようなURLをクリックしたことはありませんか?
https://example.com/help#faq
この場合、「helpページの中のFAQ部分」まで一気にスクロールしてくれます。
Webサイトの「ページ内リンク」や「目次ジャンプ」などで使われる仕組みです。
2. JavaScriptでも活躍!
最近では、ハッシュを使って画面遷移なしで内容を切り替えるサイトも増えています。
(例:シングルページアプリ=SPA)
ページの内容を動的に変更し、URLで現在位置を示す役割もあります。
「?」と「#」の違いをまとめてみよう
| 比較項目 | 「?」 | 「#」 |
|---|---|---|
| 呼び方 | クエリパラメータ | ハッシュ/アンカー |
| 役割 | サーバーに情報を渡す | ページ内の位置を示す |
| 処理される場所 | サーバー側(リクエストに含まれる) | ブラウザ側のみ(サーバーには送信されない) |
| 用途例 | 検索条件・追跡タグなど | ページ内リンク、SPAなど |
| 表示変化 | ページ全体を再読み込みすることもある | 再読み込みせず部分的に移動する |
つまり、「?」は“サーバーとの会話用”、
「#」は“ユーザーの画面内での案内用”と覚えておくとわかりやすいです。
実際の使われ方を見てみよう
1. ショッピングサイトの場合
https://shop.example.com/products?category=bag&page=3
→ 「バッグ」カテゴリーの3ページ目を表示。
検索条件や並び替え条件を伝えるのに「?」が使われています。
2. よくあるヘルプページの場合
https://help.example.com/manual#how-to-reset
→ 「マニュアルページ内の“リセット方法”の見出し」に飛びます。
この動作には「#」が使われています。
3. 両方を使うパターン
https://blog.example.com/article?id=100#comment
→ 「記事ID=100」を表示したあと、「コメント欄」までスクロールします。
このように「?」と「#」は併用されることもあります。
ITの現場ではどう使われている?
1. データ解析や広告の世界では…
utm_sourceやutm_campaignなどのパラメータを付けることで、
「どのSNSや広告から訪問したのか」を計測しています。
マーケティングツールでは欠かせない仕組みです。
2. Webアプリ開発の現場では…
「#」は、画面遷移を伴わない動的なページ切り替えに活用されます。
たとえば「#tab1」「#tab2」で表示を切り替えるなど、
ユーザーの操作をスムーズにする工夫にも使われています。
よくある誤解と注意点
❌ 「?」と「#」を適当に削除してもいい?
→ ダメです!削除すると、表示される内容が変わったり、
アクセス計測が正しく動作しなくなったりします。
❌ 「#」があると安全じゃない?
→ いいえ、「#」そのものは危険ではありません。
ただし、リンクに個人情報が含まれている場合は注意しましょう。
まとめ|「?」と「#」を理解すれば、Webがもっと分かる!
- 「?」=サーバーに条件を伝えるクエリパラメータ
- 「#」=ページ内の場所を示すハッシュ
- 両者は役割がまったく違うが、どちらも“Webを快適に動かす”ために欠かせない記号!
身近なURLの仕組みを少し理解するだけで、
「なんとなく」見ていたリンクが、より意味のあるものに感じられるはずです。
ご相談ください|「URLが正しく表示されない」「リンクがうまく飛ばない」そんな時に
- Webサイトのリンク設定がうまくいかない
- 「?」や「#」の使い方がわからず、ページが意図したとおりに動かない
- Googleアナリティクスや広告タグのURL設定を見直したい
- 社内サイトのリンク構造を整理・最適化したい
- ITまわりのトラブルをまとめて相談したい
当社では、「困った時に駆け込める、情報システムのかかりつけ医。」として、幅広くサポートいたします!
まずはお気軽にご相談ください♪
私たちと一緒に働いてみませんか?
インフラ・ネットワーク・クラウド──
あなたの技術が、お客様の課題解決に直結します。