项目做好以后,需要让所有人都能访问到,项目放在本机电脑上是无用的,除非将项目上线。
上线就是将项目上传到远程服务器,大家就能访问了。
服务器:其实就是一台远程电脑。远程电脑不一定是服务器;需要开启特殊的服务
==>
能被别人访问的服务。
这个服务如何开启?可以通过安装软件:
nginx
、
tomcat
、
apache
、。。。
<div className="right-top-top">
<div className="right-top-left">
<img src={electric} />
<span>总用电量{72670}</span>
</div>
<div className="right-top-right">
<img src={water} />
<span>总用电量{69035}</span>
</div>
</div>
.right-top-title div{
transform: rotateY(-180deg);
}
.right-top-echarts{
height: 290px;
background-color: rgba(255, 255, 255, .1);
margin-top: 10px
}
.right-top-top{
display: flex;
justify-content: space-between;
padding: 0 20px;
font-size: 14px;
}
.right-top-top>div{
border: 3px #4e7c7f solid;
height: 36px;
line-height: 36px;
padding: 0 4px;
}
.right-top-top>div img{
vertical-align: middle;
margin-right: 4px;
}
因为软件也是代码写的,
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')
设置传递的数据的格式。
token
请求头:
// axios
响应拦截器中
config.headers['Authorization'] = token
令牌
// post
请求设置数据格式
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
请求空行:空格和换行,用于分割请求头和请求主体,可以让后端更好的获取请求主体
请求主体:这次请求携带的信息
GET
的请求主体:
POST
的请求主体
响应
==>
响应报文
响应行
协议和版本
响应状态码
响应的状态描述
标准状态码:
1xx
:信息类
2xx
:成功类
3xx
:重定向类
4xx
:客户端错误类
5xx
:服务器错误类
常见状态码:
200
:
ok
304
:内容是从缓存中来的
302
:临时重定向
301
:永久重定向
401
:身份或权限验证失败(
token
出问题的时候)
403
:没有权限访问
404
:已经访问到目标服务器了,但是目标服务器中没有这个地址的响应,客户端写错地址了
405
:请求方法不对
500
:服务器内部错误
502
:网关错误
504
:网关超时
响应头
常见的响应头:
// cors
的响应头
Access-Control-Allow-Origin: '*/
指定的白名单
ip'
//
还有缓存相关的响应头:
expires eTag if-since....
响应主体
3
、断开连接:
4
次挥手
http
是无状态协议,每次通信之间是完全没有关联的