计算机网络知识点整理

本文详细介绍了计算机网络的工作流程,包括从输入网址到浏览器显示的过程,TCP三次握手和四次挥手的原因,以及TCP如何保证数据的可靠性。还探讨了DNS解析、HTTP请求、SSL/TLS安全机制以及TCP连接的长连接和短连接差异。通过这些知识点,揭示了网络通信背后的机制。

计算机网络

从输入网址到浏览器显示的过程

当我们将网址输入到浏览器后,第一件事就是解析URL得到域名,通过DNS协议得到改域名IP地址,接着通过IP地址与服务器通过TCP三次握手建立链接,然后构建HTTP请求,将HTTP的传输工作交给操作系统的协议栈;发送请求成功后,浏览器会从服务器那里得到HTML文件和资源文件,接着进行页面渲染,最后就是我们看到的模样。
这个过程中重要的几个知识点是DNS解析、HTTP请求、TCP/IP协议栈、页面渲染等,只用挑一两个着重介绍,其它略过。当然也可以继续扩展,HTTP和HTTPS的区别和联系,还可以说到对称加密和非对称加密,还可以说网络安全等,主要目的是让整个面试过程跟着你的技术栈走,而不是被面试官带到你不会的地方。
DNS解析:
浏览器拿到URL后,首先会对URL进行解析,将域名与实际文件路径分离,然后通过DNS协议得到该域名的IP地址。
首先浏览器会查询浏览器缓存,看有没有这个域名的IP地址,如果没有才会进一步访问本机缓存,若本机缓存也没有的话才会发起DNS请求。
DNS的服务器是一个树状结构,对于域名来说是倒着解析的,根节点是根DNS服务器,他的子节点是.com、.cn这种顶级域名服务器,然后进一步向下解析。
以baidu.com为例,电脑会先对根DNS服务器发起请求,根服务器IP地址一般每个电脑上都有,我们一般设置为8.8.8.8或114.114.114.114,电脑在访问根域名服务器后会得到.com域服务器的IP地址,然后访问.com域服务器得到baidu.com的IP地址。
HTTP请求
在解析URL时,我们可以得到域名、网站资源路径、端口号和参数,通过DNS请求得到域名IP地址后,浏览器就可以构建并发送HTTP或HTTPS请求,HTTPS就是在HTTP协议上加了一个TLS协议进行数据加密;
HTTP请求有很多种,但对资源的操作离不开增删查改,也就对应着POST、DELETE、GET、PUT。最常用的是GET和POST,其区别是GET请求的参数在URL中,而POST请求的参数在body中。很少用DELETE和PUT,这几个请求只是语义上不同,是为了让你的应用程序能够清晰的进行通讯,对HTTP本身来讲没什么区别,都能完成相同的功能。
以GET为例,当浏览器发送HTTP请求时,同样也不是直接发送了,先去查看浏览器缓存,分为强缓存和协商缓存,浏览器发起HTTP请求会首先根据HTTP头信息判断是否有强缓存,若强缓存命中且未过期,就不会向服务器发送请求了;如果强缓存没命中,浏览器就会发送HTTP请求,这个请求的header头会带有浏览器最后一次请求该资源的时间和资源校验码(使用资源修改时间、资源大小等信息生成),服务器收到请求后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值