1

とてもシンプルです。Web クライアント (Web ブラウザー) が Web サーバーに要求を送信した後、Web クライアントは Web サーバーからの応答を期待して受信します。その後(送信後)、WebクライアントはWebサーバーにデータを送信します(ポストバック)。しかし、内部的には、Web サーバーがポストバックとは何か、または Web ページの最初の要求とは何か (おそらく HTTP 要求のフラグでしょうか?) をどのように認識していますか?

4

3 に答える 3

2

HTTP には、 や などの多くの動詞がPOSTありGETます。GETURLを入力するようなものです。POST通常、フォームに使用されます。

ページ メソッドが の場合POST、これを設定する必要があります (ASP.NET で)。

if (Page.IsPostBack)
{

}
于 2012-09-17T21:15:54.443 に答える
0

IIS/サーバーについてのみ話している場合は、(それ自体では) できません。最初のリクエストは、任意の動詞 ( GETPOST、または許可するその他の動詞) にすることができます。

ASP.NET Web フォーム ページについて話している場合、"最初の" 要求は であり、"ポストバック" であると想定できGETます (100% ではありません)。用語自体の性質上、POST. ただし、上記と同様に、最初の要求POSTとしてを受け取る ASP.Net ページを作成できます。

開発者として、「最初の要求」を識別する方法を作成できますが、それをどのように定義してもかまいません。それはおそらく流れを強制するあなたの方法です。この動詞は、「最初の (http) リクエスト」を識別することとはまったく関係ありません....

于 2012-09-17T21:41:08.603 に答える
0

System.Web.UI.Pageストーリー全体の一部にすぎませんが、これはおそらくクラスの最も関連性の高い抜粋です。

メソッド内ProcessRequestMain(bool includeStagesBeforeAsyncPoint, bool includeStagesAfterAsyncPoint):

if (this._requestValueCollection != null) {
    [..]
    text2 = this._requestValueCollection["__CALLBACKID"];
    if (text2 != null && this._request.HttpVerb == HttpVerb.POST)
    {
        this._isCallback = true;
    }
[..]
}

明らかに、ASP.NET は暗号化さ__CALLBACKIDれた投稿パラメーターを送信し、HTTP 要求メッセージで POST 動詞が設定されているかどうかも確認します。

于 2012-09-17T21:33:22.900 に答える