HTTP請求(GET與POST區別)和響應

2021-09-30 04:09:34 字數 2685 閱讀 6393

http有兩部分組成:請求與響應,下面分別整理。

一.http請求

1.http請求格式:

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

2.get與post區別

http 定義了與伺服器互動的不同方法,最基本的方法是 get 和 post(ajax開發,關心的只有get請求和post請求)。

get與post方法有以下區別:

(1)   在客戶端,get方式在通過url提交資料,資料在url中可以看到;post方式,資料放置在html header內提交。

(2)   get方式提交的資料最多只能有1024位元組,而post則沒有此限制。

(3)   安全性問題。正如在(1)中提到,使用 get 的時候,引數會顯示在位址列上,而 post 不會。所以,如果這些資料是中文資料而且是非敏感資料,那麼使用 get;如果使用者輸入的資料不是中文字元而且包含敏感資料,那麼還是使用 post為好。

(4)   安全的和冪等的。所謂安全的意味著該操作用於獲取資訊而非修改資訊。冪等的意味著對同一 url 的多個請求應該返回同樣的結果。完整的定義並不像看起來那樣嚴格。換句話說,get 請求一般不應產生***。從根本上講,其目標是當使用者開啟乙個鏈結時,她可以確信從自身的角度來看沒有改變資源。比如,新聞站點的頭版不斷更新。雖然第二次請求會返回不同的一批新聞,該操作仍然被認為是安全的和冪等的,因為它總是返回當前的新聞。反之亦然。post 請求就不那麼輕鬆了。post 表示可能改變伺服器上的資源的請求。仍然以新聞站點為例,讀者對文章的註解應該通過 post 請求實現,因為在註解提交之後站點已經不同了(比方說文章下面出現一條註解)。

get與post方法例項:

注: (crlf)表示此處有乙個回車換行符 /r/n

get例項    

post例項

3.表單提交中get和post方式的區別歸納如下幾點:

(1)get是從伺服器上獲取資料,post是向伺服器傳送資料。

(2)對於表單的提交方式,在伺服器端只能用request.querystring來獲取get方式提交來的資料,用post方式提交的資料只能用request.form來獲取。

(3)一般來說,盡量避免使用get方式提交表單,因為有可能會導致安全問題。比如說在登陸表單中用get方式,使用者輸入的使用者名稱和密碼將在位址列中暴露無遺。但是在分頁程式中,用get方式就比用post好。

二.http響應

1.http響應格式:

在響應中唯一真正的區別在於第一行中用狀態資訊代替了請求資訊。狀態行(status line)通過提供乙個狀態碼來說明所請求的資源情況。

http響應例項:

2.最常用的狀態碼有:

◆200 (ok): 找到了該資源,並且一切正常。

◆304 (not modified): 該資源在上次請求之後沒有任何修改。這通常用於瀏覽器的快取機制。

◆401 (unauthorized): 客戶端無權訪問該資源。這通常會使得瀏覽器要求使用者輸入使用者名稱和密碼,以登入到伺服器。

◆403 (forbidden): 客戶端未能獲得授權。這通常是在401之後輸入了不正確的使用者名稱或密碼。

◆404 (not found): 在指定的位置不存在所申請的資源。

Http方法 Get請求與Post請求的區別

http方法 get請求與post請求的區別 get是向伺服器發索取資料的一種請求,而post是向伺服器提交資料的一種請求 get是獲取資訊,而不是修改資訊,類似資料庫查詢功能一樣,資料不會被修改 get請求的引數會跟在url後進行傳遞,請求的資料會附在url之後,以?分割url和傳輸資料,引數之間...

HTTP中的get請求與post請求

首先,我先介紹一下http請求的基本原理 假如我們在瀏覽器中輸入乙個 訪問的話,其實這就是乙個get請求。get一般是用於獲取 查詢資源資訊,而post一般是用於更新資源資訊。get請求例項 get host weibo.com 上面3行是get請求的例項,我們從例項中可以看到是請求的url位址,而...

http請求get與post的區別

1.get請求的資料會附在url之後 就是把資料放置在http協議頭中 以?分割url和傳輸資料,引數之間以 相連,如 login.action?name hyddd password idontknow verify e4 bd a0 e5 a5 bd。如果資料是英文本母 數字,原樣傳送,如果是空...