zoukankan      html  css  js  c++  java
  • 学习nginx从入门到实践(五) 场景实践之静态资源web服务

    一.静态资源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: 表示只显示请求头
      
     
      
  • 相关阅读:
    从json中获取自己想要的属性
    对称加密解密
    springboot 读取resource目录下的文件
    安装nginx 配置了ssl 启动报错
    复利计算--4.0 单元测试之JAVA版-软件工程
    《构建之法》前三章读后感
    单利 复利计算器程序1.0 2.0 3.0 [ 合 ] 之 WEB
    操作系统 实验一 命令解释程序的编写
    单利 复利计算器程序1.0 2.0 3.0 [ 合 ] 之 C语言
    统计实验数据 总结实验结果
  • 原文地址:https://www.cnblogs.com/feixiablog/p/8184264.html
Copyright © 2011-2022 走看看