0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[検索機能]検索機能におけるURLの特徴と活用例

Posted at

はじめに

世の中にはGoogle,Yahoo等検索サービスがたくさんあります。
さらに、検索サービス以外のwebサービスでも、Youtube,Twitter等それぞれの中での検索機能を持っているものがたくさんあります。
それらの多くにはあるURLの特徴があります。

URLの特徴

Googleで"Qiita"を検索する場合、"Qiita"を入力欄に入れたうえで検索処理を実行します。
image.png
その結果は以下のように検索結果ページに遷移し表示されます。
image.png
そのページのURLは下記のとおり

https://www.google.co.jp/search?q=qiita&sxsrf=… ※以下省略

URLの中に検索ワード"Qiita"が入っています。ここで入っている"qiita"の役割はもちろん検索ワードであり、
これを"Java"に変えてみると…"Java"の検索結果が表示されます。
image.png
これはyahoo,youtube,twitter等でも同じです。

Google
https://www.google.com/search?q=[検索文]
Yahoo
https://search.yahoo.co.jp/search?p=[検索文]
bing
https://www.bing.com/search?q=[検索文]
wikipedia
https://ja.wikipedia.org/w/index.php?search=[検索文]

Youtube
https://www.youtube.com/results?search_query=[検索文]
niconico
https://www.nicovideo.jp/search/[検索文]

twitter
https://twitter.com/search?q=[検索文]
facebook
https://www.facebook.com/search/top?q=[検索文]

この特徴は何者か

各検索機能のURLにある"q=[検索文]"のような部分はクエリストリング(クエリ文字列、URLパラメータ、リクエストパラメータ)です。クエリストリングによって表示する検索ワードを検索機能に渡しています。
HTTPの2メソッド、GET/POSTのうち、クエリストリングはGETメソッドのみ入ります。

各検索機能でGETメソッドを使っている理由は、サイトの閲覧履歴に検索結果を残すためです。
こちらも参照:HTTPとは?GETとPOST?
検索結果のページは履歴から再閲覧・ブラウザバックで再表示できると便利ですよね。

この特徴の活用例

この特徴は、検索ポータル(ポータルサイト)を作るときに活用できます。
検索ポータルは、インターネットに検索でアクセスするときの入り口となるWebサイトで、
URLの特徴を生かすことで、複数のサイトでの検索を1つのフォームで切り替え実行できます。
仕組みはクエリストリングの前につけるURLを検索サイトにより切り替えるだけ。
当該コード
###実装例
image.png
※検索サイトは、javascriptを改変することで自分好みに追加・改変可能です。

まとめ

各検索機能のURLにはクエリストリングがつき、ここに検索ワードが入ります。
これによってサイトの閲覧履歴に検索結果を残すことが可能になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?