HTTP請求方式及其區別


  一.請求方式

    所有的請求都可以給服務器傳遞內容,也可以從服務器獲取內容

    GET:從服務器獲取數據(給的少拿的多)

    POST:向服務器推送數據(給的多拿的少)

    DELETE:刪除服務器的一些內容

    PUT:向服務器存放一些內容

    HEAD:只請求頁面的頭部

    TRACE(或OPTIONS):發送一個探測性請求,如果返回了信息說明建立了連接

 

  二.GET VS POST

    1.傳遞給服務器信息的方式不一樣

      GET:基於URL地址“問號傳參”,POST基於“請求主體”把信息傳給服務器。(GET一般用於拿,POST一般用於推送內容)

    2.GET不安全,POST相對安全(記住是相對)

      因為GET是基於“問號傳參”把信息傳遞給服務器,容易被駭客進行URL劫持。POST是基於請求主體傳遞的,相對來說不好被劫持。所以涉及到登錄注冊等信息應使用POST。

    3.GET會產生不可控制的緩存,POST不會

      不可控:這是瀏覽器自主記憶的緩存,我們無法基於js控制,項目中會將去掉這個緩存。

      GET請求產生緩存的原因:連續多次向相同的地址(傳遞的參數也是一致的)發送請求,瀏覽器會把之前獲取的數據從緩存中拿到,導致無法從服務器獲取最新的數據(POST不會)。

      解決方案:

、、、
  xhr.open("GET",`/temp/list?lx=100$_=${new Date().getTime()}`);
//==>在末尾添加一個隨機數使每次請求的地址都不一致,從而阻止緩存的產生(使用_屬性名保證不與其他屬性名沖突),根本上不是等它產生了緩存采取處理它,而是從請求入手保證不產生緩存
、、、

 

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM