你應(yīng)該知道的HTTP Method知識
我們每天都要使用網(wǎng)絡(luò),例如你在網(wǎng)站上提交登錄表單時(shí),其實(shí)就是在向服務(wù)器發(fā)出請求。每次進(jìn)入新頁面時(shí),我們也都在不斷發(fā)出請求。發(fā)送出去的請求類型有好幾種,你可以在瀏覽器開發(fā)者工具中看到。
今天我們來快速了解這些HTTP請求的含義以及使用它們的場景,以下是一些最常見的請求。

瀏覽器開發(fā)者工具
GET
GET方法是一種常用的HTTP請求方法,你可以使用它去請求來自特定資源的數(shù)據(jù)。該資源可以是數(shù)據(jù)庫、blob存儲或其他類型的數(shù)據(jù)資源。
此方法僅用于請求數(shù)據(jù),而不能更改或添加新數(shù)據(jù)。如果需要向用戶顯示一些他們的信息,那你就可以使用此方法。不過要注意,請勿將這種方法與敏感信息一起使用,否則可能會被黑客截獲,造成關(guān)鍵數(shù)據(jù)泄露等風(fēng)險(xiǎn)。
POST
這是最常用的HTTP請求方法之一,因?yàn)樗悄憬邮苡脩糨斎氩?shù)據(jù)發(fā)送到服務(wù)器的方式。例如用戶創(chuàng)建新帳戶時(shí),這意味著需要向服務(wù)器發(fā)送POST請求。如果有人在網(wǎng)站上購買商品時(shí),則使用的也是POST方法。
信息從前端到后端的傳輸通常與POST方法有關(guān),它通常與HTML表單(Form)一起使用。此外,你也會在很多API場景中大量使用它們。不過必須小心POST請求,多次提交可能會重復(fù)提交表單,導(dǎo)致一些數(shù)據(jù)問題。
PUT
PUT請求與POST請求非常相似,它用于創(chuàng)建新資源或更新現(xiàn)有資源。與POST的主要區(qū)別在于調(diào)用該方法時(shí)所執(zhí)行的操作。與POST方法不同的是,多次調(diào)用PUT每次都會對數(shù)據(jù)資源產(chǎn)生相同的影響,但如果多次調(diào)用POST請求,則可能會導(dǎo)致重復(fù)數(shù)據(jù)或錯(cuò)誤數(shù)據(jù)。
如果某個(gè)資源(例如Blob存儲)已經(jīng)有了你要準(zhǔn)備創(chuàng)建的數(shù)據(jù)的實(shí)例,則只需對其進(jìn)行更新。但如果你使用POST請求,可能會得到重復(fù)的版本而不是更新的版本。
HEAD
HEAD請求與GET請求類似,但它不返回響應(yīng)主體,這意味著你將無法看到請求的詳細(xì)結(jié)果。
HEAD請求的最常見用法是當(dāng)你嘗試決定是否下載大文件時(shí),可以執(zhí)行HEAD請求,以向用戶顯示要下載的文件,然后根據(jù)他們的響應(yīng),可以運(yùn)行GET方法或不執(zhí)行任何操作。這種辦法可以為你節(jié)省一些帶寬,尤其是在用戶決定不下載文件的情況下。
OPTIONS
如果你已有一些現(xiàn)有代碼,但不確定它支持哪種請求方法時(shí),則可使用OPTIONS方法進(jìn)行檢查。發(fā)出此請求后,Web服務(wù)器將會返回其支持的其他HTTP請求方法的列表。如果你要弄清楚某個(gè)方法應(yīng)該用PUT還是POST請求,那可能會有所幫助。
如果你正在使用API,并且需要查看可以使用的方法,這也將很有幫助。獲得服務(wù)器允許的HTTP請求方法列表后,就可以開始執(zhí)行所需的操作。
后記
還有一些其他的方法,例如DELETE等,以上介紹的主要是常用的HTTP方法。
雖然HTTP請求是我們一直使用的東西,但是幾乎是無意識的,我們感受不到。不過,作為開發(fā)者的我們,要想編寫出合理的程序,尤其是在RESTful的開發(fā)模式中,更需要了解如何使用它們,并對其背后的概念有所了解。加油!

Http Method