HTTP協議中Get與Post請求

2021-09-12 07:03:23 字數 1824 閱讀 2514

前言

這一段時間又了解到了一些自己之前沒有接觸過的東西,感覺挺容易混淆的,於是在學習完之後,就對其就行了總結、區分!

分享

首先,http協議中包含了四種提交方式:get,post,delete,和put;get和post是最常見的兩種。

(1)如果表單是以get方式將資料傳送到服務端,那麼會將使用者在表單中輸入的資料放在瀏覽器的位址列中傳送到服務端(包括賬號,密碼都是顯示出來的,所以不安全)

格式:http://localhost:13840/requestmethod/addinfo.ashx?txtname=itcast&txtpwd=123

結果:

以表單元素name屬性的值=使用者輸入的值&以表單元素name屬性的值=使用者輸入的值

在服務端接收資料:

string username = context.request.querystring[「txtname」];//接收的是表單元素name屬性的值,querystring只能接收get型別的,form接收post型別的

string userpwd = context.request.querystring[「txtpwd」];//接收值

(2)如果資料以post提交,那麼表單中的資料全部都放在請求報文的請求體中,可以傳送的資料比get大,搜尋的時候一般用get

格式:http://localhost:13840/requestmethod/addinfo.ashx

在服務端接收檔案的時候:

string userpwd = context.request.form[「txtpwd」];//接收post型別的

string userpwd = context.request.form[「txtpwd」];

string username = context.request.querystring[「txtname」];//接收的是表單元素name屬性的值,querystring只能接收get型別的,form接收post型別的

小結

①get請求會被瀏覽器主動進行快取,而post不會(除非是手動設定)

②get的請求引數會永遠儲存在瀏覽器的記錄裡,但是post中的引數不會被保留

③get的安全性比較低,post的安全性相對較高

④get請求會在請求之前對非ascii字元進行轉碼,而post則不需要轉碼(因為post在request body中,可以傳輸非ascii字元)

⑤他們都是基於http這個準則,都是tcp鏈結,他們做的事兒是一樣的,如果都用get,在request body中隱藏了資料,不同的伺服器處理方式是不同的,有的伺服器會漏掉一些資料,有的乾脆就直接跳過。

⑥get產生乙個tcp資料報,post產生兩個tcp資料報(firefox在post中只傳送一次)

⑦get是向伺服器發索取資料的一種請求,post是向伺服器提交資料的一種請求

⑧只是在做簡單的查詢統計的時候(不涉及安全問題),用get比較好,而做資料新增、刪除、修改的時候(設計安全性問題時),要用post請求

HTTP協議中Post與Get的區別。

http 定義了與伺服器互動的不同方法,最常用的有4種 put 增 delete 刪 post 改 get 查 即增刪改查。1 get 它用於獲取資訊,注意,他只是獲取 查詢資料,也就是說它不會修改伺服器上的資料,從這點來講,它是資料安全的。而post是可以修改資料的,所以這也是兩者差別之一。3 d...

Http協議中的get和post

http中post和get區別,是不是用get的方法用post都能辦到?http定義了與伺服器互動的不同方法,最基本的方法有4種,分別是get,post,put,delete。url全稱是資源描述符,我們可以這樣認為 乙個url位址,它用於描述乙個網路上的資源,而http中的get,post,put...

HTTP協議中GET請求與POST請求的區別

在http的八種請求方式中,最常用的兩種請求方式為get方式與post方式,今天我們來分析以下兩種請求方式的區別 方面get請求 post請求 是否可見 get請求的請求資訊會直接顯示在url位址列中,可以被使用者直接看到 post請求資訊不會顯示在位址列中,也不會儲存在瀏覽記錄中 傳輸長度 受到u...