rubyの軽量フレームワークsinatraとBackbonejsでpjaxをやってみたので備忘録。 HTML5からはhistoryオブジェクトにpushStateやreplaceStateメソッドが追加され、履歴のスタックを操作できるようになりました。pjaxは、そのpushStateとAjaxを利用したブラウザの戻る・進む機能が使える技術。 通常のリクエストと異なり、必要な箇所だけをAjaxで取得するためデータの転送量を削減できる。 具体例でいうと、あのGitHubで使われてるやつ。 以下は個人的なメモ。 ヘッダー情報にHTTP_X_PJAXが付与されている場合はpjaxの処理をさせる [sourcecode language="ruby"] class Sinatra::Request def pjax? env['HTTP_X_PJAX'] || self['_pjax'] end