查看答案
HTTP请求方式有下面几种
- GET 用于查询资源
- POST 用于创建资源
- PUT 用于修改资源
- DELETE 用于删除资源
- HEAD 测试服务器性能
- CONNECT SSL通信
- OPTIONS 测试服务器性能
- TRACE 测试链接
查看答案
- POST
提交参数加密 默认最大支持2M文件传输(服务器配置) 通常创建 修改 删除资源用POST请求
- GET
提交参数可见 最大支持参数1024K大小。支持缓存,所以平时可以来做CND加速。
查看答案
- TCP
TCP是面向传输流 传输可靠 不丢包。没有传输大小限制,支持一对一,需要三次握手链接。
- UDP
面向字节流 传输不可靠 容易丢包。传输大小限制64K,支持一对一,一对一,多对多,不需要握手就可以链接。
查看答案
为了回答这个问题,我们先距离一下。我们通常打电话也会有这样的过程,假设A和B进行打电话。假设必要A代表客户端,B代表后端。 A先问一下B你能听见我说话不,现在A完全不知道自己手机挺到和说话是否正常。B听到之后回复一句,我听到了,你能挺到我说话不。这个时候B确认A说话是正常的,并且自己接受是正常的。A听到之后回复我可以听见,我有事情问你。A听到B的回答确认自己说话正常,并且接受正常。B收到A的回应确认A接受正常,和自己发送正常。
- 第一次握手
A:你能听见我说话不
- 第二次握手
B:我听见了,你能听见我说话不
- 第三次握手
A:听得见,电话没有问题
下面是确认流程状态
- 第一次握手
- 客户端 收⚫️ 发⚫️
- 后端 收✅ 发⚫️
- 第二次握手
- 客户端 收✅ 发✅
- 后端 收✅ 发⚫️
- 第三次握手
- 客户端 收✅ 发✅
- 后端 收✅ 发✅
四次挥手是流程这样的,我们假设还是A和B打电话,准备要结束。A告诉B,我说完这一句就挂掉了,B收到之后告诉A我已经收到。之后发送B最后的回答。A收到B的回答之后告诉B,内容已经收到我挂了。 四次挥手过程
- 第一次挥手
A:太晚了,注意休息,准备挂了
- 第二次挥手
B: 好,是太晚了
- 第三次挥手
B:明天我再给你打电话 挂了吧
- 第四次挥手
A:明天打 挂了
查看答案
HTTP
是有客户端发起,链接之后就会关系,服务器不能主动给客户端发送消息。Scoket
是基于长连接,链接之后不会断开。客户端可以主动发消息给服务器,服务器也可以主动发消息给客户端。
查看答案
从下到上,分别是物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。
查看答案
HTTPS
是安全的HTTP
链接,HTTPS
就是在HTTP
加入了SSL
层。
查看答案
- 客户端发起请求到服务器
- 服务器返回证书给客户端
- 客户端根据根证书对服务器返回的证书进行验证
- 客户端根据对称密钥根据服务器证书加密返给服务器
- 服务器使用私钥对客户端的密钥解密
- 双方使用密钥进行加密传输
查看答案
对称加密就是加密和解密都使用同样的密钥,常用的AES
,DES
,3DES
。
查看答案
非对称加密是有一堆密钥 公钥 私钥组成,私钥只能一方掌管。常用的比如RSA
。
查看答案
Cookie是客户端会吧会话的SessionID保存,之后发起请求把回话的SessionID带给服务器。Session是保存会话身份,标识身份是SessionID,服务器可以同Session同过客户端传递的SessionID获取到身份信息.
查看答案
断点续传的原理是通过控制head
中的Range
值来做的,关键是需要后台服务器支持Range
。
查看答案
WebSocket
是应用的一层协议,是基于一次握手之后,就通过TCP
通道传输,和HTTP
没关任何关系。WebSocket
是基于Frame
传输的,可以将传输数据分为几片Frame
。解决了大数据传输问题,可以将大数据分割称不同小的Frame
传输。可以和HTTP
一样边生成边传输,提高了传输效率。
查看答案
心跳就是为了检测TCP
是否还在链接,通常由客户端发起,等待服务器响应。如果10秒没有回应就代表服务器或者客户端链接出现了问题。
查看答案
通过单利创建线程,在线程内部通过NSMachPort监听加入到当前的runloop
中,访问新建的线程没有任务就退出了。
查看答案
对于客户端伪装称服务器,对于服务器伪装称客户端。拦截客户端发送的真实请求,之后伪装客户端发送给服务器。接收到服务器的真实返回,通过自己的自签名证书向真实客户端响应内容。