Http(s)与后台交互方式
时间:2018-12-11
本文章向大家介绍Http(s)与后台交互方式,主要包括Http(s)与后台交互方式相关应用实例、知识点总结和注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前言
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会每次请求都自动带上、请求网址有长度限制),同样响应数据也是如此。
- javascript 面向对象(实现继承的几种方式)
- Base64 的 JavaScript 实现 js-base64
- HTTP请求详解
- 漫谈Java IO之 NIO那些事儿
- 1593: [Usaco2008 Feb]Hotel 旅馆
- BZOJ 1823: [JSOI2010]满汉全席(2-SAT)
- 3360: [Usaco2004 Jan]算二十四
- JavaScript 数据类型
- 3361: [Usaco2004 Jan]培根距离
- Java NIO
- 1342: [Baltic2007]Sound静音问题
- 加深理解HTTP请求---网络基础TCP/IP
- BZOJ2199: [Usaco2011 Jan]奶牛议会(2-SAT)
- 数据结构之链表、栈和队列 java代码实现
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux使用 iftop 实时监控网卡的流量
- Centos中TCPWrappers访问控制实现
- CentOS7 重新分配分区大小的实现方法
- Linux 下安装pip包的方法
- Linux系统设置PATH环境变量(3种方法)
- leetcode栈之有效的括号
- linux系统安装iso文件方法
- xshell 远程登陆CentOS7 免密登陆的思路详解
- Linux服务器下Nginx与Apache共存的实现方法分析
- 浅析Linux中vsftpd服务配置(匿名,用户,虚拟用户)
- CentOS7开启MySQL8主从备份、每日定时全量备份(推荐)
- leetcode栈之用两个栈实现队列
- Ubuntu 18.04通过命令禁用/开启触控板
- 如何利用watch帮你重复执行命令
- Linux查看当前登录用户并踢出用户的命令