前言
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会每次请求都自动带上、请求网址有长度限制),同样响应数据也是如此。