一.静态资源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: 表示只显示请求头
  
 
  

最新文章

  1. 如何解决Maple的应用在数学中
  2. MySQL 使用笔记(一) 关联
  3. HTML 学习笔记 CSS样式(框模型)
  4. August 24th 2016 Week 35th Wednesday
  5. linux 下部署 redis
  6. iOS 中的frame,bounds,center,transform关联
  7. iOS - NetRequest 网络数据请求
  8. [BigData]关于Hadoop学习笔记第二天(PPT总结)(一)
  9. C# 2 闰年平年 老狼几点了
  10. Spring IO Platform简介及示例
  11. 初入servlet:Allocate exception for servlet
  12. VS2008中开发手持终端程序(PDA软件)总结
  13. javascript中Math函数的属性与方法
  14. C# ref与out关键字解析
  15. Spring容器技术内幕之BeanDefinition类介绍
  16. BZOJ4551[Tjoi2016&Heoi2016]树——dfs序+线段树/树链剖分+线段树
  17. 基于STM32F4移植W5500官方驱动库ioLibrary_Driver(转)
  18. EffecJava Method
  19. android根据图片路径显示图片
  20. String不得不说的那些事

热门文章

  1. 11.3 Go 开发博客
  2. Java内存虚拟机理解
  3. tomcat关于配置servlet的url-pattern的问题详解
  4. Java——连接MySql数据库
  5. Golang源码学习:调度逻辑(二)main goroutine的创建
  6. 快服务常见TOP3审核雷区,再不过审就要崩溃啦!
  7. zookeeper安装部署步骤
  8. mysql排序,同样的语句 查询结果不一样的问题
  9. Car的旅行路线 luogu P1027 (Floyd玄学Bug有点毒瘤)
  10. MongoDB学习(一) 安装与基本使用