一.静态资源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. javascript 内存和连等赋值

    JavaScript深入之内存空间详细图解 https://juejin.im/post/5bf4c3eff265da613356348a 理解javascript中的连续赋值 https://www ...

  2. 委托 事件 observer

    详细介绍http://www.cnblogs.com/jcz1206/articles/2730793.html  ---摘录别人的 using System;using System.Collect ...

  3. poj1699 KMP+壮压DP

    Best Sequence Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 6338   Accepted: 2461 Des ...

  4. Algorithms - Data Structure - Perfect Hashing - 完全散列

    相关概念 散列表 hashtable 是一种实现字典操作的有效数据结构. 在散列表中,不是直接把关键字作为数组的下标,而是根据关键字计算出相应的下标. 散列函数 hashfunction'h' 除法散 ...

  5. 聊聊UDP、TCP和实现一个简单的JAVA UDP小Demo

    最近真的比较忙,很久就想写了,可是一直苦于写点什么,今天脑袋灵光一闪,觉得自己再UDP方面还有些不了解的地方,所以要给自己扫盲. 好了,咱们进入今天的主题,先列一下提纲: 1. UDP是什么,UDP适 ...

  6. 【面经分享】互联网寒冬,7面阿里,终获Offer,定级P6+

    点赞再看,养成习惯,微信搜索[敖丙]关注这个互联网苟且偷生的工具人. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文 ...

  7. APM 上报信息分析与应用

    在入正题之前我们再回顾下它的架构图: 本文章主要分析AMP各索引的作用,与及结合1.7环境上已接入的服务数据对比后,对索引中的主要字段进行解析.文章分为四个小章节. 1.索引类型 apm索引分为四种类 ...

  8. Ubuntu虚拟机的安装

    1.在VMware中新建虚拟机 注意W10的现在强制升级VMware所以大家,安装低版本的时候提示,升级就区官网下载一个新版本的即可. 这边大家填写自己的就好,要记住自己填写的! 这边我们等一会即可. ...

  9. 彻底理解JavaScript ES6中的import和export

    0.前言 前端工程,在最早的时候是没有模块的概念的.随着前端工程的发展,前端开发也越来越规范化,更像是软件工程了.那么随之而来的,为了解决工程化的问题,就引入了模块的概念.但是在早期,因为ecmasc ...

  10. MySQL如何有效的存储IP地址

    前几天,阿淼的一个朋友去面试,他回来告诉我,面试官问他 IP 地址是怎么存在数据库的?他当时也没多想,直接就回答的存字符串啊(心想:这么简单的问题,怕不是看不起我吧) 前面这段权当看看,毕竟 IP地址 ...