一.静态资源web服务

1.1 静态资源

静态资源定义:非服务器动态生成的文件。

1.2 静态资源服务场景-CDN

1.3 文件读取配置

1.3.1 sendfile

  配置语法:

  syntax: sendfile on | off;
  default:sendfile off
  context:http,server,location,if in location

  注 –with-file-aio异步文件读取 

1.3.2 tcp_nopush

  作用:sendfile 开启的情况下,提高网络包的传输效率(等待,一次传输)

  配置语法:

  syntax: tcp_nopush on | off
  default: tcp_nopush off
  context: http, server, location
  
  相反的

1.3.3 tcp_nodelay   

  作用:在keepalive连接下,提高网络包的传输实时性

  配置语法:

  syntax: tcp_nodelay on | off
  default: tcp_nodelay on
  context: http, server, location

1.3.4  压缩 

  作用:在keepalive连接下,提高网络包的传输实时性

  配置语法:   

  syntax:gzip on | off
  default:gzip off
  context:http, server, if in location
  

  syntax: gzip_comp_level level;
  default: gzip_comp_level 1;
  context: http, server, location
  
  扩展nginx压缩模块
  • http_gzip_static_module:预读gzip功能
  • http_gunzip_module: 应用支持gunzip的压缩方式

  配置截图

  

1.4 浏览器缓存

 作用:http协议定义的缓存机制(如:expires,cache-control 等)

 检测过期机制

作用 请求头
检验是否过期 expires, cache-control (max-age)
协议中Etag头信息校验 etag
last-modified 头信息校验

last-modified

    浏览器请求服务器过程(缓存版本)

  

  相关配置

   expires  添加cache-control、expires头

  配置语法:

  syntax: expires [modified] time;
  expires epoch | max | off;
  default: expires off;
  context: http, server, location
  
  配置例子:
  location ~  .*\.(htm|html)$  {
    #expires 24h;
    root /opt/app/code;
  }

1.5 跨域访问

  为什么浏览器禁止跨域访问: 不安全,容易出现CSRF攻击

  

  nginx配置:

  配置语法:  

  syntax:  add_header name value [always]
  default:  -
  context: http, server, location, if in location

  添加请求头:Access-Control-Allow-Origin

  配置截图:

  
 

1.6 跨域访问

  目的 - 防止资源被盗用

  防盗链设置思路:   

    首要方式:区别哪些请求是非正常的用户请求
 
  配置语法:
  syntax:  valid_referers none | blocked | server_names | string...;
  default:  -
  context: server, location
  
  配置截图:
  
  none: 表示如果没带refer
  blocked: 代表不是标准的http写过过来的
  
  一个命令: curl -e "http://www.baidu.com" -I http://116.62.103.228/wei.png
  -e: 表示refer
  -i: 表示只显示请求头
  
 
  

学习nginx从入门到实践(五) 场景实践之静态资源web服务的更多相关文章

  1. Nginx之静态资源WEB服务

    本篇主要记录学习Nginx的静态资源WEB服务的几种常见的功能记录学习 Nginx开发常用的命令 nginx -tc /etc/nginx/nginx.conf vim /etc/nginx/conf ...

  2. nginx 作为静态资源web服务

    Nginx作为静态资源web服务 静态资源web服务-CDN场景 Nginx资源存储中心会把静态资源分发给“北京Nginx”,“湖南Nginx”,“山东Nginx”. 然后北京User发送静态资源请求 ...

  3. Nginx作为静态资源web服务之防盗链

    Nginx作为静态资源web服务之防盗链 首先,为什么需要防盗链,因为有些资源存在竞争对手的关系,比如淘宝的商品图片,不会轻易的让工具来爬虫爬走收集.但是如果使用防盗链,需要知道上一个访问的资源,然后 ...

  4. Nginx作为静态资源web服务之跨域访问

    Nginx作为静态资源web服务之跨域访问 首先了解一下什么是跨域 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器施加的安全限制. 所谓同源是指,域名,协议,端口均相 ...

  5. Nginx作为静态资源web服务之文件读取

    Nginx作为静态资源web服务之文件读取 文件读取会使用到以下几个配置 1. sendfile 使用nginx作为静态资源服务时,通过配置sendfile可以有效提高文件读取效率,设置为on表示启动 ...

  6. Nginx作为静态资源web服务之缓存原理

    Nginx作为静态资源web服务之缓存原理 大致理一下http浏览器缓存原理: 浏览器第一次请求服务器,此时浏览器肯定没有缓存,则直接调用服务器端,服务器在返回的信息的信息头中添加 ETag和Last ...

  7. nginx实践(一)之静态资源web服务

    静态资源服务场景CDN 配置语法-文件读取(nginx优势之一sendfile) 配置语法-tcp_nopush 简单的说就是把多个包合并,一次传输给客户端 配置语法-tap_nodelay 配置语法 ...

  8. Nginx作为静态资源web服务

    一.CDN 1.定义: 内容分发的逻辑网络. 2.作用: CDN能做到传输延时的最小化. CDN请求示意图如下: 二.静态资源需要配置的一些语法模块. 1.配置语法 - 文件读取 Syntax : s ...

  9. nginx静态资源web服务

    静态资源:非服务器动态运行生成的文件 浏览器端渲染:html ,css,js 图片:jpeg,gif,png 视频:flv ,mpeg 文件:txt,等任意下载文件 静态资源服务场景:CDN 文件读取 ...

随机推荐

  1. 若依微服务版本 Windows下开发环境搭建

    看了若依官网的教程,搭建环境还是踩了坑,简单整理一下 1.下载地址:https://gitee.com/y_project/RuoYi-Cloud 2.本地环境(仅供参考) JDK1.8 Mysql  ...

  2. JS如何判断是否已经引入某个css或是js?

    http://bbs.csdn.net/topics/390541081 function isInclude(name){     var js= /js$/i.test(name);     va ...

  3. 201771010117马兴德 实验二 Java基本程序设计(1)

    实验二 Java基本程序设计(1)  第一部分    理论知识的学习. 第三章Java基本程序设计结构 1  基本知识: (1)标识符:标识符由字母.下划线.美元符号和数字组成,且第一个符号不能为数字 ...

  4. poj2391 最大流+拆点+二分答案+Floyd

    Ombrophobic Bovines Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 19553   Accepted: 4 ...

  5. LNMP PHP升级脚本

    升级PHP前,请确认你的网站程序是否支持升级到的PHP版本,防止升级到网站程序不兼容的PHP版本,具体可以去你使用的PHP程序的官网查询相关版本支持信息.v1.3及以后版本大部分情况下也可以进行降级操 ...

  6. 前端开发Chrome调试工具

    Chrome浏览器提供了一个非常好用的调试工具,可以用来调试我们的HTML结构和CSS样式. 1.的打开调试工具 打开Chrome浏览器,按下F12键或点击页面空白,点击检查 2.使用调试工具 (1) ...

  7. 2.Redis安装和简单使用

    (1)安装Redis Redis目前只支持Linux系统,因为开发此软件的创始者认为,Redis是为后台数据服务的,所以认为该软件使用在纯净的服务环境下,而不是应用型操作系统下,而Linux作为服务器 ...

  8. python 05—字典

    一.字典的键是唯一的 键:简单对象,例[字符串.整数.浮点数.bool值] list不能作为键,但可以作为值. 例: score = { '萧峰' : 95, '段誉' : 97, '虚竹' : 89 ...

  9. 【转】roc曲线与auc值

    https://www.cnblogs.com/gatherstars/p/6084696.html ROC的全名叫做Receiver Operating Characteristic,其主要分析工具 ...

  10. parrot os的一些坑

    burpsuite 破解版的运行环境需要jdk8,jdk11无法运行 选择jdk环境 update-alternatives --config java 截图工具 sudo apt install f ...