网络通信(知识点总结)

368 阅读4分钟

网络模型

网络模型.jpg

HTTP

HTTP2.0

  • 首部压缩
  • 多路复用
  • 请求优先级
  • 服务器推送
  • 二进制分帧

HTTPS

HTTPS协议 = HTTP协议 + SSL/TLS协议

【在 传输层 使用 非对称加密算法(密钥交换算法 - 签名算法 - 对称加密算法 - 摘要算法)】

  • HTTP 的默认端口是 80,而 HTTPS 的默认端口是 443

image.png

HTTPS握手

image.png

TCP

传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义

三次握手

确认双方的发送、接收能力是否正常 image.png

SYN(Synchronization,同步):发起连接

ACK(Acknowledgment,确认):确认连接

image.png

四次挥手

image.png

四次挥手-2.png

FIN(Finish):结束连接

seq(sequence number):序列号

ACK(Acknowledgment,确认):确认连接

四次挥手.png

如何保证可靠性传输

  • 检验和
  • 超时重传
  • 拥塞控制
  • 最大消息长度
  • 滑动窗口控制
  • 序列号/确认应答

TCP 和 UDP

TCPUDP
是否可靠×
是否可连接×
有无流量控制√(滑动窗口)×
有无拥塞控制√(慢开始、拥塞避免、快重传、快恢复)×
传输效率
报文的面向字节流报文(保留边界)
双工性全双工一对一、一对多、多对一、多对多

CDN

Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。 关键技术:内容存储 分发技术

graph TD
发送请求-->智能DNS解析-->取得缓存服务器IP-->返回内容给用户-->向源站发起请求-->返回结果给用户-->将结果存入缓存服务器

优势:

  • 本地Cache加速,提高企业站点访问速度
  • 远程访问用户根据DNS负载均衡技术智能自动选择Cache服务器
  • 跨运营商的网络加速,保证不同网络的用户都得到良好的访问质量
  • 广泛分布的CDN节点加上节点之间的智能冗余机制,可以有效地预防黑客入侵
  • 自动生成服务器的远程Mirror(镜像)cache服务器,远程用户访问时从cache服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点web服务器负载等功能

状态码

(1xx临时响应 2xx成功 3xx已重定向 4xx请求错误 5xx服务器错误)

200 - 请求成功。服务器成功返回网页,一般用于GET与POST请求

304 - 如果客户端发送了一个带条件的GET 请求且该请求已被允许,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个304状态码

404 - 请求的网页不存在

503 - 服务不可用

GET和POST

GETPOST
速度
大小限制1024字节
提交方式URLHTTP包的body
编码支持只能URL编码支持多种
刷新/返回无影响重新提交数据
数据方向从服务器获取向服务器传输
对数据类型的限制仅限ASCII字符无(二进制数据亦可)
产生数据包个数12
是否安全×
是否可见×
能否被缓存×
能否被收藏为书签×
请求参数是否保留在浏览器历史记录×

其它

跨域

出于浏览器的同源策略Sameoriginpolicy限制:协议(protocol),主机(host)和端口号(port)三者任一不同

  1. 设置document.domain解决无法读取非同源网页的 Cookie问题(仅限主域相同,子域不同的跨域应用场景)

  2. 跨文档通信API:window.postMessage()

  3. JSONP

  4. CORS

  5. Web Sockets

  6. WebPack本地代理

  7. Nginx反向代理

单点登录(Single Sign On,SSO)

  • 认证中心
  • 父域Cookie
  • Local Storage跨域

安全

Cookie如何防范XSS攻击

(XSS即跨站脚本攻击,是攻击者在返回的HTML中嵌入JavaScript) 在HTTP头部上配置set-cookie,有两个属性可以防止XSS攻击

  1. httponly - :禁止JavaScript访问Cookie
  2. secure - :告诉客户端仅当在https请求时发送Cookie

CSRF防御

1.自动防御:阻止不明外域的访问

  • 同源检测
  • Samesite Cookie
  1. 主动防御:提交时要求附加本域才能获取的信息
  • Synchrogazer Tokens
  • uble Cookie Defense
  • stom Header

DoS攻击

使计算机或网络无法提供正常的服务

最常见的DoS攻击有计算机网络宽带攻击和连通性攻击,利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应

DDoS攻击(分布式拒绝服务)

属于DoS攻击的一种

防范手段

  • 高防服务器
  • DDoS清洗
  • CDN加速
  • 黑名单

(遇到记得不太清楚的概念大家也可以上菜鸟查查~)

(推荐一位UP主,视频真的很风趣幽默、通俗易懂,我也是看他的视频学到了很多~)