发表于: 2020-05-30 22:25:16

1 1985


今日完成


什么是互联网协议?
可以将互联网分成五层
每一层都是为了完成一种功能,为了实现功能,就需要共同遵守一些规则,这些规则就是“协议”。
每一层都定义了很多协议,这些协议的总称就是“互联网协议”。
实体层:将电脑连起来,通过光缆、电缆、无线电波等,作用是传输0和1的电信号。
链接层:以太网协议确定0和1的分组方式,以方便解读。以太网规定一组电信号构成一个数据包,叫做“帧”,包括标头和数据。数据包的发送地址和接收地址,叫做Mac地址(网卡标识)。
以太网通过“广播”(向本网络所有计算机发送数据包,对比标头的Mac地址,与自己的Mac地址相同就接收,不同就丢掉)的方式传递数据包。
网络层(主机到主机):通过IP协议给计算机分配网络地址(网址,即IP协议地址=IP地址),网络地址可以区分不同计算机是否处于同一个子网络。
这样每台计算机就有Mac地址和网络地址,网络地址帮我们确定计算机所在的子网络,Mac地址则将数据包发送到该子网络中的目标网卡。
传输层(端口到端口):有了MAC地址和IP地址,我们可以在任意两台主机上建立通信,但为了识别数据包对应的使用程序(进程),我们还需要一个参数,这个参数就是“端口”(port),
它是每一个使用网卡的程序的编号。通过UDP协议(用户数据报协议)给数据包加入端口信息,但UDP协议无法确定是否收到,所以TCP协议(传输控制协议)应运而生,以确保数据不会丢失。
应用层:应用层的作用是规定程序的数据格式,以方便解读。
什么是HTTP协议?
HTTP协议(超文本传输协议)是互联网协议中的一种,基于 TCP/IP 协议,属于应用层协议,是用于从服务器传输超文本到本地浏览器的传送协议。
什么是跨域?
跨域是指a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,或是a页面为ip地址,b页面为域名地址,所进行的访问行动都是跨域的,出于安全原因,浏览器限制从脚本内发起的跨源HTTP请求。
为什么Ajax不能跨域?
AJAX只能向同源网址(协议、域名、端口都相同)发出HTTP请求,如果发出跨源请求(跨域请求),就会报错(详见《同源政策》和《CORS机制》两节)。
引出nginx
Nginx配置反向代理
什么是反向代理?
正向代理
正向代理是指代理服务器代替用户连接目标服务器,比如翻墙。代理服务器代理的是用户。一个类比是:假设我(用户)找我爸爸(代理服务器)借钱,老爸没钱,
于是老爸找我妈(目标服务器)借了钱,然后把钱给了我。我的目的是得到钱(用户访问目标服务器获取资源),而我妈只知道把钱给了我爸(目标服务器对接代理服务器),
而不知道实际上是我要钱(不知道代理服务器背后的用户)。
反向代理
反向代理是代理服务器代替目标服务器连接用户。比如CDN服务。代理服务器代理的是目标服务器,功能是将请求发给目标服务器提供服务。
一个类比是:我(用户)打电话给10086(代理服务器)找客服(目标服务器)解决问题,我只能通过10086联系客服,不能直接连接客服,而且打给10086后我也不知道系统会分配哪个客服给我。
描述:基于师兄理解之上,我的理解:
1.正想代理,是用户发送某种请求,且以代理服务器为中转,由它代替用户,想目标服务器发送请求;
而反向代理,代理服务器,是代替目标服务器,返回数据给用户
2.服务器:存放数据,接收数据请求,回应数据请求。A–>B–>A(A:请求方,B:接收方,服务器)
A–>B–>C–>B–>A(A:请求方,B:反向代理服务器,C:目标服务器,真正的接收方)增加一个代理服发送/返回,都经过代理中转,发送就是正想的(代替用户发送请求),返回时就是反向的(代替目标服务器返回数据),

发送/接收时,涉及到跨域问题,为解决这一问题,才在中间多了一道程序(相当于是两个独立的山头之间,架起的桥梁,两边不能直接交流,必须通过桥梁/代理服务器,来实现交互)

参考:

https://blog.csdn.net/tianxintiandisheng/article/details/81941293

在任务介绍的回复中,发现师兄写的博客,把任务重需要的东西串联起来,解释的也比较详细



返回列表 返回列表
评论

    分享到