HTML 入力フォームにおける送信先の指定方法について解説
HTML 入力フォームを使用する際、フォームのデータをどのように送信するかを決めるためには、action
属性と method
属性の設定が非常に重要です。本記事では、**「HTML 入力フォーム 送信先」**というテーマに基づき、送信先URIの指定方法、送信形式との関係、具体的な使用例、注意点について詳しく解説します。
送信先URIの指定 (HTML 入力フォーム 送信先 URI)
入力フォームでは、送信先を指定するためにaction
属性を使用します。この属性は、フォームデータを受け取るプログラムやスクリプトのURI(Uniform Resource Identifier)を指定します。
例えば、example.cgi
というスクリプトにフォームデータを送信する場合、以下のように記述します。
ここで重要なのは、action
属性の値に有効なURIを指定することです。ローカル環境であればファイルパス、インターネット上であれば絶対パスや相対パスを使用できます。action
属性を空にすると、デフォルトで現在のページが送信先となります。
送信形式(method)との関係 (HTML 入力フォーム 送信先 method)
action
属性が送信先のURIを指定するのに対し、method
属性は送信形式を決定します。フォームで使用できる送信形式は主に2種類です:
-
GET メソッド
データをURLにクエリ文字列として付加して送信します。クエリパラメータとしてデータがURLに含まれるため、検索フォームやデータ共有が簡単な操作に適しています。
例:送信先URIは次のようになります:
https://example.com/search.cgi?query=入力値
-
POST メソッド
データをリクエストボディ(本文)に含めて送信します。大量のデータや機密性の高いデータを扱う場合に使用されます。例として、ユーザーの登録フォームやメッセージ送信フォームが挙げられます。
送信先と送信形式の具体例 (HTML 入力フォーム 送信先 post)
以下は、CGIスクリプトにPOST形式でデータを送信する具体的な例です。
- 送信先:
formmail.cgi
(サーバー上のスクリプト) - 送信形式:
POST
形式を指定することで、フォームデータが本文として送信されます。
この方法は、ユーザーからの問い合わせや長文メッセージの送信に広く利用されています。
重要な注意点(HTML Living Standardの最新仕様)
HTML仕様は常に進化しており、HTML Living Standardに基づく新しい機能が追加されています。そのため、古い仕様に基づいて設計したフォームが最新のブラウザで正しく動作しない場合があります。
特に、以下の点に注意してください:
action
属性が空の場合、現在のページが送信先となる仕様はそのままですが、HTML5以降では、セキュリティ強化の観点からCORS(クロスオリジンリソース共有)に関する制限が追加されています。method
属性のデフォルト値はGET
ですが、送信先プログラムの要件に応じて明示的に設定することを推奨します。
公式ドキュメントや最新仕様を確認しながらフォーム設計を行うと、よりセキュアでユーザーフレンドリーな実装が可能になります。
まとめ
HTML入力フォームにおける送信先の指定では、action
属性で送信先URIを、method
属性で送信形式を指定します。この2つの属性を正しく組み合わせることで、フォームデータの送信プロセスを制御できます。
- 送信先を指定するには
action
属性 - 送信形式を決定するには
method
属性
特に、POST
形式を使用する場合には、セキュリティやデータの整合性に注意を払う必要があります。フォームを作成する際には、最新のHTML仕様やセキュリティガイドラインを確認しながら設計を進めましょう。
参考URL: MDN web docs - <form> タグ
よくある質問 (FAQ)
- Q1: HTML フォームの送信方法はどのように設定しますか?
- A1: フォームの action 属性に送信先の URL を指定し、method 属性で送信方法を選択します。
- Q2: 複数の入力フィールドを追加できますか?
- A2: はい、<input> や他のフォーム要素を追加することで、複数のフィールドを持つフォームを作成できます。
- Q3: フォーム送信後のリダイレクトはどうしますか?
- A3: フォームを処理するサーバー側のスクリプトでリダイレクトを設定することが一般的です。
その他の参考記事:html 入力 フォーム