iOS 网络

2021-04-08  本文已影响0人  KAKA_move

HTTP协议

HTTPS与网络安全

TCP/UDP

DNS

session和cookie


HTTP协议

超文本传输协议

请求报文

get没有主体 post有主体

响应报文
HTTP的请求方式有哪些?

GET POST HEAD PUT DELETE OPTIONS

GET和POST方式的区别?
  1. GET请求参数以?分割拼接到URL后面的,post请求参数在主体里面。
  2. GET请求长度是2048个字符,POST一般没有限制
  3. GET请求安全,POST不安全

标准答案 = 从语义的角度

安全性

不引起server推断的任何状态变化
GET HEAD POST

幂等性

同一个请求方法执行多次和执行一次效果是完全相同的
GET PUT DELETE

可缓存性

请求能否被缓存
GET HEAD

状态码
HTTP协议连接流程
  1. 三次握手建立连接
  2. 在连接上面进行HTTP数据的请求和HTTP响应传递
  3. 四次挥手释放连接

为什么是三次握手和四次挥手?

HTTP的特点
持久连接
为了提升效率,重复使用连接
Charles抓包原理
中间人攻击

HTTPS与网络安全

HTTP与HTTPS区别

HTTPS = HTTP + SSL/TLS(安全模块)


IP网络层,TCP是传输层,HTTP应用层 SSL/TLS应用层之下传输层之上

HTTPS是安全的HTTP是SSL/TLS应用层之下传输层之上 这个模块保证

会话秘钥

会话秘钥 = random S + random C + 预主秘钥

HTTPS用了那些加密手段?为什么?
非对称加密
非对称
对称加密

对称加密会被中间人截获,因为要传递

TCP和UDP

传输层的协议
TCP是传输层控制协议
UDP是用户数据报协议

UDP (户数据报协议)
UDP用户数据报功能
  1. 复用、分用


    多端口复用和分用
  2. 差错检测


TCP

TCP特点
TCP面向连接

传输前建立连接
三次握手
传输后释放连接
四次挥手

TCP 可靠传输
解决方案:超时重传 确认丢失场景 确认迟到场景
TCP面向字节流

对比UDP面向报文


TCP流量控制

滑动窗口协议


滑动窗口机制
TCP拥塞控制

慢开始、拥塞避免
快恢复、快重传


慢开始、拥塞避免

快恢复、快重传不回到慢开始的步骤

DNS解析

你了解DNS解析吗?过程是怎么样的?

域名到IP地址的一个映射,DNS解析请求采用UDP数据报,而且是明文的

DNS解析的查询方式
DNS解析转发
DNS解析转发
怎么解决DNS劫持?

长连接

Session/Cookie

HTTP无状态特点补偿
HTTP Cookie
HTTP Session

网络相关面试总结

HTTP的get和set的区别?(语义角度)
HTTPS建立的流程是什么样的?(时序图 机密和证书)
TCP和UDP的区别?(特点)
TCP慢开始?(拥塞控制)
怎么避免DNS劫持?(两种)

上一篇下一篇

猜你喜欢

热点阅读