前端浅谈-协议相关(DNS协议)】的更多相关文章

从应用层到实体层的协议太多了,我们并不能一一涉及,目前来说就打算整理可能会与前端相关的协议. 前端面试常会问到一个问题-"从输入一个url到页面渲染经历了哪些过程".这其实是一个相当复杂的过程,所以总结的时候常常是归纳了几个重要的步骤.而这次我将尝试通过结合协议的方式去理解它们. URL组成 首先,我们需要先了解网址的组成.举例说明 未解析版 https://i.cnblogs.com/posts/edit https----->https协议 i.cnblogs.com ---…
[前五篇]系列文章传送门: 网络协议 11 - Socket 编程(下):眼见为实耳听为虚 网络协议 12 - HTTP 协议:常用而不简单 网络协议 13 - HTTPS 协议:加密路上无尽头 网络协议 14 - 流媒体协议:要说爱你不容易 网络协议 15 - DNS 协议:网络世界的地址簿     为什么在地址栏输入域名,就能直接访问到对应服务器?全局负载均衡和内部负载均衡又是什么?这些都和 DNS 解析息息相关,让我们一起来解密 DNS 解析.     其实说起 DNS 解析,应该都知道它…
当DNS工作完之后得到了一个网址 https//192.168.1.255/index.html 这个并不符合标准的请求路径.接下来就是https的功能了.讲https前先讲讲它的前身http协议 HTTP协议 http协议是超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准.设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法. 说得通俗一点就是,请求和响应的规范.和其他的…
TCP连接 http的描述里面,我弱化了交互过程的描述,因为它相对复杂.所以我在此单独描述.客户端和服务端传递数据时过程相对谨慎和复杂,主要是开始和结束的过程.而这整个过程就是TCP连接.连接流程大体包括: 三次握手 握手是见面时建立信任的过程.其主要目的是确认彼此的身份和明确是确认有需求而不是来找茬的.所以这里需要几个关键词:   请求/响应方的身份证:seq(客户端/服务器的标记序号)       标志位:SYN/FIN/ACK等等       确认信息内容:ack(seq+ACK) 这里要…
协议和代理对于一个新手来说确实不讨好理解,也有很多的iOS开发的老手对此是懂非懂的.网上的很多博文只是讲了怎么使用,并没有说的很明白.下面我谈一下我的理解. 1.你要先搞明白,协议和代理为什么会出现,也就是说它存在的意义是什么,解决了什么问题. 协议和代理是模块化开发和封装的产物. 先讲一个小故事帮助大家理解: 老王有一家餐馆,刚刚开始的时候规模很小,所以老王一个人做了所有的事情:扫地,做菜,迎宾,上菜,收银.但是后面随着规模的扩大,老王一个人就吃不消了,忙死也忙不过来了.这时候怎么办?大家都很…
前言 本篇文章将模拟一个KV数据读写服务,从提供单一节点读写服务,到结合分布式一致性协议(Raft)后,逐步扩展为一个分布式的,满足一致性读写需求的读写服务的过程. 其中将配合引入Raft协议的种种概念:选主.一致性.共识.安全等,通篇阅读之后,将帮助你深刻理解什么是分布式一致性协议. 一. 单机KV数据读写服务 DB Engine这里可以简单看成对数据的状态进行存储(比如B+树型的组织形式),负责存储KV的内容 ,并假设这个KV服务将提供如下接口: Get(key) -> value Put(…
为什么在地址栏输入域名,就能直接访问到对应服务器?全局负载均衡和内部负载均衡又是什么?这些都和 DNS 解析息息相关,让我们一起来解密 DNS 解析.     其实说起 DNS 解析,应该都知道它很像地址簿.就像我们去一家新开的沃尔玛超市,通过地址簿查出来沃尔玛在哪条路多少号,然后再去找.     在网络世界中,也是这样的.我们可以记住网站的名称,但是很难记住网站的 IP 地址,因此需要一个“地址簿”,帮我们将网站名称转换成 IP.这个“地址簿”就是 DNS 服务器. DNS 服务器     对…
前言 当有多个共享资源.协同操作的时候,往往需要根据动态亦或是复杂的条件以控制和调用程序逻辑. 还是那句话,懂的人自然懂,不懂的人也搜不到这个随笔. 设计 PendingPromise<T>: type Promise<T> & { resolve:(res?:T)=>void, reject:(e: Error):void } pendingResolve<T>: ()=>PendingPromise<T> 实现 export type…
这里主要想详细的分析一下浏览器渲染过程,但东西比较多.所以分成多个部分. JS由三个部分组成,分别为ECMAScript.BOM.DOM. 其中BOM是浏览器层面的东西,而DOM是页面层面的东西.简单来说,BOM是包含整个浏览器的,它的核心对象是window,而DOM是页面里的所有东西,它的核心对象是document,而window是包含document的,但是浏览器可以有很多个,所有就有很多不同的BOM.而要想同一个页面在不同的浏览器里都显示,就必须有规则.所以document又是不同于其他的…
[前五篇]系列文章传送门: 网络协议 14 - 流媒体协议:要说爱你不容易 网络协议 15 - P2P 协议:小种子大学问 网络协议 16 - DNS 协议:网络世界的地址簿 网络协议 17 - HTTPDNS:私人定制的 DNS 服务 网络协议 18 - CDN:家门口的小卖铺     这几年微服务很火,想必各位博友或多或少的都接触过.微服务概念中, 各服务间的相互调用是不可或缺的一环.你知道微服务之间是通过什么方式相互调用的吗?     你可能说,这还不简单,用 socket 呗.服务之间分…