获得徽章 1
- #青训营笔记创作活动#
1月20日 打卡day3
一.http服务器主动发消息给客户端的场景实现:
1.(伪)使用HTTP不断轮询
网页的前端代码里不断定时发HTTP请求到服务器,服务器收到请求后给客户端响应消息。
缺点:
(1)当你打开F12页面时,你会发现满屏的HTTP请求。虽然很小,但这其实也消耗带宽,同时也会增加下游服务器的负担。
(2)最坏情况下,用户在扫码后,需要等个1~2s,正好才触发下一次http请求,然后才跳转页面,用户会感到明显的卡顿。
2.长轮询
如果我们的HTTP请求将超时设置的很大,比如30s,在这30s内只要服务器收到了扫码请求,就立马返回给客户端网页。如果超时,那就立马发起下一次请求。
优点:(1)减少了HTTP请求的个数
二.websocket
1.websocket:
(1)基于TCP的应用层协议
(2)同一时间里,双方都可以主动向对方发送数据。
2.怎么建立websocket连接
(1)浏览器在TCP三次握手建立连接之后,都统一使用HTTP协议先进行一次通信.
(2)想建立websocket连接,就会在HTTP请求里带上一些特殊的header头:
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Key: T2a6wZlAwhgQNqruZ2YUyg==\r\n
这些header头的意思是,浏览器想升级协议(Connection: Upgrade),并且想升级成websocket协议(Upgrade: websocket),同时带上一段随机生成的base64码(Sec-WebSocket-Key)。
(3)如果服务器正好支持升级成websocket协议,就会走websocket握手流程,同时根据客户端生成的base64码,用某个公开的算法变成另一段字符串,放在HTTP响应的 Sec-WebSocket-Accept 头里,同时带上101状态码,发回给浏览器。
(4)浏览器也用同样的公开算法将base64码转成另一段字符串,如果这段字符串跟服务器传回来的字符串一致,那验证通过。展开评论点赞 - #第五届青训营阅读打卡#
1月15日 打卡day2
DHCP(动态主机配置协议)在联网之后可以自动获取到本机需要的IP地址,子网掩码还有路由器地址。
1.DHCP获取IP地址时先向本地网段内所有人发送信息,非DHCP服务器会忽略信息,(广播)
2.DHCP服务器受到消息后会向该机器发送一个空闲的IP地址(经量单播,能收单播包的系统,会在发DHCP Discover阶段设一个 Broadcast flag = 0 (unicast) 的标志位)
3.,该机器受到该ip地址后会向服务器发送信息告知自己使用该IP地址,(广播)
4.服务器受到消息后会返回一个确认信息,机器就正式得到该ip地址了,如果该ip已经被占用就会被拒绝.(广播)
DHCP是应用层的协议,基于传输层UDP协议进行数据传输,无法使用tcp,因为TCP是面向连接的,而UDP是无连接的,DHCP一开始不知道与谁连接,无法建议连接.
DHCP分配下来的IP是有可能跟某台手动配置的IP地址重复的。
DHCP得到IP之后还会发3次无偿ARP通告,在确认没有冲突后开始使用这个IP。
UHCP得到IP过程:DHCP Discover->DHCP Offer->DHCP Request->DHCP ACK展开评论点赞 - #青训营笔记创作活动#
1月13日 打卡day1
今天了解大佬对转go语言学习的一些建议.
了解了"DDD","DDD"就是Domain Driven Design(领域驱动设计),用于避免业务逻辑的复杂性和技术实现的复杂性耦合在一起.
"DDD"是用于告诉人们如何创建不同的领域,如何确定领域的边界。
DDD有一个有趣的观点:“不以用户为中心”,应该客观设计,无论谁用,这个领域都一样的.展开评论点赞