iT邦幫忙

0

HTTP Method(HTTP動詞/HTTP方法)10/28更新

因為自己常記不住HTTP的幾個動詞所以自己來這邊寫一下
因為目前還沒做出自己的網出來所以會偏向在IT編寫一些程式相關筆記

HTTP稱為超文本傳輸協定, HTTP協定是一種無狀態協定(這都聽到爛掉了==)
意思就是是伺服器不會保存請求資料
詳細一點說明
MDN:意思是伺服器不會保存任兩個請求間的任何資料(狀態)
(我覺得這個意思比較難理解)
WIKI:把 每一個請求 都作為與 之前任何請求都無相關 的獨立事務的伺服器

大致就是HTTP是不會為了下次的連結而維護/保留此次連結中所傳輸的訊息
(個人認為><)

在傳統的HTML<from>中只有GET 跟 POST兩種方法
並沒有DELETE 或是PUT等方法

在瀏覽網頁時,其實會用各種HTTP方法去向Web伺服器取資料或送資料
最常見的是GET方法

HTTP協定中的9個方法

  • OPTIONS
  • HEAD
  • GET
  • POST
  • PUT
  • DELETE
  • TRACE
  • CONNECT
  • PATCH

這8種方式以不同的方法再操控資源
正確是9種
HTTP 請求方法


  • OPTIONS:此方法可以使伺服器傳回該資源所 支援的所有HTTP請求方法
  • HEAD:可以在不傳輸全部內容的情況下,就可以取得其中 關於該資源的資訊(源資訊或是元資料) 這還不是很懂之後會再研究更新上來
  • GET:向指定的資源發出顯示請求,GET方法只用在 讀 取資料
  • POST:向指定資源提交資料,請求伺服器進行處理(例如提交表單或上傳檔案) 資料被包含在'請求本文'中
  • PUT:向指定資源位置 上傳其最新的內容
  • DELETE:請求伺服器刪除 Request-URL 所標示的資源
  • TRACE:response回顯示伺服器收到的請求
  • CONNECT:HTTP1.1 協定中預留給 能夠將連線方式改為管道方式的代理伺服器 通常用於SSL加密伺服器的連結(經由非加密的HTTP代理伺服器)
    (CONNECT 完全不明白==)
  • PATCH:方法套用指定資源,的部分修改

補充:GET後面還有一句是
不應當被用於產生 副作用 的操作中(因為也不是很清楚這句話的意思之...之後再更新)


HTTP下的基本的POST與GET

  • 快取(Cache)
    快取真的很常被忽略,甚至是載寫web端的自己也從未去思考為何GET網頁時需要'清除快取並強制重新載入'這件事
    符合HTTP1.1第13節中
    GET的回應是可以被快取的,最基本的就是指定的URL沒有變化時,許多瀏覽器會從快取中取資料
    POST的回應通常,許多瀏覽器(不是全部)並不會快取,不過以HTTP1.1中的規範說,如果伺服器指定適當的如果伺服端指定適當的Cache-Control或Expires為標頭,仍可以對POST的回應進行快取

參考資料
Http Method(Http方法)介紹:
https://hackmd.io/@Not/rJoRFJa3S
重新認識HTTP請求方法
https://openhome.cc/Gossip/Programmer/HttpMethod.html
同樣是更新,HTTP 動詞中 PUT 和 PATCH的差別
https://medium.com/@icelandcheng/%E5%90%8C%E6%A8%A3%E6%98%AF%E6%9B%B4%E6%96%B0-http-%E5%8B%95%E8%A9%9E%E4%B8%AD-put-%E5%92%8C-patch%E7%9A%84%E5%B7%AE%E5%88%A5-171eee8790b9


尚未有邦友留言

立即登入留言