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