Http(s)與後臺互動方式

我想嘿嘿發表於2018-12-11

前言

Http(s)是前後端互動的主要方式之一,互動技術主要有:Ajax(XMLHttpRequest)、Fetch、地址跳轉(window.open、location.href)。Http(s)與後臺互動傳遞資料的部分有:請求網址、請求頭、請求主體、響應頭、響應主體

請求網址

請求網址是通過pathname或search進行傳遞資料給後端,缺點就是:1.暴露資料資訊 ,2.互動資料有長度限制,但也常用於解決地址跳轉、授權回撥、檔案授權下載等

請求頭

請求頭部分傳遞給後端主要是一些輔助資料或固定資料,例如userAgent、cookies、token等,如每次互動都需要帶上的資料(sessionId等)會放在Cookie請求頭上,瀏覽器會在請求上自動帶上這些資料

請求主體

在使用POST、PUT方法時,會有請求主體,請求主體適用於傳遞大量資料和自定義資料,大部分情況下業務資料都是通過這種方式傳遞給後臺

響應頭

響應頭主要是後臺返回給前端的一些輔助資料,例如set-cookie、server、version等

響應主體

響應主體是前端主要解析的資料,返回主要的業務資料,內容格式有:網頁內容、JavaScript指令碼、Css樣式、檔案二進位制等

結論

本質上請求資料無論是放在請求網址、請求頭還是請求主體,其實都是無差別的,而放在不同請求位置上是因為這些位置有不同的特點(如cookie會每次請求都自動帶上、請求網址有長度限制),同樣響應資料也是如此。

相關文章