## 网站优化
**流量优化**
* 防盗链处理
* 通过Referer或者签名,网站可以检测目标网页访问的来源网页,如果是资源文件,则可以跟踪到显示它的网页地址。一旦到来源不是本站即进行阻止或返回指定页面
>1. 第一种
>nginx 模块 ngx_http_referer_module 用于阻挡来源非法的域名请求
>nginx 指令 valid_referers,全局变量$invalid_referer
>```
>location ~ .*\.(jpg|jpeg|gif|png|js|css)$
>{
> expires 30d;
> access_log /dev/null;
> valid_referers none blocked rent.djphp.top;
> if ($invalid_referer){
> return 404;
> }
>}
>```
>2. 第二种
第三方模块HttpAccessKeyModule实现nginx防盗链
accesskey on|off 模块开关
accesskey_hashmethod md5 | sha-1 签名加密方式
accesskey_arg GET参数名称
accesskey_signature 加密规则
>3. 第三种
**rewrite\_module**
****SetEnvIfNoCase**和**access****
****
**前端优化**
* 减少HTTP请求
>* * 图片地图、图片合并
>* * js、css脚本合并
>* * 图片使用base64编码直接嵌入网页中
* 添加异步请求
* 启用浏览器缓存和文件压缩
* * 启用浏览器缓存
>* * * 200 from memory cache: 直接获取本地缓存
>* * * 304 not modified: 协商缓存,浏览器在请求头中发送一定的校验数据到服务器,如果服务端数据没有改变,则从浏览器本地缓存响应
* * 不建议使用html代码压缩,Gzip压缩
>* * * gzip on | off #是否开启gzip
>* * * gzip_buffers 32 4k | 16 8k # 缓冲(在内存中缓存几块?每块多大)
>* * * gzip_comp_level [1-9] #推荐6 压缩级别(级别越高,压的越小,越浪费cpu计算资源)
>* * * gzip_disable # 正则匹配UA 什么样的Uri不进行gzip
>* * * gzip_min_length 200 #开始压缩的最小长度
>* * * gzip_http_version 1.0 | 1.1 #开始压缩的http协议版本
>* * * gzip_proxied #设置请求者代理服务器,该如何缓存内容
>* * * gzip_types text/plain application/xml # 对哪些类型的文件用压缩
>* * * gzip_vary on | off # 是否传输gzip压缩标志
* 前端资源CDN加速
* * CDN:内容分发网络,尽可能避开互联网上有可能影响数据传输和稳定性,是内容传输的更快、更稳定
>* * * CDN系统能够实时地根据网络流量和各节点的链接、负载状态以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上
>* * * 本地cache加速,提高访问速度
>* * * 跨运营商的网络加速,保证不同的网络用户都有良好的访问质量
>* * * 远程用户根据DNS负载均衡技术智能自动选择cache服务器
>* * * 自动生成服务器的远程Mirror(镜像) cache服务器,远程响应
>* * * 用户发起请求-->智能DNS解析(根据IP判断地理位置,接入网络类型,选择路由最短和负载最轻的服务器)-->取得缓存服务器IP-->把内容返回给用户(如果缓存中有)-->向源站发起请求-->将结果返回给用户-->将结果存入缓存服务器
* 建立独立图片服务器用户访问时从cache服务器上读取数据。
****
**服务端优化**
* 页面静态化
* 并发处理
* 队列处理
****
**数据库优化**
* 数据库缓存
* 分库分表、分区操作
* 读写分离
* 负载均衡
****
**WEB服务器优化**
* 负载均衡
- 简介
- PHP
- 字符串函数
- 数组函数
- 正则
- 加密函数
- 面向对象
- 关键字
- 设计模式
- 魔术方法
- 机制扩展
- 会话机制
- PHP框架
- laravel
- 问题
- swoole
- easyswoole
- workerman
- 数据库
- Sphinx
- MongoDB
- MemCache
- Redis
- 基础操作
- 数据类型
- 持久化
- 分布式锁
- 内存模型
- redis高级特性
- MySql
- 基础操作
- 数据类型
- 数据表引擎
- 锁机制
- 事务处理
- 存储过程
- 触发器
- 索引
- 关联查询
- 分析SQL语句-优化查询
- 分区分表
- 主从复制
- MySql安全性
- 网络协议
- HTTP
- header详解
- 状态码
- nginx-配置
- 逻辑算法
- 时间和空间复杂度
- 常见算法
- 数据结构
- 核心
- 进程、线程、协程
- 存储容量-计量单位
- 开发软件及配置
- 版本控制器
- Git
- Fidder
- Fidder-Android7
- 自动化部署
- Jenkins
- supervisor
- Elasticsearch
- LogStash
- RabbitMQ
- AB测试
- JAVA-JDK
- FileBeat
- PhpStorm
- Composer
- Linux
- API安全
- 高并发及大流量相关概念
- 网站优化
- WEB
- Electron