クエリストリング(クエリ文字列・URLパラメータ)とは何か?

2021年4月7日

クエリストリングとは

クエリストリングは、Webブラウザがサーバにデータを送信する際に必要な表記です。
クエリストリングは「クエリ文字列」「URLパラメータ」とも呼ばれます。

クエリストリングという言葉を聞いたことがなくても、もし表示されているURLの途中に「?」記号があれば、「?」以降の文字列はクエリストリングとなります。
例えば国立国会図書館の蔵書から「プロジェクト」というキーワードを含む本を探すと、検索結果画面のURLは以下のようになっています。

https://ndlonline.ndl.go.jp/#!/search?lang=jp&keyword=project&searchCode=SIMPLE

このURLを見ていくと、searchの後ろに"lang(言語)"、"keyword(キーワード)"などの言葉が含まれており、検索結果に何かしらの影響を与えていることが分かります。

この国立国会図書館のURLからもわかるように、クエリストリングは通常はURLの末尾に書かれ、最初に「?」をつけます。その後は「変数名=値」の形式で内容を記述していき、さらに変数や値が複数存在する場合は「&」を区切りとして使用します。
このクエリストリングを使用することで、Webページの表示内容を変化させたり、正確なアクセス解析を行うことが可能です。

クエリストリングの種類

クエリストリングの種類1:パッシブパラメータ

クエリストリングには大きく分けて2種類あります。そのうちの1つが「パッシブパラメータ」です。
パッシブパラメータは主にweb広告のジャンルで使用されています。

パッシブパラメータはコンテンツの表示内容に影響を与えないクエリストリングです。
ページが変化しないため、「ダミーパラメータ」と呼ばれることもあります。

WebブラウザのURLにパッシブパラメータをつけることで、より詳細なアクセス解析が可能です。
たとえばユーザーがどのメディアから流入してきたか、Webブラウザからの流入でなかった場合、メルマガ・スマホアプリ・QRコードなどどのようなコンテンツから流入してきたかも計測できます。
さらにページ内に複数の広告を設置していた場合、ユーザーがどの位置の広告をクリックしたかも正確に調べられます。

クエリストリングの種類2:アクティブパラメータ

もう1つのクエリストリングが「アクティブパラメータ」です。
これは「パッシブパラメータ」とは対照的に、表示されているコンテンツの内容を変化させることができます。
例えばショッピングサイトなどでは、アクティブパラメータを使用することで価格順・人気順などで商品をソートする時や、種類を絞ったフィルタリングの際に用いられます。

クエリストリングの注意点・情報漏えい

クエリストリングは発行側にとって使用しやすい手法ですが、機密情報の受け渡しには向いていません。
URLはユーザーもアクセスできます。
そのため、悪意あるユーザーが値を書き換えることにより、他ユーザーになりすましたり、ユーザー情報の漏えいが発生したりしてしまうかもしれません。
このように、クエリストリングは外部に露出しやすいため、情報の管理には注意が必要といえるでしょう。

参考