1. 程式人生 > >HTTP、GET、POST、Response Code

HTTP、GET、POST、Response Code

說明 基於 就是 意思 不同 post 提交 一次 們的

簡短的說明下http協議、get與post請求的區別,以及請求對應的響應碼(Response Code)

HTTP

瀏覽器從Web服務器(或者叫應用服務器)上使用HTTP協議下載網站(應用程序),HTTP協議是基於一種 請求-響應(request-response)模型的。客戶端(瀏覽器)從運行在物理機制上的web應用請求數據,web應用反過來對瀏覽器的請求進行響應

重要的是:要記住通信總是有客戶端(瀏覽器)發起的,服務器(也就是web服務器)沒有辦法創建一個連接,發送沒有經過你請求的數據給你的瀏覽器,如果你從服務器上接受到數據,一定是因為你的瀏覽器顯示的發送了請求

HTTP GET

GET方法就像聽起來的樣子,從web服務器上get(請求)數據,GET請求是到目前為止最常見的一種HTTP請求,在一次GET請求過程中,web應用對請求頁面的HTML進行響應之外,不需要做任何事情。特別的,web應用在GET請求的結果中,不應該改變應用的狀態(比如,不能基於GET請求創建一個新的賬號),也就是說不能對數據進行維護,正是因為這個原因,GET請求通常被認為是“安全的”,是因為他們不會導致應用程序的改變

HTTP POST

顯然,除了簡單的查看頁面之外,我們還需要有更多與網站進行交互的操作。我們也能夠向應用發送數據,例如通過表單。為了達到這樣的目的,就需要有一種不同類型的請求方法:POST。Post請求通常攜帶由用戶輸入的數據,web應用厚道之後會產生一些行為,通過在表單裏輸入你的信息登陸一個網站,就是post提交表單的數據給web應用的。

不同與get請求,post請求通常會導致應用程序狀態的改變。在我們的例子中,當表單post之後,一個新的賬戶被創建。不同於get請求,post請求不總是生成一個新的HTML頁面發送到客戶端(瀏覽器),而是客戶端使用響應的響應碼(response code)來決定應用的操作是否成功。

HTTP Response Code

通常來說,web服務器返回200的響應碼,意思是“我已經完成了你要求我做的事情,一切正常”。響應碼總是一個三位數字的代號,web應用在每個響應的同時都發送一個這樣的代號,表明給定的請求的結果。響應200就是“OK”,對於POST而言,會有一個“204”這樣的content發送回來,意思是“一切都正常,可我不打算向你顯示任何東西”。Post請求仍然會發送一個特殊的URL,這個URL可能和提交數據的頁面不同,意識這一點至關重要。還是以我們的登陸為例,表當可能在www.sth.com/login頁面,點擊submit後可能會導致帶有表單數據的post請求發送到www.sth.com/logon頁面上。post請求要發送的位置在表單的HTML中有特別的標明。

HTTP、GET、POST、Response Code