私は Web 開発に取り組んでおり、ポストバックという言葉が飛び交っているのを見てきました。Web ベース以外のバックグラウンドを持つ新しい Web 開発者は、ポストバックについて何を知っておく必要がありますか? (つまり、それらは何で、いつ発生するのですか?)
Web の世界の初心者がポストバックに気付くのを助けるために共有したい情報があれば、大歓迎です。
私は Web 開発に取り組んでおり、ポストバックという言葉が飛び交っているのを見てきました。Web ベース以外のバックグラウンドを持つ新しい Web 開発者は、ポストバックについて何を知っておく必要がありますか? (つまり、それらは何で、いつ発生するのですか?)
Web の世界の初心者がポストバックに気付くのを助けるために共有したい情報があれば、大歓迎です。
以下は、ASP.Net の初心者を対象としています...
ポストバックはクライアント ブラウザから発信されます。通常、ページ上のコントロールの 1 つがユーザーによって操作され (ボタンのクリックやドロップダウンの変更など)、このコントロールがポストバックを開始します。このコントロールの状態と、ページ上の他のすべてのコントロールの状態 (ビュー ステートと呼ばれます) は、Web サーバーにポスト バックされます。
最も一般的なのは、ポストバックによって、Web サーバーが、ポストバックを開始したページのコード ビハインド クラスのインスタンスを作成することです。次に、このページ オブジェクトは通常のページ ライフサイクル内で実行されますが、わずかな違いがあります (以下を参照)。ページのライフサイクルのどこかでユーザーを別のページに明確にリダイレクトしない場合、ポストバックの最終結果は、ユーザーに再度表示される同じページになり、その後、別のポストバックが発生する可能性があります。
Web アプリケーションは Web サーバー上で実行されています。ユーザーの応答を処理したり、アプリケーションの状態を変更したり、別のページに移動したりするには、Web サーバーで実行するコードを取得する必要があります。これを実現する唯一の方法は、ユーザーが現在作業しているすべての情報を収集し、そのすべてをサーバーに送り返すことです。
初心者が注意すべき点は...
ウィキペディアから:
ポストバックは、ページ全体とそのコンテンツが何らかの情報を処理するためにサーバーに送信され、サーバーが同じページをブラウザーにポストするときに、インタラクティブな Web ページによって実行されるアクションです。
与えられた定義を拡張すると、Web 開発者として知っておく必要がある最も重要なことは、ポストバック間で状態が保存されないということです。ASP.NET の Session コレクションや Viewstate コレクションなど、状態を保持する方法はありますが、原則として、ポストバックごとに状態を再作成できるプログラムを作成します。
これはおそらく、デスクトップ アプリケーション プログラミングと Web ベース アプリケーション プログラミングの最大の違いであり、本能的にこの方法で記述できるようになるまでに数か月かかりました。
ポストバックは、Web ページがそのデータを最初にページを生成したのと同じスクリプト/dll/何かに戻すときに発生します。
C# での例 (asp.net)
...
if (!IsPostback)
// generate form
else
process submitted data;
Web 開発には、通常、フォーム (<form>
タグ) を保持する html ページが含まれます。フォームは URL に投稿します。特定のフォームを任意の URL に投稿するように設定できます。ポストバックとは、フォームが独自のページ/URL にポストバックすることです。
この用語は、ASP.Net WebForms 開発者にとって特別な意味を持ちます。これは、ページの多くの動作 (特に「イベント処理」) を駆動する主要なメカニズムであるためです。ASP.Net WebForms ページには、ほぼ常にそれ自体にポストバックする 1 つのサーバー フォームがあり、これらのポストバックは、ページ ライフサイクルと呼ばれるもののサーバー上での実行をトリガーします。
この用語は、サードパーティの Web サービス API とやり取りするときに Web アプリケーション開発でも使用されます。
多くの API では、インタラクティブな統合と非インタラクティブな統合の両方が必要です。通常、インタラクティブな部分はリダイレクトを使用して行われます (サイト 1 はユーザーをサイト 2 にリダイレクトし、そこでユーザーはサインインし、リダイレクトされます)。非対話的な部分は、「ポストバック」、またはサイト 2 のサーバーからサイト 1 のサーバーへの HTTP POST を使用して行われます。
スクリプトが html フォームを生成し、そのフォームのアクション http POST が同じフォームに戻る場合。
ポストバックは基本的に、新しいページに送信するのではなく、現在データを処理しているのと同じページまたはスクリプト (.php .asp など) にフォームが送信される場合です。
例としては、フォーラム (viewpage.php) のページでコメントを送信すると、同じページ (viewpage.php) に送信され、新しいコンテンツが追加されたページが表示されます。
ポストバックとは、クライアントの Web ブラウザーからサーバーにページをプッシュバックさせるものです。
そこにはたくさんの情報があります。グーグルでポストバックを検索してください。
ほとんどの場合、ASP コントロールはポストバック (ボタン/リンクのクリック) を引き起こしますが、(チェックボックス/コンボボックス) と指示しない限りそうしないものもあります。
ポストバックは HTML フォームを参照します。HTML フォームには、GET と POST の 2 つのメソッドがあります。これらのメソッドは、フォームを介してクライアントからサーバーにデータを送信する方法を決定します。ポストバックは、送信ページに POST するアクションです。本質的に、クライアントからサーバーへの完全な回路を形成し、再びサーバーに戻ります。