Version2.8.0

Version2.8.0(20090618)

リリース日: 2009年6月18日

Version2.8.0(20090617)からの変更点です。

機能追加/変更

  • なし

機能修正

  • インストールしたサーバのデフォルトエンコードが Shift_JIS 以外の場合、docomo , WILLCOM 端末で基本絵文字が「?」で表示されてしまう不具合を修正 [詳細]

追加/変更設定一覧

  • なし

Version2.8.0(20090617)

リリース日: 2009年6月17日

Version2.8.0(20090520)からの変更点です。

機能追加/変更

  • 絵文字変換で docomo 端末に対して基本絵文字の出力を Shift_JIS テキスト形式から Shift_JIS バイナリ形式に変更 [詳細]
  • hiddenValueDecode を使用した場合のデコード対応文字に "&" を追加

機能修正

  • docomo 端末を装ったクローラーが標準と異なる User-Agent を使用していた時に Exception が発生する現象を修正 [詳細]

追加/変更設定一覧

  • なし

Version2.8.0(20090520)

リリース日: 2009年5月20日

Version2.8.0(20090310)からの変更点です。

機能追加/変更

  • 変換前のコンテンツが iモードXHTML または iモードHTML のどちらで記述されているか Content-Type で判別するように変更 [詳細]
  • 画像への直接リクエストの際に、以前のバージョンと同じ動作を行う設定を ContentsRule.xml に追加 [詳細]

機能修正

  • 「CA001」、「T001」からアクセスがあった場合、一部の絵文字が文字列に変換されてしまう不具合を修正 [詳細]
  • クローラーにレスポンス送信後 Exception が発生する現象を修正 [詳細]

追加/変更設定一覧

  • なし

Version2.8.0(20090310)

リリース日: 2009年3月10日

Version2.7.2(20081110)からの変更点です。

機能追加/変更

  • iモード対応XHTML で記述されたコンテンツの変換に対応 [詳細]
  • UTF-8 で記述されたコンテンツの変換に対応 [詳細]
  • SEO 向けページ出力を行うオプションを追加 [詳細]
  • セッションID 文字列を更に強化したオプションを追加 [詳細]
  • 違う端末から同じ セッションID で参照できないようするオプションを追加 [詳細]
  • 強制的にページ分割を行わないオプションを追加 [詳細]
  • リクエストされた Referer: ヘッダを削除せず出力するよう変更 [詳細]
  • au 端末に対して istyle 属性は変換せずにそのままスルー出力するように変更 [詳細]
  • セッションID が付いていない画像への直接リンクはページではなく画像をそのまま返すように変更 [詳細]
  • useragent.xml にクローラー情報を追加 [詳細]
  • hidden 属性 が指定された値を他の文字にデコードするオプションを追加 [詳細]

機能修正

  • コンテンツ中にエスケープされた制御文字が含まれていた場合、正しく変換できなかった問題を修正 [詳細]
  • サーバID を使用している環境で相対パス表記のリンクを変換した場合の問題が再発したため修正 [詳細]
  • contentsRule.xml の <ConditionDir> に "/" が設定された際に画像先読みが失敗する不具合を修正 [詳細]
  • EMOBILE 端末に copyright 属性が効かない不具合を修正 [詳細]
  • <INPUT> タグの hidden 属性の value 値に文字参照などが含まれている場合正しく送られなかった問題を修正 [詳細]

追加/変更設定一覧

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

【xproxy.properties】

インストールしたサーバのデフォルトエンコードが Shift_JIS 以外の場合、docomo , WILLCOM 端末で基本絵文字が「?」で表示されてしまう不具合を修正

従来のバージョンではエンコードを行うときに、サーバのデフォルトの文字コードに依存する部分がありました。
本バージョンでは、エンコードを MS932 に固定したことで、サーバに依存せずにエンコードすることができ、文字化けは発生しなくなりました。

絵文字変換で docomo 端末に対して基本絵文字の出力を Shift_JIS テキスト形式から Shift_JIS バイナリ形式に変更

iモードブラウザ2.0 搭載機種において、従来の x-Servlet では 「基本絵文字が表示されない」 という現象を確認しました。
本バージョンではこの現象について対応を行いました。

docomo 端末を装ったクローラーが標準と異なる User-Agent を使用していた時に Exception が発生する現象を修正

まれに標準とは異なる User-Agent を使用したクローラーがあるようです。
そういったクローラーからのアクセスを受けると、 Exception が発生する現象を確認したので修正しました。

変換前のコンテンツが iモードXHTML または iモードHTML のどちらで記述されているか Content-Type で判別するように変更

xproxy.properties にレスポンスの Content-Type ヘッダを参照して、iモード対応XHTML からの変換を行うかを切り替える機能 supportsXhtmlInput を追加しました。
これにより iモード対応XHTML で記述されたコンテンツの自動変換に対応することが可能になりました。

画像への直接リクエストの際に、以前のバージョンと同じ動作を行う設定を ContentsRule.xml に追加

contentsRule.xml に x-Servlet がセッションを管理していない画像に対してリクエストが送信された場合の動作を指定できる <directImageConvert> を追加しました。

「CA001」、「T001」 からアクセスがあった場合、一部の絵文字が文字列に変換されてしまう不具合を修正

au 端末の2機種 「CA001」、「T001」 において、絵文字の表示に不具合が生じることを確認しております。
この現象について対応を行いました。

クローラーにレスポンス送信後 Exception が発生する現象を修正

クローラーからのリクエストに対し、セッション情報を使用しないレスポンスを返す場合に Exception が発生する現象を確認しました。
本バージョンではこの現象について対応を行いました。

iモード対応XHTML で記述されたコンテンツの変換に対応

iモード対応HTML (CHTM Ver.7.0以下) もしくは、iモード対応XHTML (Ver.2.0以下)で書かれたソースを入力とすることが可能になりました。

関連:XHTML変換

UTF-8 で記述されたコンテンツの変換に対応

一般の Web サイトのように UTF-8 で記述された携帯サイトの変換に対応しました。
その際、開発言語の仕様により UTF-8 の一部の文字が表現できないため、対象の文字を置換しています。


置き換え前 置き換え後
キャラクタ Unicode キャラクタ Unicode

~ (FULLWIDTH TILDE)

U+FF5E

~ (WAVE DASH)

U+301C

∥ (PARALLEL TO)

U+2225

∥ (DOUBLE VERTICAL LINE)

U+2016

- (FULLWIDTH HYPHEN-MINUS)

U+FF0D

- (MINUS SIGN)

U+2212

¢ (FULLWIDTH CENT SIGN)

U+FFE0

¢ (CENT SIGN)

U+00A2

£ (FULLWIDTH POUND SIGN)

U+FFE1

£ (POUND SIGN)

U+00A3

¬ (FULLWIDTH NOT SIGN)

U+FFE2

¬ (NOT SIGN)

U+00AC

SEO 向けページ出力を行うオプションを追加

xproxy.properties に、従来のクローラー対策を強化し SEO(Search Engine Optimization) 向けの機能 useCrawlerMode を追加しました。

関連:SEO サポート機能

セッションID 文字列を更に強化したオプションを追加

xproxy.properties に、従来のセッションID 文字列をより複雑にし、セキュリティを高めるオプション sessionIDType を追加しました。

違う端末から同じセッションID で参照できないようするオプションを追加

xproxy.properties に、セッションの判定にセッション文字列以外に機種名を含むオプション detectSessionWithTE を追加しました。 リクエストされた機種とセッション情報の機種が異なれば、別のセッションと判定します。

強制的にページ分割を行わないオプションを追加

ページ下にアンカータグを記述した場合、 ページ分割されてしまい、 アンカータグ部分が次のページなってしまうことがありました。
本バージョンではその現象を防ぐため、contentsRule.xml に端末のキャッシュサイズを無視するオプション <noSeparate> を追加しました。
なお、このオプションはすべての端末に対して適用されるため、出力された結果によってはサイズオーバーで端末に表示されない場合があります。

リクエストされた Referer: ヘッダを削除せず出力するよう変更

古い端末ではReferer: ヘッダに対応していない機種が多かったため、削除するようにしていました。
しかし、docomo の iモードブラウザ2.0 以降、Referer: ヘッダが使用可能な端末が増加したことから、Referer: ヘッダを削除しないよう変更を行いました。

au 端末に対して istyle 属性は変換せずにそのままスルー出力するように変更

au 端末の istyle 属性に対する仕様変更に合わせ、istyle 属性は変換せずにそのままスルー出力するように変更しました。

元のhtml

<p>istyle=3,wmlformat=*x</p> <input type="text" istyle="3" wmlformat="*x">
<p>istyle=3</p> <input type="text" istyle="3">
<p>istyle=4,wmlformat=*N</p>> <input type="text" istyle="4" wmlformat="*N">
<p>istyle=4</p> <input type="text" istyle="4">

修正前
au 端末に返却された html

<p>istyle=3,wmlformat=*x</p> <input type="text" format="*x"/>
<p>istyle=3</p> <input type="text" format="*m"/>
<p>istyle=4,wmlformat=*N</p> <input type="text" format="*N"/>
<p>istyle=4</p> <input type="text" format="*M"/>

修正後
au 端末に返却された html

<p>istyle=3,wmlformat=*x</p> <input type="text" format="*x"/>
<p>istyle=3</p> <input type="text" istyle="3"/>
<p>istyle=4,wmlformat=*N</p> <input type="text" format="*N"/>
<p>>istyle=4</p> <input type="text" istyle="4"/>

以前のバージョンでは、text フォームに istyle 属性が指定され、且つ wmlformat 属性が指定されていない場合、
istyle=3 → format="*m"
その他(1、2、4)→ format="*M"
と istyle 属性を format 属性に変換し出力しておりました。

端末側で istyle 属性に対応するようになったため Version 2.8.0 以降は、istyle を format 属性には変換せず、そのまま出力するようになりました。
ただし、wmlformat 属性が指定されていた場合は、そちらが優先されます。

セッションID が付いていない画像への直接リンクはページではなく画像をそのまま返すように変更

従来、セッションID が付与されていない(セッションが無効な)画像のリクエストをブラウザから受信した場合、画像のバイナリファイルをレスポンスせずに <img> タグが埋め込まれた html を返していました。 画像ファイルのレスポンス向上のため、contentsRule.xml に画像のバイナリファイルを返す機能 <directImageConvert> を追加しました。

useragent.xml にクローラー情報を追加

useragent.xml に判明しているクローラーの情報を載せるようにしました。

hidden 属性が指定された値を他の文字にデコードするオプションを追加

xproxy.properties に hidden 属性が指定された値を他の文字にデコードするオプション hiddenValueDecode を追加しました。

コンテンツ中にエスケープされた制御文字が含まれていた場合、正しく変換できなかった問題を修正

コンテンツ中にエスケープ文字 (ASCII の制御文字 ESC:0x1b) やシフトイン (同じくSI:0x0F) を元コンテンツに記述した場合、以降の文字をタグとして認識しない現象があるため、対応を行いました。
稀に絵文字のバイナリデータの一部が html ファイルに残っていることがあり、その場合にも同様の事象が発生していました。

サーバID を使用している環境で相対パス表記のリンクを変換した場合の問題が再発したため修正

サーバID を使用している環境で相対パス表記のリンクを変換した場合の問題が再発していたため、対応を行いました。

関連:LocationURL にサーバID識別子が付かない不具合を修正

contentsRule.xml の <ConditionDir> に "/" が設定された際に画像先読みが失敗する不具合を修正

画像先読みに失敗する場合があり、その際に以下のような影響が生じていました。

・ページ分割で分割位置が変わってしまう。
・画像のキャッシュデータが利用されない。

原因は、contentsRule.xml の <ConditionDir> に "/" が設定された場合に発生する不具合でしたので、修正を行いました。

従来のバージョンでは、contentsRule.xml に以下の例のような記述がある場合、x-Servlet が Webサーバに対して、レスポンスが 403 となるリクエストを送信していました。

contentsRule.xml の記述

ConditionDir: /a1
PreDir: 設定なし


ConditionDir: /b1
PreDir: 空要素(<PreDir></PreDir>)


ConditionDir: /c1
PreDir: /

EMOBILE 端末に copyright 属性が効かない不具合を修正

EMOBILE 機種で copyright 属性参照の際に NullPointerException が発生する不具合について、対応を行いました。

<INPUT> タグの hidden 属性の value 値に文字参照などが含まれている場合正しく送られなかった問題を修正

これまで、input タグの hidden 属性の value 値に、例えば "&gt;"(>) などの文字参照を含めた場合、x-Servlet では "&gt;"(>) をエンコードした値の "%26gt;" をWeb サーバに送信しておりました。
この問題に対し、"%26gt;" を "&gt;"(>) にデコードして Web サーバに送信する機能(xproxy.properties の hiddenValueDecode)を追加しております。
xproxy.properties の hiddenValueDecode を "false" と設定することで Version 2.7.2(20081110) と同等の動作となります。

TOP