计算机网络面试常见问题

HTTP缓存有什么好处?

缓存是一种保存资源副本并在下次请求时直接使用该副本的技术。当 web 缓存发现请求的资源已经被存储,它会拦截请求,返回该资源的拷贝,而不会去源服务器从新下载。这样带来的好处有:缓解服务器端压力,提高性能(获取资源的耗时更短了)。web

HTTP & HTTPS区别?

HTTP使用明文传输,无加密,使用80端口;HTTPS也是HTTP协议,使用了TLS/SSL加密。
SSL工做流程:
1. 协商加密算法
2. 服务器鉴别
3. 会话密钥计算
4. 安全数据传输
算法

SSL

TCP是什么,握手与挥手过程?

运输层的传输控制协议,面向链接的,有两个端点,经过socker链接,可靠交付, 全双工通讯,面向字节流。
关注同步位和确认位置1,序号,确认号,AB状态变化:
三报文握手:
缓存

tcp-connect

四挥手释放:

第二次挥手后,TCP 链接处于半关闭(half-dose)状态,B 能够向A传输数据

HTTP是长链接仍是短链接?

http1.0:
1. 客户端发出的报文header有“Connection:keep-alive”的请求。
2. 服务器接收后发现要求长链接,就在response的header中增长“Connection:keep-alive”,且不关闭链接。
3. 客户端收到服务端的response后,发现其中包含”Connection:keep-alive“,确认是一个长链接,不关闭这个链接。并用该链接再发送request。
4. 转到第一步,循环
http1.1:
1. 客户端直接发送http1.1,服务器自动断定为长链接,在response的header中增长“Connection:keep-alive”,且不关闭链接。
2. 客户端发现response中header有Connection:keep-alive,继续用这个链接发送请求。
4. 转到第一步,循环安全

服务器推送怎么实现?

这种技术是将全部的工做都交给服务器。服务器不断地运行与动态文档相 关联的应 用程序,按期更新信息,并发送更新过的文档。服务器

TCP/UDP/HTTP区别?

UDP用户数据报协议:
1. 无链接
2. 不可靠链接,尽最大努力交付
3. 面向报文
4. 没有拥堵控制
TCP传输控制协议:
1. 面向链接
2. 经过套接字的点对点链接
3. 可靠链接,有握手和挥手
4. 使用无结构字节流
HTTP超文本传输协议:
1. HTTP位于运输层上面的应用层,TCP、UDP都处于运输层
2. HTTP使用TCP链接网络

HTTP状态码?

序号 意义 说明
1xx 通知信息 表示请求收到了或正在处理
2xx 成功 表示接受或知道了
3xx 重定向 表示完成请求还要采起必须的行动
4xx 客户端错误 表示语法错误、不能完成
5xx 服务器错误 表示服务器失效

抓包工具,怎么抓包HTTPS?

Charles 假装为CA,Charles 经过本身的 CA 签名了一个本身的公钥,发送给客户端,客户端就误觉得是服务器了,这样以后的流程都会先走到 Charles 而后才会走到目标服务器。并发

TCP滑动窗口?

做用:确保可靠传输
1. A->B发送报文,B返回确认,说好窗口字节数和确认号。
2. A能够生成下一个窗口值大小窗口,B目标窗口是确认号。A再发送窗口,B返回最高位确认序号。
3. A对最高序号确认,根据确认号向前移动,B也向前移动。
tcp


用UDP实现TCP?

就模仿TCP嘛,或者使用RUDP,RTP
1. 增长相似握手挥手过程,添加seq/ack机制
2. 增长发送接收缓存
3. 超时重传机制工具

HTTPS公钥暴露怎么办?

公钥原本就是暴露,私钥才要保存好。如今通常使用RSA非堆成算法,私钥不暴露。性能

HTTP分段上传文件怎么保证正确?

分段就是断点续传。加强校验,好比实现 Last-Modified 来标识文件的最后修改时间,也可使用 ETag 头来放置文件的惟一标识。

计算机网络有哪几层,分别对应什么协议?

OSI七层,TCP四层,计算机网络五层


IP/TCP传输的都是什么数据?

IP传运输层TCP和UDP传过来的数据
TCP传应用层的HTTP、SMTP、FTP、DNS等的数据

DNS是什么,有什么做用?

域名系统,从域名解析出IP地址

对称/非对称加密?

对称:两边使用同样的密钥,例如AES非对称:两边不同密钥,一个公钥,向外公开,一个私钥,要保存好。例如RSA

相关文章
相关标签/搜索