学习nginx从入门到实践(五) 场景实践之静态资源web服务
2024-08-23 20:00:08
一.静态资源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写过过来的
blocked: 代表不是标准的http写过过来的
一个命令: curl -e "http://www.baidu.com" -I http://116.62.103.228/wei.png
-e: 表示refer
-i: 表示只显示请求头
-i: 表示只显示请求头
最新文章
- 如何解决Maple的应用在数学中
- MySQL 使用笔记(一) 关联
- HTML 学习笔记 CSS样式(框模型)
- August 24th 2016 Week 35th Wednesday
- linux 下部署 redis
- iOS 中的frame,bounds,center,transform关联
- iOS - NetRequest 网络数据请求
- [BigData]关于Hadoop学习笔记第二天(PPT总结)(一)
- C# 2 闰年平年 老狼几点了
- Spring IO Platform简介及示例
- 初入servlet:Allocate exception for servlet
- VS2008中开发手持终端程序(PDA软件)总结
- javascript中Math函数的属性与方法
- C# ref与out关键字解析
- Spring容器技术内幕之BeanDefinition类介绍
- BZOJ4551[Tjoi2016&;Heoi2016]树——dfs序+线段树/树链剖分+线段树
- 基于STM32F4移植W5500官方驱动库ioLibrary_Driver(转)
- EffecJava Method
- android根据图片路径显示图片
- String不得不说的那些事