最新消息:

一次完整的网络请求

网络 admin 2942浏览 0评论
  • 一次完整的网络请求这个问题虽然很平凡,但仔细想想它涉及了计算机网络协议栈、操作系统、数据库系统原理、服务器端架构、网络安全…如果还考虑前端渲优化,可能连用户体验、心理学(如何让用户感觉面页加载更快)都用上了….好好想想这个问题,梳理下各个环节。
  1. APP客户端、浏览器端处理、用户代理:协商加密、RSA、AES、HTTP协议、URL处理、请求头构造、表单构造、前端缓存、Ajax、域名缓存TTL
  2. DNS、DNS-poll、hosts文件
  3. 操作系统层面,系统级I/O操作:epoll、poll、select、线程并发或进程并发、IO复用、数据从内核空间到用户空间
  4. TCP、三次握手、四次挥手、流量控制、拥塞控制、滑动窗口、超时重传、Nagle算法、长连接、管线化
  5. IP、前置代理、VPN、路由选择算法、BGP、ARP
  6. 链路层、网络接口层、通信原理、差错检测、纠错原理
  7. 服务器端、入侵检测系统、DDoS、SYN Flood、CC Flood、DNS反射、NTP反射、MC反射
  8. 负载均衡、LVS、反向代理、CDN服务器、高可用性、容灾性
  9. HTTP、HTTPS、RESTful、RPC
  10. 应用服务器、子域名、业务应用、业务拆分、robot协议、IP地址访问权限、IP地址访问频次控制、防网络爬虫
  11. 缓存、网络安全、注入攻击、Session、Cookie、用户认证
  12. 数据库操作、搜索引擎、访问日志记录、消息队列、分布式系统、微服务、BASE特性、分布式下的数据一致性处理
  13. MVC架构模式视图、JSON、XML、前后端分离的工程化
  14. 逆着TCP/IP栈、从解包、封装的角度
  15. 前端、HTML、CSS、JavaScript、渲染、用户体验、状态码、重定向、交互设计、多媒体流
  16. 补充:HTTP2.0、websocket、RTC、UDP在各种业务下的使用、解析完毕后的片段定位

转载请注明:爱开源 » 一次完整的网络请求

您必须 登录 才能发表评论!