http是超文本传输协议 (HyperText Transfer Protocol)服务器传输超文本 到本地浏览器的传送协议,是互联网上应用最为流行的一种网络协议,用于 定义客户端浏览器和服务器之间交换数据的过程。
HTTP是一个基于TCP(传输层)/IP(网络层)通信协议来传递数据.
HTTP是一个属于应用层的协议,由于其简捷、快速的方式,适用于分布 式超媒体信息系统.
从web端发送到服务器端的请求目前都是http请求,有get方式请求,有post方式请求
在网页点击链接,提交表单,都是向服务器发送一个http请求
一个http请求包含三个部分:
1.请求行:请求方法,版本协议,请求地址
2.请求头:包含一些客户机的详细信息
3.请求体:请求体特指post请求方式发送的数据
在目前网页中,除了表单method=post以外都是get请求
get :主要从服务器端获取数据,可以传输少量数据,数据在地址中,会在地址栏中显示
相对不安全,数据传输数量有限
post:主要用于向服务器端发送数据 ,数据在请求中,不会显示在地址栏中,相对安全,长度没有限制
获取从前端传来的数据:req.getParameter(“password”);
doget 传输支持中文
post传递中文时,需要在接收之前设置解码的字符集: req.setCharacterEncoding(“utf-8”);接收之前设置
System.out.println(req.getContentLength());//请求内容长度
System.out.println(req.getServerPort()); // 服务器端口
System.out.println(req.getServerName()); // 主机名
System.out.println(req.getRemoteAddr());// 远端客户端ip
System.out.println(req.getRemotePort());// 客户端端口
System.out.println(req.getProtocol());// 请求协议
System.out.println(req.getScheme());// 请求方法
System.out.println(req.getMethod()); // 请求方式
System.out.println(req.getRequestURL()); // 请求地址
同步:同步方法表名调用一旦开始,调用者必须等待方法执行完成,才能继续执行后续方法
同步请求:发起表单的请求,是同步的,必须要等待服务器响应回来结果后,才可以继续向后执行,响应回来的内容,会将整个网页内容覆盖掉
异步:不同步,各干各的,,异步方法表名,方法一旦开始,立即返回,调用者无须等待其中方法执行完成,就可以继续执行后续方法
异步请求:发送异步请求,表示浏览器可以同时做多件事情
在浏览器中提供XMLHttpRequest对象,可以使用此对象向服务器代理发送请求
服务器响应方式与之前没有任何区别,响应的内容不会覆盖整个网页,响应内容会被XMLHttpRequest对象接收,就可以在js中局部的更改网页内容
使用XMLHttpRequest对象向另一个服务器发送请求是可以发送过去的,但是浏览器不允许在当前服务页面接收另一个服务器响应的内容
解决办法:前后端都可以解决,响应时在响应头中告诉浏览器我是安全的
npm install axios
在 main.js 中配置 axios 导入 axios import axios from ‘axios’; 设置访问后台服务器地址 axios.defaults.baseURL=“http://127.0.0.1:9999/api/”;
将 axios 挂载到 vue 全局对象中,使用 this 可以直接访问 Vue.prototype.$http=axios;