更新時間:2021-03-17 來源:黑馬程序員 瀏覽量:
(1)問題分析
考官主要是針對http協議請求方式的考核,比如:http協議其他的請求方式!GET方法和POST方法本質上的區別等。
(2)核心答案解析
GET一般用于獲取和查詢資源信息,指定的資源經服務器端解析后返回響應內容,必要時,可以將查詢字符串參數追加到URL末尾,以便將信息發送給服務器。POST一般用于更新資源信息,通常會用來傳輸實體的本體,用GET方法也可以傳輸實體的主體,但一般不用GET方法進行傳輸,而是用POST方法,雖然GET方法和POST方法很相似,但是POST的主要目的并不是獲取響應的主體內容。
(3)問題擴展
http協議其他的請求方式?
● HEAD:獲得報文首部,GET方法有實體,HEAD方法無實體。
● PUT:傳輸文件,就像FTP協議的文件上傳一樣,要求在請求報文的主體中包含文件內容,然后保存在請求URI指定的位置,存在安全問題,故一般不用。
● DELETE:刪除文件或資源,與PUT方法相反,按URI刪除指定資源
● OPTIONS:詢問支持的方法,客戶端詢問服務器可以提交哪些請求方法
● TRACE:追蹤路徑,讓Web服務器端將之前的請求通信還給客戶端的方法
● CONNECT:要求用隧道協議連接代理,實現用隧道協議進行TCP通信。
GET方法和POST方法本質上的區別?
1)GET方法用于信息獲取,它是安全的(安全:指非修改信息,如數據庫方面的信息),而POST方法是用于修改服務器上資源的請求;
2)GET請求的數據會附在URL之后,而POST方法提交的數據則放置在HTTP報文實體的主體里,所以POST方法的安全性比GET方法要高;
3)GET方法傳輸的數據量一般限制在2KB,而Chrome,FireFox瀏覽器理論上對于URL是沒有限制的,它真正的限制取決于操作系統本身;POST方法對于數據大小是無限制的,真正影響到數據大小的是服務器處理程序的能力。
(4)結合項目使用
在項目使用RESTful架構風格進行開發,GET用來獲取資源,POST用來新建資源(也可以用于更新資源),PUT用來更新資源,DELETE用來刪除資源,這樣就統一了數據操作的接口,僅通過HTTP方法,就可以完成對數據的所有增刪查改工作。
猜你喜歡: