質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.12%

GETクエリが長すぎてエラーになります

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 5,526

t33

score 31

質問内容

ページ遷移をする際に「GETクエリ」が長すぎてスクリーンショットのようなエラーが出てしまいます。
この現象を解決したく質問致しました。本当に困っています。何卒よろしくお願い致します。
(GETクエリを消すようなものがあればいいのですが・・・)

スクリーンショット

イメージ説明

【Request header】
イメージ説明
イメージ説明

備考

・「index.php」に初めに飛んできた際に「GETクエリ」が必ずくっついています。
・環境はXAMPPのローカルサーバーを使用しています。
・「index.php」に初めに飛んできた際に「GETクエリ」から得た情報はすでに変数に格納しているので、「index.php」からページ遷移するときには「GETクエリ」の情報は必要ありません。
・試しに「GETクエリ」を消した状態でページ遷移を行いましたが問題なくページ遷移出来ました。
(GETクエリが長いとスクリーンショットのような問題が出ていると思われます。)

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

checkベストアンサー

+3

どうもこんにちは。
URLの長さの制限についてRFCでは規定されていないので、データ量の制限はないはずです。
ですが、WebサーバーのなかにはデフォルトでGETリクエストのデータ量を制限しているものがあるので、それが今回のエラーの原因かもしれませんね。
いずれにせよ、大きいサイズのGETリクエストを送信するとブラウザがクラッシュする可能性大なので、あまりおすすめできません。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/11/24 01:21

    caeさんこんにちは。ご返信ありがとうございます。
    「XAMPP」を使っているのですが、index.phpに大量のGETクエリを送信したところデフォルト値を超えてエラーになって送信出来なかった経緯があるので「httpd.conf」の「LimitRequestLine」 の値を変更してあります。
    (index.phpは動くのですが、そこから更にページ遷移する際にスクリーンショットのようなエラーが出ています。。)

    キャンセル

  • 2016/11/24 01:40

    スクリーンショットを見る限りでは、HTTPリクエストヘッダのサイズ制限に引っかかっているかもしれません。LimitRequestFieldSizeの値を大きくするとどうでしょうか?

    キャンセル

  • 2016/11/24 01:56

    お教え頂いた内容で無事動作しました!!!
    GETで送信出来ないと詰んでしまい困っていた為本当に助かりました。。
    ありがとうございます!!!

    キャンセル

+2

Chrome のデベロッパーツールで、「Network」→「Status」を調べてください。

エラーコードが「414」であれば、URIの ? いかが長いぞと言うエラーですが、恐らく今回の場合は違うでしょう。

イメージ説明

Size of request header

と出ているのですから、Request header を確認します。

イメージ説明

Request header の中には、Cookieの情報も含まれています。Cookieに保存できる容量にも制限はありますし、サーバーが受け付ける容量にも制限があります。不要な情報が消されずに残っていたりしませんか?不要なCookieが残っているのはアプリケーションの責任ですので、アプリケーションで対処してください。

Size of request header exceeds server limit

「Server limit」と言う文字列が含まれていることを考えれば、このメッセージがサーバーで返していることが推測されますよね。このことから、「IEでのみ発生する現象」と言う可能性は低いと考えられます。


「data=>... 」のところがはっきりと分からなかったのですがどういうことでしょうか。

イメージ説明

refer にセットされている部分に data= と言う文字列が見えます。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/11/24 01:50 編集

    POSTとローカルストレージの方法は試したのですが、monacaとローカルストレージの仕様から使えませんでした。
    (なのでデータ量が多くなる為使いたくなかったのですがGETを選択しています。)
    ちなみになのですが、サーバーに送信した時点のことですが「index.php」を初めて表示しているとき(GETクエリを始めて受け取ったとき)は問題なく動いています。(index.phpからページ遷移するときに初めてエラーが出ています。)

    キャンセル

  • 2016/11/24 01:57 編集

    > サーバーに送信した時点のことですが「index.php」を初めて表示しているとき(GETクエリを始めて受け取ったとき)は問題なく動いています

     正常な時とそうでない時のリクエストヘッダを見比べれば、いいじゃないですかね。その時リファラーの値がどうなっているかを確認しましょう。その時はエラー時と異なる値になっているはずですよ。

    > index.phpからページ遷移するときに初めてエラーが出ています。

    そのタイミングでリファラーがセットされていると言うことですよね。他のアプローチを模索して見る以外に方法はないんじゃないですか?

    サーバーの設定を変える方法は確かにありますが、GETで受け取った文字列を eval() とか通していそうで、セキュッリティ的に問題がありそうです。

    キャンセル

  • 2016/11/24 02:00

    caeさんに教えて頂いた内容で無事動きました。
    本当に困っていた為、教えて頂き、又ご協力頂き Kosuke_Shibuyaさん本当にありがとうございました!

    キャンセル

0

GETクエリには文字数制限があります。
http://computer-technology.hateblo.jp/entry/2016/03/24/Web%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AEURL%E3%81%AE%E9%95%B7%E3%81%95%E3%81%AF%EF%BC%8C%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%AEGET%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88%E5%88%B6

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/11/23 23:34

    お教え頂いた文字数制限なのですが、自分でも同じようなサイトを見たのですが、
    「IE」だけの話なのかと思っていたのでIEを使わない前提なら問題ないのかなと思っていました。
    (間違っていたらすみません。)

    キャンセル

  • 2016/11/24 00:02

    レガシーブラウザが255バイト制限を取っていたころのかな

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.12%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる