文字コードの問題

チャットなど「日本語を送信するようなシステム」を作る場合に文字コードに注意する必要があります。
XMLHTTPを使ってサーバにGETデータを送信しようとすると、Webページの文字コードがシフトJISだろうとEUCだろうとutf-8で送信されます。
そのため、以下のような単純なものを作っても文字化けしてしまいます。

  • WebページをシフトJISで作成
  • XMLHTTPでサーバへ文字を送信(エンコードして送信)
  • サーバが受信した文字をクライアントへそのまま返信
  • ブラウザは受け取ったデータをそのまま表示

対処方法としては、Webページの文字コードも、サーバ側で管理するデータの文字コードもutf-8で統一し、JavaScriptのescape関数とunescape関数を使ってエンコード・デコードするのが一般的です。

レスポンスの順序

「RFC2616 8.1.2.2」に記されているパイプラインの説明では、Webサーバは同一クライアントから複数のリクエストがあった場合、リクエストされた順番でレスポンスを返すはずです。
そのため、非同期通信ならではのAjaxでは、一つのクライアントがサーバに対して複数のリクエストを平行して行う場合、どのような順でレスポンスが来るのかを考慮しておきたいです。

Copyright © 2006 Hikijishi All Rights Reserved.
[] [ajax][0.00172901153564453]