首页 > 科技 >正文

网络知识十二问,你知道吗?

2021-02-02 17:05 • 稿源:码上积木

前言

过年倒计时~

今天是网络篇的最后一篇,网络知识也是面试常考内容,所以必须要把基础打牢。

网络十二问,送给大家。

这些问题,你能答上来吗

我总结了下网络方面会涉及到的一些问题,大家看看,如果都能答上来,那这篇文章就可以略过了。

网络通信的过程,以及中间用了什么协议? TCP连接过程,三次握手和四次挥手,为什么? 常用的状态码。 讲一下TCP协议和UDP协议的区别和场景 socket和WebSocket Https的链接建立过程 讲解一下数字签名,为什么真实可靠 证书链安全机制 建立过程耗时,那么怎么优化呢? 讲一下Http和Https的区别 Http传输图片有哪些方式 怎么实现分块传输,断点续传?

网络通信的过程,以及中间用了什么协议

这个问题我之前专门做了一个动画,大家可以翻到上一篇文章看看:

网络数据原来是这么传输的(结合动画解析)

再简单总结下:

客户端:

1、在浏览器输入网址 2、浏览器解析网址,并生成http请求消息 3、浏览器调用系统解析器,发送消息到DNS服务器查询域名对应的ip 4、拿到ip后,和请求消息一起交给操作系统协议栈的TCP模块 5、将数据分成一个个数据包,并加上TCP报头形成TCP数据包 6、TCP报头包括发送方端口号、接收方端口号、数据包的序号、ACK号。 7、然后将TCP消息交给IP模块。 8、IP模块会添加IP头部和MAC头部。 9、IP头部包括IP地址,为IP模块使用,MAC头部包括MAC地址,为数据链路层使用。 10、IP模块会把整个消息包交给网络硬件,也就是数据链路层,比如以太网,WIFI等 11、然后网卡会将这些包转换成电信号或者在光信号,通过网线或者光纤发送出去,再由路由器等转发设备送达接收方。

服务器端:

1、数据包到达服务器的数据链路层,比如以太网,然后会将其转换为数据包(数字信号)交给IP模块。 2、IP模块会将MAC头部和IP头部后面的内容,也就是TCP数据包发送给TCP模块。 3、TCP模块会解析TCP头信息,然后和客户端沟通表示收到这个数据包了。 4、TCP模块在收到消息的所有数据包之后,就会封装好消息,生成相应报文发给应用层,也就是HTTP层。 5、HTTP层收到消息,比如是HTML数据,就会解析这个HTML数据,最终绘制到浏览器页面上。

TCP连接过程,三次握手和四次挥手,为什么?

连接阶段(三次握手):

创建套接字Socket,服务器会在启动的时候就创建好,客户端是在需要访问服务器的时候创建套接字 然后发起连接操作,其实就是Socket的connect方法 这时候客户端会生成一个TCP数据包。这个数据包的TCP头部有三个重要信息:SYN、SEQ、ACK。
展开阅读全文
免责声明:"5G之家"的传媒资讯页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权
等问题,请与我们联系删除或处理。稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实
其内容的真实性,更不对您的投资构成建议。我们不鼓励任何形式的投资行为、购买使用行为。

相关推荐

关键词:

本站由阿里云提供计算和安全 Copyright ©5gzj.net. All Rights Reserved. 违法举报平台12377 浙ICP备20028707号-2