2017年9月23日土曜日

LSL の llHTTPRequest の仕様が再度変更されました

2017 年 8 月 29 日にメイングリッド全体に適用されたサーバーソフトウェアのアップデートにて、llHTTPRequest の仕様変更が再度行なわれました。

MIME Type changes for HTTP with LSL - LSL Scripting - SecondLife Community

Release Notes/Second Life Server/17 - Second Life Wiki

LlHTTPRequest - Second Life Wiki

今回の変更点は、下記の通りです。
  • HTTP_MIMETYPE パラメータが適切な内容になっているか、チェックが行なわれるようになりました。
  • HTTP_ACCEPT オプションが追加されました。これを使用すると、スクリプトが期待する MIME タイプをさらに制限することが出来ます。
  • スクリプトへの HTTP リクエストで、Content-Type が正しいものかどうか、許可されているものかどうかがチェックされるようになりました。

許可されている MIME タイプの形式は、下記の通りです。

"type/subtype; parameters"

正しい使用例
  • "text/plain;charset-utf8"
  • "application/x-www-form-urlencoded"
  • "multipart/mixed; boundary=\"---1234567890---\""

間違った使用例
  • "text/application/xml" (MIME タイプ に「/xml」が余計についています)
  • "text/xml charset=utf8" (MIME タイプの最後にセミコロンがありません)
  • "text / xml" (MIME タイプの区切りの前後にスペースが入っています)
  • "text/xml\n" (HTTP_MIMETYPE に改行コードが混入しています)
※これらの場合は、デバッグチャンネルでエラーが発生して、llHTTPRequest から Null キーが返されます。

セミコロンとパラメータは省略可能です。LSL は、オプションのパラメータセクションの内容は検証しません。

インターネットでの通常の仕様通りに llHTTPRequest の動作も変更されました。
LSL や Web で MIME タイプを意図した通信を行われている場合は、この辺を再度確認してみてください。

0 件のコメント:

コメントを投稿