Version2.10.0

Version2.10.0(20120528)

リリース日: 2012年5月28日

Version2.9.2(20111026)からの変更点です。

機能追加/変更

  • 外部CSS変換に対応 [詳細]
  • i-modeブラウザ2.0用のタグ、プロパティに対応 [詳細]
  • 画像変換時のレイアウト最適化機能を追加 [詳細]
  • JavaScriptスルー出力機能を追加 [詳細]
  • スマートフォン端末向けの絵文字変換に対応 [詳細]
  • 画像変換時の画質調整機能を追加 [詳細]
  • Cookie代行機能に対応端末にはスルー出力する設定を追加 [詳細]
  • WindowsPhone、BlackBerryに対応 [詳細]
  • secure属性が指定されたCookieを代行するための条件を変更 [詳細]
  • Cookie代行機能がOFFの場合にはCookieをキャッシュしないように変更 [詳細]
  • Android端末向けに出力される言語をCHTMLに統一 [詳細]
  • MaxClientLimitを超えるリクエストがあったとき、エラーで返すように変更 [詳細]
  • XHTMLへの変換時に元コンテンツの content-type を参照しないように変更 [詳細]
  • au端末向けに<hr>タグの"float"を"align"に変換するように変更 [詳細]
  • スマートフォン向け変換としてIXHTMLコンテンツのCDATAセクションに対応 [詳細]
  • <center>、<font>、<plaintext>のML変換仕様を変更 [詳細]
  • スマートフォンを名乗るクローラーに対応 [詳細]
  • 動作環境として対応JDK系のバージョンを1.6系のみに変更 [詳細]

機能修正

  • 相対パスと絶対パスで記述された同じ画像が別々のキャッシュと扱われる問題を修正 [詳細]
  • <object>タグのレスポンス時にCookieが出力される問題を修正 [詳細]
  • <style>タグの変換時にタグ内の子要素が残る問題を修正 [詳細]
  • <button>、<col>、<basefont>タグの閉じタグの扱いが間違っていた問題を修正 [詳細]
  • <button>タグの変換で NullPointerException が発生する不具合を修正 [詳細]
  • Cookie代行機能がOFFの場合に先読み処理のリクエストにCookieが渡されなかった問題を修正 [詳細]
  • <ol>タグの子として<li>が定義されている場合にCSS変換がされなかった問題を修正 [詳細]
  • IXHTMLへ変換した時、access.logに記述される画像読み込みのML名が"CHTML"になってしまう問題を修正 [詳細]
  • au端末向けに<hr>タグを変換した時、"border-color"がcssのまま出力されていた問題を修正 [詳細]
  • スルーモード時にCookie代行を行うと出力されるCookieが適切に変換されなかった問題を修正 [詳細]
  • 期限付きCookieの解析に失敗してInternalServerErrorが発生する問題を修正 [詳細]

追加/変更設定一覧

Version2.9.2(20111026)からの追加/変更された設定項目の一覧です。

【xproxy.properties】
  • CssCacheController.cacheContainer を追加 [詳細]
  • CssCacheController.refreshInterval を追加 [詳細]
  • cacheMaxCountCss を追加 [詳細]
  • ScriptCacheController.cacheContainer を追加 [詳細]
  • ScriptCacheController.refreshInterval を追加 [詳細]
  • cacheMaxCountScript を追加 [詳細]
  • forceImagePictogram を追加 [詳細]
  • sendCookieOnPreRequest の初期値を変更 [詳細]

【conf/contentsRule.xml】
【conf/contentsRuleDefault.xml】
  • separationWithCssSize を追加 [詳細]
  • separationWithScriptSize を追加 [詳細]
  • baseLayoutWidth を追加 [詳細]
  • layoutImageMinWidthOutput を追加 [詳細]
  • layoutImageMinWidthInput を追加 [詳細]
  • insertHeader_WindowsPhone を追加 [詳細]
  • insertHeader_BlackBerry を追加 [詳細]
  • cookieControl の初期値を変更 [詳細]
  • imageConvertType の初期値を"ImageConvert"に変更 [詳細]
  • imageConvertConcreteParameters のパラメータを追加/変更

【conf/useragent.xml】
  • ExpandVersion を追加 [詳細]
  • Cookie を追加 [詳細]
  • iモードブラウザ2.0端末には対応画像フォーマットとして"PNG"を追加
  • SoftBank端末には対応画像フォーマットとして"GIF"を追加
  • PDA、L-modeなどのサポート対象外機種を削除

【conf/staticUA.xml】
  • ExpandVersion を追加 [詳細]
  • Cookie を追加 [詳細]
  • iPhoneデフォルト端末設定の<ServiceName>を"PC"から"PC_J-SKY"に変更
  • Androidデフォルト端末を<HT03-A相当>から"Xperia[Android_2.1]相当"に変更
  • SoftBankデフォルト端末に対応画像フォーマットとして"GIF"を追加
  • WindowsPhoneデフォルト端末(IS12T相当)を追加
  • BlackBerryデフォルト端末(BlackBerry Bold 9780相当)を追加
  • PCブラウザデフォルト端末を追加

【conf/UAGroupSetting.xml】
  • ExternalCssグループ追加
  • UsableExternalCssグループ追加
  • WindowsPhoneグループ追加
  • BlackBerryグループ追加
  • COOKIEグループ追加
  • JPHONE_Packetグループ削除
  • JPHONE_P41グループ削除
  • PCグループの判定を変更
  • SPグループの判定を変更

【conf/mimetypes.properties】
  • MIME Type に "text/css=css" を追加

【xproxy_image_224.jar】
  • 画像変換モジュールを xproxy_image_223.jar から xproxy_image_224.jar に変更

【start.sh/start.bat】
  • 画像変換モジュールを xproxy_image_224.jar に変更
  • console.logのリダイレクト記述を変数化しました

【xservlet.license】
  • <version>の設定値を "2.99" に変更 [詳細]

詳細説明

外部CSS変換に対応
対象:Version2.10.0 以降

変換元の入力ソースとしてiモード対応HTMLおよびiモード対応XHTML以外に外部CSS変換に対応しました。

関連:外部CSS対応

i-modeブラウザ2.0用のタグ、プロパティに対応
対象:Version2.10.0 以降

iモード対応HTMLおよびiモード対応XHTMLで拡張されたi-modeブラウザ2.0用のタグ、プロパティに対応しました。

関連:i-modeブラウザ2.0用のタグ、プロパティ対応

画像変換時のレイアウト最適化機能を追加
対象:Version2.0.0 以降

画像の縮小動作としてコンテンツが想定している解像度を規準として全ての画像を同じ割合で縮小する動作が追加されました。

関連:画像変換

JavaScriptスルー出力機能を追加
対象:Version2.0.0 以降

スマートフォンに対しては<Script>タグ、<noscript>タグは削除されずそのままスルー出力されるようになりました。

関連:JavaScriptスルー出力機能

スマートフォン端末向けの絵文字変換に対応
対象:Version2.9.0 以降

文字コードによる絵文字表示ができないスマートフォン端末向けに絵文字をアイコン画像に置き換える変換動作を追加しました。

関連:pictgram.xmlxp_sprite.cssxp_sprite.gif

画像変換時の画質調整機能を追加
対象:Version2.0.0 以降

画像変換時の縮小、減色アルゴリズムが追加され、選択できるようになりました。

関連:画像変換imageConvertConcreteParameters機能別性能

Cookie代行機能に対応端末にはスルー出力する設定を追加
対象:Version2.1.1 以降

従来はCookie代行機能のON/OFF設定は全ての端末に対して作用していましたが、
これに加えcookieに対応している端末にはdomain、pathのリンク変換を行って出力し、対応していない端末にはCookie代行を行う動作設定を追加しました。

関連:Cookie代行

WindowsPhone、BlackBerryに対応
対象:Version2.10.0 以降

"スマートフォン変換"としてWindowsPhone、BlackBerryに対応しました。

関連:スマートフォン対応

secure属性が指定されたCookieを代行するための条件を変更
対象:Version2.1.1 以降

secure属性付きのCookieを代行処理するには contentsRule.xml の<scheme>部がHTTPSである必要がありましたが、
これとは別にfakeScheme部も確認し、どちらかにHTTPSの設定がされていればCookieを送信するように変更されました。

これにより、secure属性付きのCookieでも設定を変える必要がなく、そのまま扱えるようになります。

関連:SSL通信を行ないたい

Cookie代行機能がOFFの場合にはCookieをキャッシュしないように変更
対象:Version2.1.1 以降

Cookie代行機能を使用せず、スルー出力されている場合でもWebサーバから発行されたCookieをx-Servlet内部でキャッシュしていましたが 使用されないキャッシュデータなためキャッシュされないように変更されました。

Android端末向けに出力される言語をCHTMLに統一
対象:Version2.9.0 以降

Android端末へ変換する際に出力される言語はキャリアごとのMLで出力されていましたが、これをCHTMLに統一するよう変更されました。

関連:ML変換ルールについて

MaxClientLimitを超えるリクエストがあったとき、エラーで返すように変更
対象:Version2.6.1 以降

Keep-Alive が ON(xproxyAcceptType=2)の時に設定以上のリクエストがあると、ログにエラーメッセージを出力して変換処理は続行される動作を Keep-Alive が OFF(xproxyAcceptType=1)の時と同じくエラーメッセージを端末に返して切断するように処理を変更しました。

関連:受け付け可能な同時リクエスト数を変更するには

XHTMLへの変換時に元コンテンツの content-type を参照しないように変更
対象:Version2.8.0 以降

docomo FOMA 向けにML変換を行う際、IXHTMLで出力する条件としてx-Servletの設定と変換元コンテンツのcontent-type: ヘッダの内容を参照していましたが、これをx-Servletの設定のみ参照するように変更しました。

iモードブラウザ1.0端末の場合は注意が必要です。詳しくは下記リンクをご参照ください。

関連:XHTML変換

au端末向けに<hr>タグの"float"を"align"に変換するように変更
対象:Version2.8.0 以降

従来では<hr>タグに"float"を指定した場合は削除していましたが、これを"align"に変換して出力するように変更しました。

変換前

<hr style="float: right; width: 60%;">

変換後

<hr align="right" style="width:60%;"/>

関連:<hr>タグ

スマートフォン向け変換としてIXHTMLコンテンツのCDATAセクションに対応
対象:Version2.8.3 以降

CSSの擬似リンクで指定されたCDATAセクションはスマートフォンの場合削除されて出力されるようになりました。

変換前

<style type="text/css">
 <![CDATA[
  a:link{color: #FF0000;}
 ]]>
</style>

変換後

<style type="text/css">
  a:link{color: #FF0000;}
</style>

関連:CSS変換表

相対パスと絶対パスで記述された同じ画像が別々のキャッシュと扱われる問題を修正
対象:Version2.8.2 以降

同じ画像を相対パスと絶対パスで書き分けていた場合に、それぞれの画像が別の画像として先読みリクエストが発生し、二重にキャッシュされていた問題を修正しました。

<object>タグのレスポンス時にCookieが出力される問題を修正
対象:Version2.8.0 以降

<object>タグで指定されたファイルをWebサーバから読み込んだ時にcookieが付加されているとcookieControl設定が効かず、端末までcookieが出力されてしまう問題を修正しました。

関連:cookieControl

<style>タグの変換時にタグ内の子要素が残る問題を修正
対象:Version2.8.0 以降

au、SoftBank向けに変換した場合、<head>~</head>内に記述された<style>タグが正しく閉じられておらず、スタイルシートの内容が表示されてしまっていた問題を修正しました。

<button>、<col>、<basefont>タグの閉じタグの扱いが間違っていた問題を修正
対象:Version2.7.0 以降

それぞれのタグについて閉じタグの扱いが間違っていたので修正しました。

  • <button>タグ
    EMOBILE端末向けに変換した場合、閉じタグが無かった問題を修正しました。
  • <col>タグ
    EMOBILE端末向けに変換した場合、閉じタグが出力されていた問題を修正しました。
  • <basefont>タグ
    EMOBILE端末向けに変換した場合、閉じタグが出力されていた問題を修正しました。

関連:<button>タグ<col>タグ<basefont>タグ

<button>タグの変換で NullPointerException が発生する不具合を修正
対象:Version2.0.0 以降

type属性の無い<button>タグが記述されていた場合、InternalServerError となる問題を修正しました。

Cookie代行機能がOFFの場合に先読み処理のリクエストにCookieが渡されなかった問題を修正
対象:Version2.0.0 以降

Cookie代行機能がOFFの場合、Webサーバがhtmlファイルをレスポンス時にCookieを発行してもx-Servletからの先読みリクエストでCookieが付加されなかった問題を修正しました。

関連:Cookie代行

<ol>タグの子として<li>が定義されている場合にCSS変換がされなかった問題を修正
対象:Version2.8.0 以降

<ol>タグの子として記述された<li>タグに対し、style属性で指定されたCSSが変換されずに削除されてしまう問題を修正しました。

関連:<li>タグ<ol>タグ

IXHTMLへ変換した時、access.logに記述される画像読み込みのML名が"CHTML"になってしまう問題を修正
対象:Version2.8.0 以降

iモード対応XHTMLコンテンツをdocomo端末向けに変換した時、access.logにhtmlファイルのログは [IXHTML 2.3] と表記されるがページに含まれる画像リクエストのログは [CHTML 7.2] と記録されてしまう問題を修正しました。

関連:access.log

au端末向けに<hr>タグを変換した時、"border-color"がcssのまま出力されていた問題を修正
対象:Version2.8.0 以降

<hr>タグに"border-color"が指定されている場合、au端末向けの変換でstyle属性のまま出力されていたのをcolor属性になるように修正しました。

変換前

<hr style="border-color: red;">

変換後

Version2.9.2まで Version2.10.0以降
<hr style="border-color: red;"/> <hr color="red"/>

関連:<hr>タグ

スルーモード時にCookie代行を行うと出力されるCookieが適切に変換されなかった問題を修正
対象:Version2.7.0 以降

スルーモードでcookieControlが true の時、端末に対して出力されるCookieで以下の問題が発生していました。

  • Cookie 名が同じ場合、Set-Cookie:ヘッダが重複して出力されてしまう。
  • 付加されたCookieのdomainが削除されて出力されてしまう。
  • 付加されたCookieのpathにサーバIDが付与されてしまう。

変換前

Set-Cookie: Name=hogehoge; Domain=192.168.0.1; Path=/test/

変換後

Set-Cookie: Name=hogehoge; Domain=192.168.0.1; Path=/test/
Set-Cookie: Name=hogehoge; Path=/(_A_)/test/

これらの問題に対し以下の修正を行いました。

  • Cookie 名が同じ場合、2つの Cookie が端末へ送られないようにする。
  • domainは削除せず、リンク変換と同様に変換する。
  • pathはリンク変換と同様に変換する。ただし"/"の場合はそのままとする。

関連:Cookie代行

期限付きCookieの解析に失敗して InternalServerError が発生する問題を修正
対象:Version2.8.0 以降

有効期限(expires 属性)が設定されているCookieを複数同時に扱っている場合に稀に InternalServerError となる問題を修正しました。

<center>、<font>、<plaintext>のML変換仕様を変更
対象:Version2.7.0 以降

<center>、<font>、<plaintext>のML変換仕様の変更しました。

関連:<center><font><plaintext>

スマートフォンを名乗るクローラーに対応
対象:Version2.4.2 以降

スマートフォンを名乗ったクローラーに対して従来では「PCのクローラー」と判断されていましたが、名乗ったスマートフォンがx-Servletの対象機種であればその機種情報を用いてクローラー向け変換を行うようになりました。

関連:クローラーの判別

動作環境として対応JDK系のバージョンを1.6系のみに変更
対象:Version2.10.0 以降

x-Servlet Version2.9.x 以下では JDK1.5系での動作もサポートされていましたが、Version2.10 以降では JDK1.6系のみになりました。
JDK1.5系の環境で動作させようとすると以下のエラーが出力され、起動しません。

java.lang.UnsupportedClassVersionError: Bad version number in .class file
TOP