SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

「#!」 shebang – シャープとびっくりマークってどういう意味?

問題

twitterやGoogleでよく見かける こういうURLって何?

http://~~~~/~~/#!~~~

みんなそろって「#!」してるみたいだけど、何か意味があるの?

答え

#! その名は shebang(シェバン、シバン)

シェルスクリプトの先頭に現れるのも「#!(シェバン)」で、名前は同じだが、URLとシェルスクリプトに特に関連はないので、この話のときはシェルスクリプトのことは忘れてよい。

URLのハッシュ(#)以降はサーバーに送られるのではなく、ページ内リンクでも使うように、ブラウザ側で管理している部分。

その#以降を、Ajaxなアプリケーションで、ブラウザ側の状態を管理するためなどに活用するというテクニック自体はだいぶ前からあったそうだ。

そんな#以降を活用したAjaxなWebサイトを、Googleボットがクロールできるように、Googleが提案した仕様が「#!」。

ハッシュを「#」ではなく「#!」としておくことで、Googleボットがクロールする。

Googleの仕様に合わせて、みんなそろって#!している。

ただ、この仕様は、Google推奨というわけではなく、仕方なく作られた#つきURL対策のようなもので、良い、悪いの、議論も多いようだ。

参考

Google
http://code.google.com/intl/ja/web/ajaxcrawling/docs/specification.html
http://googlewebmastercentral.blogspot.com/2009/10/proposal-for-making-ajax-crawlable.html
http://googlewebmastercentral.blogspot.com/2007/11/spiders-view-of-web-20.html

経緯+批判日本語版
http://d.hatena.ne.jp/karasuyamatengu/20110212/1297465199
http://d.hatena.ne.jp/karasuyamatengu/20110217/1297960228

関連するメモ

コメント