Asp.net
GET 與 POST 真的很重要嗎?
好的,我知道目的的區別。GET 是獲取一些數據。發出請求並取回數據。POST 應該用於 CRUD 操作,而不是我認為的 read。但歸根結底,伺服器是否真的關心它最終是否接收到 GET 與 POST?
根據 HTTP RFC,GET 不應該有任何副作用,而 POST 可能有副作用。
最基本的例子是 GET 不適用於購買交易或將文章發佈到部落格等任何事情,而 POST 適用於具有後果的操作。
根據 RFC,您可以讓使用者對 POST 完成的操作(例如購買)負責,但不對 GET 操作負責。‘出於這個原因,機器人總是使用 GET。
9.1.1 安全方法
實施者應該意識到軟體代表了
他們在網際網路上的互動,並且應該小心讓使用者意識到他們可能採取的任何可能
對他們自己或他人產生意想不到的意義的行動。
特別是,已經建立了約定,即 GET 和
HEAD 方法不應該具有採取
除檢索之外的操作的意義。這些方法應該被認為是“安全的”。這允許使用者代理以特殊的方式表示其他方法,例如 POST、PUT 和 DELETE,以便使用者意識到正在請求可能不安全的操作。
當然,不可能確保伺服器不會
因為執行 GET 請求而產生副作用;事實上,一些動態資源認為這是一個特性。這裡的重要區別是使用者沒有請求副作用,因此不能對它們負責。
如果搜尋引擎正在抓取頁面,它會這樣做,因為它們將發出 GET 請求而不是 POST。假設您的頁面上有一個連結:
http://www.example.com/items.aspx?id=5&mode=delete如果在刪除之前沒有執行某種授權檢查,Googlebot 可能會進入並從您的頁面中刪除項目。