2021/2/18 「HTML&CSS辞典」をオープンしました! 是非、ご覧になってください!

[Web用語] クエリ文字列とは? 分かりやすく解説します!

クエリ文字列

クエリ文字列はURIの構文の一つとなっています。

URIの最後にパラメーター名と値を記述することでクライアントからサーバーに情報を送信することができます。

クエリ文字列はクエリストリングとも呼ばれています。

解説

Googleの検索エンジンで「クエリ文字列」という文字列を検索した場合のURIを見てみましょう。

※以下のURIは一部省略されています。

上記のURIの「?q=クエリ文字列」という部分がクエリ文字列となります。

クエリ文字列はURIのパスの後ろに付けられた「?」から始まります。

このようにGoogleの検索エンジンでは検索フォームに入力した「クエリ文字列」という文字列をサーバーに送信しています。

次にGoogle検索エンジンで「クエリ文字列」という文字列で検索し、次のページを開いた時のURIを見ていきましょう。

※以下のURIは一部省略されています。

「?q=クエリ文字列」の後ろに「&start=10」という文字列が追加されています。

クエリ文字列では、「&」で繋げることで複数のパラメーターを設定することができます。

ここではGoogleの検索エンジンは「クエリ文字列」というクエリ文字列で次の10件目の検索結果を表示すると解釈して結果を返しています。

皆様はふとURIを見た時、「%E3%95%A8%E5%…」などと長々とパーセントと記号が表示されたという経験はないでしょうか。

URIは世界中で使用される仕様となっているので、どの言語でも使える文字しか利用できないという決まりがあります。

そのため平仮名、片仮名、漢字などは海外環境では使えない可能性がある文字列はURIに含んではいけない決まりになっています。

そこで使用されているのがパーセントエンコーディングと呼ばれるものです。

パーセントエンコーディングはURIで使用できない文字列を%と16進数(0~9とA~Fの計16個の記号を使って数値を表す方法)に変換する手法となっています。

この変換された文字列はサーバー側でもとに戻され、もとの日本語文字列として使用されます。

クエリ文字列はhttps化しても、暗号化されることはありません。

そのため、ユーザーのパスワードや個人情報など盗まれてはいけない情報をクエリ文字列で送信するのはとても危険です。

クエリ文字列を利用する際は検索エンジンなど実害がでない場合のみ、使用するようにしましょう。

また、サーバー、ブラウザによってクエリ文字列を利用できる文字数も決まっているので、注意する必要があります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です