1. 请简要介绍什么是CDN与CDN的工作流程。
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术
2. 请简要介绍接种服务端性能优化的方案。
HTML静态化
效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现。
图片服务器分离
对于Web服务器来说,不管是Apache、IIS还是其他容器,图片是最消耗资源的,于是我们有必要将图片与页面进行分离,这是基本上大型网站都会采用的策略,他们都有独立的、甚至很多台的图片服务器。这样的架构可以降低提供页面访问请求的服务器系统压力,并且可以保证系统不会因为图片问题而崩溃。
缓存
根据应用自身业务结构特点设计优秀的缓存方案。
负载均衡
负载均衡将是大型网站解决高负荷访问和大量并发请求采用的高端解决办法,即使用多台服务器共同处理海量请求,从而降低单台服务器的压力。可以使用Nginx实现。
3. 请简要介绍请求响应时间优化的方案。
减少DNS查找:每次主机名的解析都需要一次网络往返,从而增加了请求的延迟时间,同时还会阻塞后续的请求。
减少HTTP重定向。HTTP冲定向需要额外的DNS查询、TCP握手等非常耗时,最佳的重定向次数为0.
使用CDN(内容分发网络):把数据放在离用户地理位置更近的地方,可以明显减少每次TCP连接的网络延迟,增大吞吐量。
删除没有必要请求的资源。
在客户端缓存资源:缓存必要的应用资源,避免每次都重复请求相同的内容,例如多图片下载可以考虑使用缓存。
内容在传输前先压缩:传输数据之前应该先压缩应用资源,把要传输的字节减少到最小,在压缩的时候确保对每种不同的资源采用最好的压缩手段。
消除不必要的请求开销:减少请求的HTTP首部数据(比如HTTP cookie).
并行处理请求和响应:请求和响应的派对都会导致延迟,可以尝试并行的处理请求和响应(利用多个HTTP1.1连接实现并行下载,在可能的情况下使用HTTP管道计数)。
针对协议版本采取优化措施。升级到HTTP2.0。
4. 列出常见的web安全问题。
SQL注入问题
XSS跨站脚本攻击
XSRF跨站请求伪造
Session劫持