2
3

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 5 years have passed since last update.

Apache+Tomcatでwebpを配信してみる

Last updated at Posted at 2015-01-13

スマホ向けに、画像のクオリティを落とさずファイルサイズを小さくするためpegtranを使ってはみたものの、そこまで劇的に小さくならない。
そこでjavaなwebサービスでwebpを導入するための仕組みを検証したのでメモ(ただサービスには利用していない)

javaで画像をwebpへエンコードするには以下を利用。ImageIOで扱える拡張子に"webp"が増える。
https://bitbucket.org/luciad/webp-imageio
ただ社内標準がjdk1.5なので辛い。ステージングにjdk1.7を入れてtomcatで参照するように変更。

webpへの対応はリクエストヘッダから判別し、対応している場合リライトを行いwebpの配信を行う。
画像のエンコードは、ファイルが存在しない場合のみtomcatで実行し、二度目以降は作成済みのファイルをapacheで配信する。

vertualhost.conf
DocumentRoot /var/www/xxx/htdocs

RewriteEngine On

# webp non support
RewriteCond %{HTTP_ACCEPT} !\bimage/webp\b
RewriteRule (.*) $1 [L]

# webp support
## check webp file exist
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://xxx/servlet/webpImage%{REQUEST_URI}?ts=%{ENV:X_QUERY_TS} [P,QSA]
2
3
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
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?