项目做好以后,需要让所有人都能访问到,项目放在本机电脑上是无用的,除非将项目上线。
上线就是将项目上传到远程服务器,大家就能访问了。
服务器:其实就是一台远程电脑。远程电脑不一定是服务器;需要开启特殊的服务 ==> 能被别人访问的服务。
这个服务如何开启?可以通过安装软件:nginx、tomcat、apache、。。。
因为软件也是代码写的,nodejs写的服务器也是用来开启这个服务的
我们访问别人的资源,用本地目录的打开方式是无法访问到的,所以必须使用http才能访问到。
http:全称`HyperText transfer protocol`译文是超文本传输协议。
协议:保障双方利益
哪双方:服务器和客户端
什么利益:传输超文本,给出去,能收到
协议内容分3部分:这3个步骤都是由客户端主动开始的
1、建立连接
双方在确保通信的基础:
我方:
- 我方是否可以发消息
- 我方是否可以收消息
- 对方是否可以收消息
- 对方是否可以发消息
对方:
- 我方是否可以发消息
- 我方是否可以收消息
- 对方是否可以收消息
- 对方是否可以发消息
2、开始通信
请求 ==> 请求报文
- 请求行
- 请求方式
标准的请求方式:
GET ==> 查
POST ==> 增
PUT ==> 改
DELETE ==> 删
- 请求路径:不是完整的路径,在完整路径中去掉协议域名端口号以后的路径
- 协议和版本
GET和POST的区别: 请求头:一堆键值对
xhr.setHeader('Content-Type', 'application/x-www-form-urlencoded')
// axios响应拦截器中
config.headers['Authorization'] = token令牌
// post请求设置数据格式
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
- 响应 ==> 响应报文
- 响应行
- 协议和版本
- 响应状态码
- 响应的状态描述
标准状态码:
1xx:信息类
2xx:成功类
3xx:重定向类
4xx:客户端错误类
5xx:服务器错误类
常见状态码:
200:ok
304:内容是从缓存中来的
302:临时重定向
301:永久重定向
401:身份或权限验证失败(token出问题的时候)
403:没有权限访问
404:已经访问到目标服务器了,但是目标服务器中没有这个地址的响应,客户端写错地址了
405:请求方法不对
500:服务器内部错误
502:网关错误
504:网关超时
Access-Control-Allow-Origin: '*/指定的白名单ip'