プロジェクト

全般

プロフィール

Bug(バグ) #4207

「いいね」の状態を一度に取得する対象が多すぎる場合に「データ取得に失敗しました」というアラートが表示される

kaoru nほぼ7年前に追加. ほぼ7年前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2017-06-09
期日:
進捗率:

100%

3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Unknown (未調査)

説明

Overview (現象)

クライアントからの HTTP リクエストのヘッダの サイズが 8190 bytes を超える場合に「データ取得に失敗しました」というアラートが表示される

Causes (原因)

リクエストの先頭行が 8,192 バイトを越える場合について試算:

  • "GET /api.php/like/packet_search.json?apiKey=" → 44文字
  • APIキー → 64文字
  • "&data%5B0%5D%5BlikeId%5D=1111&data%5B0%5D%5Btarget%5D=A" → 55文字 * 147件 = 8,085文字
  • " HTTP/1.0" → 9文字

→ 合計: 8,202文字

アクティビティ 147 件のいいね状態を取得すると 8,192 バイトを超過する(件数は表示するタイムラインの投稿数とコメント数の合計)

ホーム画面のタイムラインに表示される投稿 20 件に平均 7 コメントが付くと 8,192 バイトを超過する計算になる。
あるいは、20 件の投稿のうち 13 件にコメントが上限の 10 件まで付いていても同様に超過する。

apache2.2のデフォルトは 8190 bytes
https://httpd.apache.org/docs/2.0/ja/mod/core.html#limitrequestfieldsize

Way to fix (修正内容)

opLikePlugin に以下の修正を加えることで packet_search.json が POST メソッドでリクエストされることを確認しました
(API 側は修正不要です)

--- a/web/js/like-smartphone.js
+++ b/web/js/like-smartphone.js
@@ -178,7 +178,7 @@ function packetLoad(dataList)
   $.ajax(
   {
     url: openpne.apiBase + 'like/packet_search.json?apiKey=' + openpne.apiKey,
-    type: 'GET',
+    type: 'POST',
     data:
     {
       'data': dataList,
--- a/web/js/like.js
+++ b/web/js/like.js
@@ -310,7 +310,7 @@ function packetLoad(dataList)
   $.ajax(
   {
     url: openpne.apiBase + 'like/packet_search.json?apiKey=' + openpne.apiKey,
-    type: 'GET',
+    type: 'POST',
     data:
     {
       'data': dataList,

履歴

#1 Youichi Kimuraほぼ7年前に更新

  • 題名クライアントからの HTTP リクエストのヘッダの サイズが大きい場合に「データ取得に失敗しました」というアラートが表示される から 「いいね」の状態を一度に取得する対象が多すぎる場合に「データ取得に失敗しました」というアラートが表示される に変更

#2 Shinichi Urabeほぼ7年前に更新

  • ステータスNew(新規) から Accepted(着手) に変更
  • 担当者Shinichi Urabe にセット
  • 対象バージョンv1.2.7 alpha にセット

#3 Shinichi Urabeほぼ7年前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

#4 Shinichi Urabeほぼ7年前に更新

  • ステータスPending Review(レビュー待ち) から Fixed(完了) に変更
  • 進捗率50 から 100 に変更

merged.

他の形式にエクスポート: Atom PDF