網路請求 http get post 一,getpost

來源:互聯網
上載者:User

網路請求 http get post 一,getpost

   Http 定義了與伺服器互動的不同方法。最基本的方法有4種,分別是Get POST PUT DELETE ,URL 全稱資源描述符,我們可以這樣認為一個URL地址,一個URL地址,它用於描述一個網路上的資源,而HTTP 中的Get POST PUT DELETE 就 對應著

1.根據HTTP規範,GET用於資訊擷取,而且應該是安全的和等冪的。

          (1).所謂安全的意味著該操作用於擷取資訊而非修改資訊。換句話說,GET 請求一般不應產生副作用。就是說,它僅僅是擷取資源資訊,就像資料庫查詢一樣,不會修改,增加資料,不會影響資源的狀態。

  * 注意:這裡安全的含義僅僅是指是非修改資訊。

  (2).等冪的意味著對同一URL的多個請求應該返回同樣的結果。這裡我再解釋一下等冪這個概念:

        等冪(idempotent、idempotence)是一個數學或電腦學概念,常見於抽象代數中。
  等冪有一下幾種定義:
  對於單目運算,如果一個運算對於在範圍內的所有的一個數多次進行該運算所得的結果和進行一次該運算所得的結果是一樣的,那麼我們就稱該運算是等冪的。比如絕對值運算就是一個例子,在實數集中,有abs(a)=abs(abs(a))。
  對於雙目運算,則要求當參與運算的兩個值是等值的情況下,如果滿足運算結果與參與運算的兩個值相等,則稱該運算等冪,如求兩個數的最大值的函數,有在在實數集中等冪,即max(x,x) = x。


  2.根據HTTP規範,POST表示可能修改變伺服器上的資源的請求。繼續引用上面的例子:還是新聞以網站為例,讀者對新聞發表自己的評論應該通過POST實現,因為在評論提交後網站的資源已經不同了,或者說資源被修改了。



上面大概說了一下HTTP規範中GET和POST的一些原理性的問題。但在實際的做的時候,很多人卻沒有按照HTTP規範去做,導致這個問題的原因有很多,比如說:

  1.很多人貪方便,更新資源時用了GET,因為用POST必須要到FORM(表單),這樣會麻煩一點。

  2.對資源的增,刪,改,查操作,其實都可以通過GET/POST完成,不需要用到PUT和DELETE。

  3.另外一個是,早期的Web MVC架構設計者們並沒有有意識地將URL當作抽象的資源來看待和設計,所以導致一個比較嚴重的問題是傳統的Web MVC架構基本上都只支援GET和POST兩種HTTP方法,而不支援PUT和DELETE方法。

   * 簡單解釋一下MVC:MVC本來是存在於Desktop程式中的,M是指資料模型,V是指使用者介面,C則是控制器。使用MVC的目的是將M和V的實現代碼分離,從而使同一個程式可以使用不同的表現形式。





HTTP協議中方法Get與Post的不同是什?

Get:是以實體的方式得到由請求URI所指定資源的資訊,如果請求URI只是一個資料產生過程,那麼最終要在響應實體中返回的是處理過程的結果所指向的資源,而不是處理過程的描述。

Post:用來向目的伺服器發出請求,要求它接受被附在請求後的實體,並把它當作請求隊列中請求URI所指定資源的附加新子項,Post被設計成用統一的方法實現下列功能:
1:對現有資源的解釋
2:向電子公告欄、新聞群組、郵件清單或類似討論群組發資訊。
3:提交資料區塊
4:通過附加操作來擴充資料庫

從上面描述可以看出,Get是向伺服器發索取資料的一種請求;而Post是向伺服器提交資料的一種請求,要提交的資料位元於資訊頭後面的實體中。
 
10.對於HTTP的POST方式,使用者提交的表單資料位元於HTTP的哪一部分? b a) 頭中 …………………

Http之Get/Post請求區別
1.HTTP請求格式:

<request line>

<headers>

<blank line>

[<request-body>]

在HTTP請求中,第一行必須是一個請求行(request line),用來說明請求類型、要訪問的資源以及使用的HTTP版本。緊接著是一個首部(header)小節,用來說明伺服器要使用的附加資訊。在首部之後是一個空行,再此之後可以添加任意的其他資料[稱之為主體(body)]。

1. get是從伺服器上擷取資料,post是向伺服器傳送資料。
get 和 post只是一種傳遞資料的方式,get也可以把資料傳到伺服器,他們的本質都是發送請求和接收結果。只是組織格式和資料量上面有差別,http協議裡面有介紹
2. get是把參數資料隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個欄位一一對應,在URL中可以看到。post是通過HTTP post機制,將表單內各個欄位與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。使用者看不到這個過程。
因為get設計成傳輸小資料,而且最好是不修改伺服器的資料,所以瀏覽器一般都在地址欄裡面可以看到,但post一般都用來傳遞大資料,或比較隱私的資料,所以在地址欄看不到,能不能看到不是協議規定,是瀏覽器規定的。
3. 對於get方式,伺服器端用Request.QueryString擷取變數的值,對於post方式,伺服器端用Request.Form擷取提交的資料。
沒明白,怎麼獲得變數和你的伺服器有關,和get或post無關,伺服器都對這些請求做了封裝
4. get傳送的資料量較小,不能大於2KB。post傳送的資料量較大,一般被預設為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
post基本沒有限制,我想大家都上傳過檔案,都是用post方式的。只不過要修改form裡面的那個type參數
5. get安全性非常低,post安全性較高。
如果沒有加密,他們安全層級都是一樣的,隨便一個監聽器都可以把所有的資料監聽到,不信你自己下一個監聽網路資源的軟體,

Get是向伺服器發索取資料的一種請求,而Post是向伺服器提交資料的一種請求,在FORM(表單)中,Method預設為"GET",實質上,GET和POST只是發送機制不同,並不是一個取一個發!
Http定義了與伺服器互動的不同方法,最基本的方法有4種,分別是GET,POST,PUT,DELETE。URL全稱是資源描述符,我們可以這樣認為:一個URL地址,它用於描述一個網路上的資源,而HTTP中的GET,POST,PUT,DELETE就對應著對這個資源的查,改,增,刪4個操作。到這裡,大家應該有個大概的瞭解了,GET一般用於擷取/查詢資源資訊,而POST一般用於更新資源資訊。
1.根據HTTP規範,GET用於資訊擷取,而且應該是安全的和等冪的。

(1).所謂安全的意味著該操作用於擷取資訊而非修改資訊。換句話說,GET 請求一般不應產生副作用。就是說,它僅僅是擷取資源資訊,就像資料庫查詢一樣,不會修改,增加資料,不會影響資源的狀態。

* 注意:這裡安全的含義僅僅是指是非修改資訊。

(2).等冪的意味著對同一URL的多個請求應該返回同樣的結果。這裡我再解釋一下等冪這個概念:

等冪(idempote......餘下全文>>
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.