1. 静态资源类型

类型 种类
浏览器端渲染 HTML CSS JS
图片 GIF PNG …
视频 FLV. MP4…
文件 TXT…

2. 静态资源配置语法

1 sendfile
提高数据从硬盘写到到网络socket上的效率。

Syntax:	sendfile	on	|	off;
Default:	sendfile	off;
Context:	http,	server,	location,	if in	location

2 tcp_nopush
sendfile开启情况下, 提⾼网络包的“传输效率”。
举例:如10个人需要发快递,不开启nopush,快递员一次取一个需要发送的快递然后去发件,而开启nopush,快递员一次取完所有要发送的快递去发件。

Syntax:	tcp_nopush	on	|	off;
Default:	tcp_nopush	off;
Context:	http,	server,	location

3 tcp_nodelay
和tcp_nopush相反,需要实时传输数据包,提高网络传输的实时性。需要开启keepalive。

Syntax:	tcp_nodelay	on	|	off;
Default:	tcp_nodelay	on;
Context:	http,	server,	location

3. 静态资源压缩

Nginx 将响应报文发送至客户端之前可以启用压缩功能,这能够有效地节约带宽,并提高响应至客户端的速度。但是需要消耗一定的服务器性能。压缩后的资源在客户端浏览器会自动识别并解压。

gzip 压缩配置语法:

Syntax:	gzip	on	|	off;
Default:	gzip	off;
Context:	http,	server,	location,	if	in	location

预读gzip功能,先压缩资源,再去访问:

Syntax:	gzip_static	on	|	off	|	always;
Default:	gzip_static	off;
Context:	http,	server,	location

4. 图片/文件压缩配置

location	~	.*\.(jpg|gif|png)$	{
#location	~	.*\.(txt|xml)$	{ #文件匹配
	gzip on;                   #开启gzip
	gzip_http_version	1.1;   #压缩适用HTTP协议版本
	gzip_comp_level	2;         #压缩比率
	gzip_types text/plain	application/json	application/x-javascript	app
	lication/css	application/xml	application/xml+rss text/javascript	application/x-http
	d-php	image/jpeg	image/gif	image/png;
	root 图片存放目录;
}

访问同一个test.txt资源,开启压缩和不开启压缩,文件传输的大小对比如下图:
在这里插入图片描述
在这里插入图片描述


本文转载:CSDN博客