计算机网络面经
文章目录
- 基础
- HTTP
-
- HTTP报文结构 (注意)
- RPC和http的区别
- TCP
-
- TCP报文结构(注意)
- IP
基础
HTTP
HTTP报文结构 (注意)
请求行:请求方法get/post,url,http版本
请求头:用户标识,请求体长度,类型,cookie
请求体:内容
状态行:状态码,状态消息、(http版本)
响应头:内容长度,内容类型
响应体:内容
RPC和http的区别
RPC是远程过程调用,允许一个程序调用位于另一台计算机上的子程序或服务,就像调用本地函数一样,相较于http更专注于远程过程调用和高效的通信;而HTTP则更适用于传输超文本和其他资源。
- tcp粘包怎么处理:约定bit数切割
TCP粘包是指TCP的缓冲区内包含多个应用层报文
原因: 一个TCP报文包含多个应用层报文接收方未能及时从TCP缓冲区中读取数据
解决方法: 应用层报文添加包含数据长度的头部设置应用层报文的开始与结束标志应用层报文固定长度
- https和http区别
端口不同:HTTP使用的是80端口,HTTPS使用443端口;HTTP(超文本传输协议)信息是明文传输,HTTPS运行在SSL(Secure Socket Layer)之上,添加了加密和认证机制,更加安全;HTTPS由于加密解密会带来更大的CPU和内存开销;HTTPS通信需要证书,一般需要向证书颁发机构(CA)购买
- TLS4次握手:
客户端发起加密通信请求,协商加密和摘要算法->服务端确定加密和摘要算法和数字证书(CA)->客户端校验证书,取出公钥,对前面协商的2个随机数+再生成一个随机数加密成【会话密钥】,后续使用这个密钥加密传输;发送随机数+加密方式改变+握手结束通知->服务器使用私钥生成【会话密钥】,握手结束。
- ssl连接过程
协商加密和摘要算法->返回证书-> 验证证书合法性,利用公钥获得数字签名->公钥加密对称秘钥和对称秘钥加密的报文摘要->服务器根据私钥获得对称秘钥,解密报文摘要,和计算的报文摘要对比->ssl建立完成
- 非对称加密和对称加密
对称加密:加密和解密采用相同的密钥。如:DES、RC2、RC4 非对称加密:需要两个密钥:公钥和私钥。如果用公钥加密,需要用私钥才能解密。如:RSA * 区别:对称加密速度更快,通常用于大量数据的加密;非对称加密安全性更高(不需要传送私钥)
对称密钥加密来保证通信内容的保密性和传输效率,同时使用非对称密钥加密来保证通信双方的身份验证和会话密钥的安全传输。
- CA具体如何实现数字签名认证的
服务器把自己的公钥注册到CA
CA用自己的私钥将服务器的公钥数字签名并颁发数字证书
客户端拿到服务器的数字证书后,使用CA的公钥确认服务器的数字证书的真实性
从数字证书获取服务器公钥后使用它对报文加密后发送,服务器用私钥对报文解密
- 摘要算法
客户端在发送明⽂之前会通过摘要算法算出明⽂的摘要值,发送的时候把「摘要值 + 明⽂」⼀同加密成密⽂后,发送给服务器,服务器解密后,⽤相同的摘要算法算出发送过来的明⽂,通过⽐较客户端携带的「摘要值」和当前算出的「摘要值」,若「摘