рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкрд░ рдЯреНрд░реИрдлрд┐рдХ рдХреИрд╕реЗ рдмрдЪрд╛рдПрдВ



рдПрдХ рднрд░реА рд╣реБрдИ рд╡реЗрдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЯреЗрд░рд╛рдмрд╛рдЗрдЯреНрд╕ рдХреА рдЦрдкрдд рд╣реЛрддреА рд╣реИред рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП, 10-20% рдХреА рдмрдЪрдд рдХрд╛рдлреА рдкреИрд╕реЗ рдмрдЪрд╛ рд╕рдХрддреА рд╣реИ рдФрд░ рдХреЛрдЯрд╛ рд╕реЗ рдЖрдЧреЗ рдирд╣реАрдВ рдЬрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИред
рдпрджрд┐ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЖрдкрдХреЗ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдЯреИрд░рд┐рдлрд╝ рдХреА рд╕реАрдорд╛рдУрдВ рдХреЛ рдЦрддрд░рдирд╛рдХ рд░реВрдк рд╕реЗ рд╕рдорд╛рдкреНтАНрдд рдХрд░ рджреЗрддрд╛ рд╣реИ рдпрд╛ рдЙрдирдХреЗ рдкрд╛рд░ рднреА рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЙрди рдмреБрдирд┐рдпрд╛рджреА рддрдХрдиреАрдХреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдмрдЪрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИрдВред

рдЗрд╕реЗ рдирд┐рдЪреЛрдбрд╝реЗрдВ!


рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдмрдЪрд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ рдХрдВрдкреНрд░реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╣ рд╕рд░реНрд╡рд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЙрдирдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реБрдП рддреЗрдЬреА рд╕реЗ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдХрдиреЗрдХреНрд╢рди рддреЗрдЬреА рд╕реЗ рдмрдВрдж рд╣реЛ рд╕рдХреЗрдВред рдЕрдзрд┐рдХрддрд░ рдбрд┐рдлреНрд▓реЗрдЯ рд╕рдВрдЧрдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рджреЗрд╢реА рднреА рд╣реИрдВред

gzip


рд╕рдмрд╕реЗ рдЖрдо рд╕рдВрдкреАрдбрд╝рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдоред рджреЛрд╖рд░рд╣рд┐рдд рд╕рдВрдкреАрдбрд╝рди, рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд (1 рд╕реЗ 9 рддрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ, 6 рдбрд┐рдлрд╝реЙрд▓реНрдЯ) рдФрд░ рддреЗрдЬреА рд╕реЗ рдЕрдирдкреИрдХрд┐рдВрдЧ рдХреЗ рд╕рд╛рдеред рд╕рд░рд▓ рдФрд░ рдкреНрд░рднрд╛рд╡реА, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреБрдХреНрддред



nginx

gzip            on;
gzip_min_length 1000;
gzip_proxied    expired no-cache no-store private auth;
gzip_types      text/plain application/xml;

рдЕрдорд░реАрдХрд╛ рдХреА рдПрдХ рдореВрд▓ рдЬрдирдЬрд╛рддрд┐

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

Zopfli


Gzip рдХрд╛ рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд▓реНрдк 3-8% рдмреЗрд╣рддрд░ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдзреАрд░реЗ-рдзреАрд░реЗ (рдпрд╣ рдЙрд╕реА рдЧрддрд┐ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдбрд┐рдХрдореНрдкреНрд░реЗрд╕ рдХрд░рддрд╛ рд╣реИ)ред рдпрд╣ Deflate рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ zlib рдХреЗ рд╕рд╛рде 100% рд╕рдВрдЧрдд рд╣реИ, рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╕рдорд░реНрдерди рднреА рднрд░рд╛ рд╣реБрдЖ рд╣реИред

git clone https://code.google.com/p/zopfli/
cd zopfli
make

nginx

gzip_static     on;

Brotli


Zopfli рдХреА рддрд░рд╣, Google рдХреЗ рдзрдиреБрд╖ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рддред рдХреЗрд╡рд▓ рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдореЗрдВ рд╣реА рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдЧрдЬрд╝рд┐рдк рдХреА рддрд░рд╣ рдордХреНрдЦреА рдкрд░ рднреА рд╕реЗрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдоред рдкрд┐рдЫрд▓реЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ рди рдХреЗрд╡рд▓ рдкрд╛рда рдореЗрдВ рджреЛрд╣рд░рд╛рд╡ рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рддреБрд░рдВрдд рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╢рдмреНрджрдХреЛрд╢ рдХреЛ рднреА рдореИрдк рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЯреИрдЧ рдФрд░ рдорд╛рдирдХ рдХреЛрдб рд╡рд╛рдХреНрдпрд╛рдВрд╢ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ html / css / js рд╕рдВрдкреАрдбрд╝рди рдХреЗ рд▓рд┐рдП рдмреЗрд╣рдж рдкреНрд░рднрд╛рд╡реА рд╣реИ: рдЕрдЧрд░ Zopfli gzip рдХреЗ рдмрд╛рдж 8% рд╕рдВрдкреАрдбрд╝рди рджреЗрддрд╛ рд╣реИ , рдлрд┐рд░ рдмреНрд░реЗрдЯрд▓реА 10-15% рдлреЗрдВрдХрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рдЬрдмрдХрд┐ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдкрд╛рд╕ 23% рд╣реИ! рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ https рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИ рдФрд░ zlib / deflate рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рд╣реИред Caniuse рдЙрддреНрд╕рд╛рд╣рдЬрдирдХ рд╣реИ: рдПрдХ рдорд╛рдирдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ



Nginx

рд╕рдорд░реНрдерди рдХреЗрд╡рд▓ рдкреНрд▓рд╕ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдирд┐рдпрдорд┐рдд Nginx рдХреЛ рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдореЙрдбреНрдпреВрд▓ ( --add-рдореЙрдбреНрдпреВрд▓ = / path / to / ngx_brotli ) рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП :

git clone https://github.com/google/ngx_brotli.git
git clone https://github.com/bagder/libbrotli.git
./autogen.sh
./configure
make


cd /path/to/nginx
./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_perl_module=dynamic --with-threads --with-stream --with-stream_ssl_module --with-stream_geoip_module=dynamic --with-http_slice_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-http_v2_module --with-cc-opt='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' --add-module=/path/to/ngx_brotli
make

рдХреЙрдиреНрдлрд╝рд┐рдЧ:

brotli_static	on;

рдЧрддрд┐рд╢реАрд▓ рдореЛрдб рдореЗрдВ:

brotli		on;
brotli_comp_level	6;
brotli_types	text/plain text/css text/xml application/x-javascript;

Apache

рд╕рдм рдХреБрдЫ рдпрд╣рд╛рдБ рд╕рд░рд▓ рд╣реИ, mod_brotli рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдореЙрдбреНрдпреВрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:

<IfModule brotli_module>
 BrotliCompressionLevel 10
 BrotliWindowSize 22
 AddOutputFilterByType BROTLI text/html text/plain text/css text/xml
 AddOutputFilterByType BROTLI text/css
 AddOutputFilterByType BROTLI application/x-javascript application/javascript
 AddOutputFilterByType BROTLI application/rss+xml
 AddOutputFilterByType BROTLI application/xml
 AddOutputFilterByType BROTLI application/json
 </IfModule>

рдЗрд╕реЗ рдПрдХрддреНрд░ рдХрд░реЛ!


рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдЪреИрдирд▓ рдХреЛ рднреА рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдХреИрд╢ рдХреА рдЧрдИ рдереА, рддреЛ рдЕрдЧрд▓реЗ рдЕрдиреБрд░реЛрдз рдкрд░, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреАред

HTTP рд╣реЗрдбрд░ рдХреИрд╢-рдХрдВрдЯреНрд░реЛрд▓, рдПрдХреНрд╕рдкрд╛рдпрд░ рдФрд░ рд╡реИрд░реА рдЖрдкрдХреЛ рдПрдХ рдмрд╣реБрдд рд╣реА рд▓рдЪреАрд▓реА рдХреИрд╢рд┐рдВрдЧ рдиреАрддрд┐ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрдк рдорд╛рдереЗ рдкрд░ рд╣рд░ рдЬрдЧрд╣ рдЕрдзрд┐рдХрддрдо рдЙрдореНрд░ = 2592000 рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред

nginx

location ~* ^.+\.(js|css)$ {
	expires max;
}

рдЕрдорд░реАрдХрд╛ рдХреА рдПрдХ рдореВрд▓ рдЬрдирдЬрд╛рддрд┐

<ifModule mod_headers.c>
    <FilesMatch "\.(html|htm)$">
        Header set Cache-Control "max-age=43200"
    </FilesMatch>
    <FilesMatch "\.(js|css|txt)$">
        Header set Cache-Control "max-age=604800"
    </FilesMatch>
    <FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">
        Header set Cache-Control "max-age=2592000"
    </FilesMatch>
    <FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
        Header unset Cache-Control
    </FilesMatch>
</IfModule>
<ifModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 5 seconds"
    ExpiresByType image/x-icon "access plus 2592000 seconds"
    ExpiresByType image/jpeg "access plus 2592000 seconds"
    ExpiresByType image/png "access plus 2592000 seconds"
    ExpiresByType image/gif "access plus 2592000 seconds"
    ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
    ExpiresByType text/css "access plus 604800 seconds"
    ExpiresByType text/javascript "access plus 604800 seconds"
    ExpiresByType application/javascript "access plus 604800 seconds"
    ExpiresByType application/x-javascript "access plus 604800 seconds"
    ExpiresByType text/html "access plus 43200 seconds"
    ExpiresByType application/xhtml+xml "access plus 600 seconds"
</ifModule>

рдЗрд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдВ!


рдПрдХ рд╡реНрдпрд╕реНрдд рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕реАрдбреАрдПрди рдЖрдорддреМрд░ рдкрд░ рдмрд╣реБрдд рдкреИрд╕рд╛ рдЦрд░реНрдЪ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реА рдмрд╛рд░, рдореБрдлреНрдд рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рд╕реАрдбреАрдПрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднрд╛рд░реА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдХрдИ рдмрд╛рд░ рдпрд╛рддрд╛рдпрд╛рдд рдХрдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ! рдЗрд╕ рдЕрд╡рд╕рд░ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рди рдХрд░реЗрдВ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдпрд╣ рд╢реЗрдпрд░рд╡реЗрдпрд░ рд╣реЛред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдореБрдлреНрдд рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╢реАрд░реНрд╖ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реЗ рдПрдХ рдмрд╛рд░ рдХреЗ рд▓реЗрдЦ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреНрд▓рд╛рдЙрдбрдлреЗрдпрд░ рд╣рдореЗрд╢рд╛ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдЖрддрд╛ рд╣реИред



рдФрд░ рдЙрдирдХреЗ рдкрд╛рд╕ рдореБрдлреНрдд рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рднреА рд╣реИрдВ, рдЬрд┐рди рдкрд░ рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рд╕реАрдбреАрдПрди рдХреЛ рд╡рд░реАрдпрддрд╛ рдФрд░ рд╢рд┐рд╖реНрдЯрд╛рдЪрд╛рд░ рдХреЗ рд╕рд╛рде рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдПрд╕рдбрдмреНрд▓реНрдпреВ рдкреЛрд░реНрдЯрд▓ рдкрд░ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рдпрджрд┐ рдЖрдк рдХрдо рд╕реЗ рдХрдо gzip рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ, рдпрд╣рд╛рдВ 80% рд╕реЗ рдЕрдзрд┐рдХ рд╕рд╛рдЗрдЯреЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рдорд╛рдирдХ рд╕рдВрдкреАрдбрд╝рди рдФрд░ -9 рдирд╣реАрдВ рд╣реИ, рддреЛ рдмреНрд░реЛрдХреНрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╝реЛрдлрд╝рд▓реА рдХреЗ рд░реВрдк рдореЗрдВ рдмреИрдХрдЕрдк рдХреЗ рд╕рд╛рде рдХрд░реЗрдВ (рдХреНрдпреЛрдВрдХрд┐ рдмреНрд░реЗрдЯрд▓реА рдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА 100% рдХрд╡рд░реЗрдЬ рдирд╣реАрдВ рд╣реИ)ред рдпрд╣ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдмрдЪрд╛ рд╕рдХрддрд╛ рд╣реИ:

  • gzip: рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ 50-95% рд╕рдВрдкреАрдбрд╝рди ред рд╡реЗрдм рдФрд╕рдд 65-80%
  • Zopfli: рдФрд╕рддрди gzip рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ 3-8% рд╕рдВрдкреАрдбрд╝рди , рд▓реЗрдХрд┐рди рдпрд╣ 10% рд╣реЛрддрд╛ рд╣реИ
  • Brotli: + Gzip рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ резреж-резрел% рд╕рдореНрдкреАрдбрди, реиреж% рдФрд░ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рдХреЗ рджреБрд░реНрд▓рдн рд╢реЙрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░

рдЫрд╡рд┐

рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдХреИрд╢ рдбреЗрдЯрд╛ , рдпрд╣ рдЪрдпрдирд┐рдд рдХреИрд╢рд┐рдВрдЧ рдиреАрддрд┐ рдФрд░ рд╕рд╛рдЗрдЯ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрд╛рд░-рдмрд╛рд░ 99% рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рд╡рд┐рдЬрд╝рд┐рдЯ рдХреЗ рджреМрд░рд╛рди рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред рд╕рд╛рдордЧреНрд░реА рд╡рд┐рддрд░рдг рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рд╕рдВрддреБрд▓рди рдХреЗ рд▓рд┐рдП

рд╕реАрдбреАрдПрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ред рд╡рд┐рддрд░рдг рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рдХреЛ рдЗрд╕рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдореБрдЦреНрдп рдЯреНрд░реИрдлрд┐рдХ рдХрдИ рдмрд╛рд░ рдХрдо рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдиреЗрдЯрд╡рд░реНрдХ, рд▓реЛрдб рдФрд░ рдЪрдпрдирд┐рдд рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдореЛрдб рдкрд░ рдХрд┐рддрдирд╛ рд╕рдЯреАрдХ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред

рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХрдо рд╕реЗ рдХрдо рд╕рдВрднрд╡ рд╕рдордп рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕рд░реНрд╡рд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рдЬрдЯрд┐рд▓ рдкреБрдирд░реНрдЧрдарди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд╕рдХреНрд╖рдо рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд▓рд┐рдП рд╕рдордп рджреЗрддрд╛ рд╣реИред рдЕрдкрдиреА рд▓рд╛рдЧрддреЛрдВ рдХреЛ рдХрдо рдХрд░реЗрдВ, рдХреИрд╢ рдХрд░реЗрдВ, рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдВ, рдФрд░ рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдзрди рдкреНрд░рд╛рдкреНрдд рди рд╣реЛред


All Articles