CGI - CGIスクリプトへのデータ送信
CGIスクリプトへのデータ送信はHTMLフォームを介して行われます。
HTMLフォームは、ボタン、フィールド、リスト、チェックボックスを含むタグを使用して作成され、値、ユーザー入力機能、および指定されたスクリプトに収集されたすべての情報をアクションとして送信するフォーム上の送信ボタンが含まれます。 FORMタグの属性(GETまたはPOSTメソッド経由)。 フォームの各要素には一意の名前を付ける必要があります。これを値に組み合わせると、次のタイプのペアが作成されます。
Name_of_element = value
名前と値のセットはアンパサンド( "&")で区切ります。 したがって、フォームを送信すると、フォームの文字列が作成されます。
field1 = value1&field2 = value2&field3 = value3
この文字列は、フォームの送信に使用されたメソッドがGETかPOSTかによって異なります。
GETおよびPOSTメソッド
GETメソッドは、スクリプトのURLを通じてフォーム要素を送信します。 これは、名前と値のペアをスクリプトのURLに追加し、疑問符を使用して各要素を区切ります。したがって、次のようなURLになります。
//name_of_server/cgi-bin/script.cgi?field1=value1&field2=value2 ...
ただし、URL文字列の長さは255文字に制限されており、この制限を超える情報は永久に失われます。 さらに、ブラウザのアドレスバーにオーバーロードされたURLを作成し、パスワードなどの機密情報を明らかにすることができます。
したがって、POSTメソッドはGETメソッドに代わる優れた方法です。 このメソッドはGETメソッドと同じ方法(URLエンコーディングと名前/値のペア)で情報をエンコードしますが、それは「リクエストの本体」と呼ばれるフィールドにデータを送信します。 このようにして、送信されるデータ量は制限されません。