URI Too Long【HTTPエラー】
ホームページを見ているときに出るエラーだよ
「URLが長過ぎだよー!」と言っているよ
ホームページを見る方で何とかできる場合もあるけど、基本的には何ともできないよ
エラーの番号は「414」だよ
簡単に書くよ
URI Too Long【HTTPエラー】(読:ユーアールアイ・トゥー・ロング)とは
いわゆる「414エラー」のこと。
用語の中身としては
ホームページを見ているときに出てくるエラーのひとつ
であり
「うわっ…あなたの指定したURL
(ホームページの住所に相当する情報)、長過ぎ…?」のこと
です。
もう少し真面目に書くと
「あなたが指定したURLの長さ(文字数)が、こちらで許容している長さよりも長くてですね。受け付けられないのです」なエラーのこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・URL
・URI(ユーアールアイ)
・ホームページが表示される流れ
・414エラー
について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
URLは「ホームページの住所」です。
ホームページの置いてある場所とかファイル名とかを示す情報です。
例えば
http://wa3.i-3-i.info/extension/index.html
というURLが あったとしましょう。
このURLは
「wa3.i-3-i.info」という名前のコンピュータの中にある「extension」という名前のディレクトリの中にある「index.html」という名前のファイル
を意味します。
URIは、今回はURLのことだと思ってください。
実際には微妙に違いますけどね。
その違いを今回は意識する必要ありません。
これがURLとURIの説明です。
次に、ホームページが表示される流れと414エラーについて説明します。
あなたがホームページを見ようとすると、まず、ホームページを見るときに使うソフト(Webブラウザ)からホームページのファイルが置いてあるコンピュータ(Webサーバ)に対して「このページをおくれ」と お願いが出されます。
そのお願いに対して、WebサーバさんからWebブラウザさんに「ほれ、そのページだよ」と お返事がきます。
お返事を受け取ったWebブラウザさんは、受け取った内容(ホームページのファイル)を画面上に表示してくれます。
さて、この流れにおいて、最初にWebブラウザさんからWebサーバさんに対して「ファイルをおくれ」な お願いが出されました。
実はこのとき、Webサーバさんは「あー、ごめん。そのファイルは渡せないわ」と断る場合があります。
Webサーバさんが断る理由は、いろいろです。
「指定されたファイルを持っていない」「おまえのことが嫌いだから渡したくない」「お腹が痛くて、それどころじゃない」などなどです。
とはいえ、Webブラウザさんからすれば困りますよね?
「えー。なんで断るんだよー。イジワルするなよー」と思うはずです。
そこでWebサーバさんは、断る理由を、理由に対応する数字で伝えます。
「○番の理由により、ファイルを渡せないんだわ。ごめんね」と教えてあげるのです。
そうすれば、Webブラウザさんも納得してくれるでしょう。
Webサーバさんが断るときに使う「理由に対応する数字」は、1種類では ありません。
いろいろ、あります。
その「いろいろ」のひとつに「414」があります。
数字「414」に対応する理由は「指定したURLが長過ぎで~す」です。
実はURLには長さ(文字数)の制限があります。
「指定するURLの長さは何文字までにしてね」が決まっているのです。
この制限よりも長いURLを指定してしまうと「414番の理由により、ファイルを渡せないんだわ。ごめんね」が返されるのです。
意味は「うわっ…あなたの指定したURL、長過ぎ…?」です。
この「414番の理由により、ファイルを渡せないんだわ。ごめんね」と返ってきた状態を「414エラー」と呼んだりします。
ホームページを見ているときに出てくるエラーのひとつで「指定したURLが長過ぎで~す」なエラーを意図する俗称です。
以上を踏まえて、本題に入ります。
Webサーバさんから「414番の理由により、ファイルを渡せないんだわ。ごめんね」と返ってきました。
これを そのまま人間様に伝えても、人間様は「414番って何?」となってしまいます。
そこでWebブラウザさんは気を利かせます。
人間様がイメージしやすいように、エラーの番号が意味する内容を何となくの人間語で教えてあげるのです。
お待たせしました。
414エラーに対応する「エラーの番号が意味する内容」
が「URI Too Long」です。
直訳すると「URIが長過ぎ」ですね。
一般的には番号と内容を並べて
414 URI Too Long
のような表記がされていると思います。
「URI Too Long」は指定したURLが長過ぎたときに出るエラーです。
よって、指定するURLを短くすれば解決します……が、話は そう簡単では ありません。
そもそも、どうしてURLが長くなり過ぎちゃうのでしょうね?
それは「GETメソッド」と呼ばれるやつのせいです。
ホームページが表示される流れの最初を思い出してください。
WebブラウザさんからWebサーバさんに対して「このページをおくれ」な お願いが出されるところです。
このとき追加でWebブラウザさんから情報が送られる場合があります。
送られる情報は画面で入力した値とかです。
例えば会員登録なんかをすると、自分の名前を画面で入力したりしますよね。
その入力された情報は、次の「このページをおくれ」な お願いを出すタイミングでWebサーバさんに送られます。
実は、このときの送り方には、いくつかの種類があるのです。
その中でも、よく使われるのは
1.GET
2.POST
の2つです。
おっと、GETの野郎が出てきやがりましたよ。
GETで送る場合、追加で送る情報はURLの後ろにくっつきます。
本来のURLが
http://wa3.i-3-i.info/search.html
だったとしましょう。
GETで送ったときのURLは
http://wa3.i-3-i.info/search.html?q=piyota
のように書き換わります。
URLの「?」より後ろの部分「q=piyota」が画面から入力した値です。
POSTで送る場合、追加で送る情報は見えないところにくっつきます。
どこにくっつくかの説明は省略しますが、本来のURLが
http://wa3.i-3-i.info/search.html
だったとすると、POSTで送ったときのURLは
http://wa3.i-3-i.info/search.html
のままです。
URL自体は変わりません。
POSTの方は忘れてもOKです。
GETの方に注目してください。
GETで送る場合、追加の情報はURLにくっつきます。
ということは、画面から入力する情報量が多くなるほど、URLは長くなるわけです。
入力した文章が長くなれば、URLも
http://wa3.i-3-i.info/search.html?q=piyota
だったのが
http://wa3.i-3-i.info/search.html?q=piyotahayamahesibakarinipiyokohakawahesentakuniikimasita
になったりします。
あるいは、項目が増えた場合です。
送る項目が増えると、例えば
http://wa3.i-3-i.info/search.html?q=piyota
だったのが
http://wa3.i-3-i.info/search.html?q=piyota&q2=piyoko&q3=akumakun&q4=piyotamama
になったりします。
GETで送ると、送る情報量が増えるにつれてURLが長くなる
のです。
1つの項目に入力した内容が多すぎる場合は、文章を推敲して量を減らすことで、URLが短くなりますけどね。
そもそも送る項目が多すぎる場合は、どうしようもありません。
ということで「URI Too Long」なエラーが出た場合は、見る人の方で何とかできる場合もありますが、基本的には何ともできないわけです。
というか、悪さをしようとして意図的にURLを改変したわけではないのに「URI Too Long」なエラーが出たのであれば、それは作った方のミスです。
可能であれば「おい!『URI Too Long』なエラーが出たぞ!何とかしてくれ!」と管理している人に連絡して、あとはのんびり待つのが優しい対応だと思います。
長くなったので、まとめます。
「URI Too Long」なエラーは
指定したURLが長過ぎだぞ、こんちくしょう!
なエラーです。
原因は
指定したURLが長過ぎる
です。
対処法は
指定するURLを短くする
ですが、ホームページを見ている方ではできない場合も あります。
そんなときは、そのホームページの管理者に連絡してあげて、あとはのんびり待つのが現実的な対応です。
一言でまとめるよ
まぁ、ホームページの話で「URI Too Long」って単語が出てきたら「『指定したURL
(ホームページの住所に相当する情報)が長過ぎで~す』なエラーなんだな~」と お考えください。
おまけ
■訳してみるよ
「URI」は「Uniform Resource Identifier(ユニフォーム・リソース・アイデンティファイア)」の略です。
「uniform(ユニフォーム)」の意味は「同形の」とか「一様な」とか「均一の」とかです。
「resource(リソース)」の意味は「資源」とかです。
「identifier(アイデンティファイア)」の意味は「識別子」とかです。
「too long(トゥー・ロング)」の意味は「長すぎる」です。
何となく くっつけると
同形の資源の識別子が長すぎる
となります。
■検索してみる?






