さまざまな Web 開発言語では、基本的に各ページ間でデータが転送されます。Web 開発でより一般的に使用されるデータ転送方法は、これまでのところ、get によって転送されるデータ量が転送されるデータ量よりも大きいことだけです。量が少ない必要があるため、大量のデータを転送するには引き続き post を使用する必要がありますが、get post の 2 つの方法で最大どのくらいのデータを転送できますか?決して分かりませんでした。
今日は仕事の都合上、GET と POST で送信されるデータの最大長について説明する必要があります。
get は URL を通じてデータを送信するため、GET によって送信できるデータの量は、URL が達成できる最大長に直接関係します。多くの記事では、GET を通じて送信できるデータは最大 1024 バイトまでであると記載されています。実際、URL にはパラメーターの上限はなく、HTTP プロトコル仕様では URL の長さに制限がありません。この制限は、特定のブラウザとサーバーによって課されます。 IE の URL の長さの制限は 2083 バイト (2K+35 バイト) です。 FireFox、Netscape などの他のブラウザの場合、現時点では長さの制限はありません。制限はサーバーのオペレーティング システムによって異なります。つまり、URL が長すぎる場合、サーバーはリクエストを拒否するか、セキュリティ設定により不完全なデータリクエストが発生する可能性があります。
理論上、ポストにはサイズ制限はなく、HTTP プロトコル仕様にもサイズ制限はありません。ただし、実際には、ポストによって送信できるデータの量はサーバーの設定とメモリ サイズによって異なります。投稿のデータ量がMBを超えることはほとんどないため、投稿のデータ量の制限を感じることはほとんどありませんが、実際にファイルをアップロードする場合、比較的大きなファイルをアップロードする場合にこのような問題が発生することがあります。ファイルがサーバーに送信されてもアップロードできない場合があります。理由を確認すると、PHP のファイルのアップロードに関連するパラメータがあることがわかります。通常、この値はデフォルトで 2MB です。この値を変更するには、php.conf の post_max_size の値を変更する必要があります。これは問題を明確に示しています。