標籤:lin 規範 長度 發送 lan 通過 請求報文 監聽器 post方法
1.http請求
http有兩種報文,請求報文 (發送請求,可能包含資料)和響應報文(伺服器響應請求擷取資料)。一個http請求報文由請求行,要求標頭部,空行和請求本文(資料)四個部分組成。
HTTP請求: get: post:
<request line> //請求行 GET xx/index.html?name=1&age=1 HTTP/1.1 POST xx/index/html HTTP/1.1
<headers> //請求前序 Accept: */* Accept: */*
Accept-Language: zh-cn Accept-Language: zh-cn
host: localhost host: localhost
‘‘‘‘‘ ‘‘‘‘‘‘‘
<blank line> //空行
[<request body>] //請求本文(可選) name=1&age=1
2.區別
根據HTTP規範,get方法用於資訊擷取,而且是安全和等冪的,也就是說get請求不會修改資訊,僅僅擷取資訊資源,且每次擷取的資源是一致的。post方法表示可能修改伺服器上的資源的請求。get和post只是傳遞資料的方式,get方法也可以把資料傳遞到伺服器,他們的本質都是請求然後接收結果,並不是一個取一個發。
從http請求來看,get方法的資料直接體現在URL上,而post方法則儲存在請求本文中。所以,由於瀏覽器伺服器的原因,URL的長度是有長度限制的,所以get方法傳輸的資料也是有大小的限制,post方法不是通過URL傳值,理論上資料不受限制。使用get方法的時候。參數會在地址欄顯示,瀏覽器記錄也會記錄下來,對于敏感資料,隱私性方面post方法更合適,當然這些是瀏覽器規定的。他們的安全層級都是一樣的,如果沒有加密,任何一個監聽器都可以監聽到所有的資料。
在開發中應該使用GET來擷取查看資訊,不能改變伺服器資訊,POST用來改變伺服器資訊,這是HTTP協議的要求,眾多的瀏覽器都會遵照的原則,開發過程中同樣應該嚴格遵守,以免發生一些嚴重的後果。
http的get與post