是非に及ばず

プログラミングに関する話題などを書いていきます(主にRailsやAndroidアプリ開発について)

「通信の最適化」の回避策について考える

各キャリアが行っている「通信の最適化」が問題になっているが、これをアプリやAPIなどで回避する方法をまとめる。
以下のいずれかで回避できるはず。

(1) HTTPS(SSL)を利用する
(2) 暗号化した上でデータを送受信する

HTTPS(SSL)を利用する

docomoauのページでは、SSLでは最適化は行わないと書いてあるので、これがもっとも簡単で確実な方法だろう。

暗号化した上でデータを送受信する

何らかの事情でSSLが使えないという事もあるかもしれないので、自前で暗号化する方法を提案する。
「通信の最適化」は、特定のContent-Typeのデータに適用されると推測できるので、暗号化してしまえばキャリア側の処理対象から外れるはずである。
AESなどで暗号化するライブラリはgithubですぐに見つけることが出来るし、ちょっと検索すればブログなどの記事でも見つけられる。
サーバサイドとクライアントの開発言語が異なる場合は、相互に暗号化、復号化できる実装を確認する必要がある。