Embora eu não tenha escrito muitos novos artigos recentemente eu passei um tempo considerável atualizando e revisando o lado por trás das cenas de coisas, ou seja, vários segurança (TLS) configurações no meu VPS que hospeda vários sites, incluindo este. Outra coisa que eu também tenho trabalhado para melhorar recentemente é melhorar meu uso de gzip, e um novo formato chamado brotli
Resumidamente, gzip (e brotli) pode ser usado para compactar recursos antes de serem enviados ao navegador, o que reduz a quantidade de dados enviados, e, portanto, deve significar que um site carrega mais rápido. A desvantagem é que a compactação de recursos leva tempo, que poderiam superar os ganhos dos tamanhos menores. A solução ideal é ter recursos previamente compactados, em vez de compactado pelo servidor http em tempo real. A maioria dos meus sites usa wordpress que contém muitos arquivos em plugins, temas etc, então passar por tudo isso e comprimi-los manualmente toda vez que houver uma atualização seria impraticável. A resposta é usar um script que monitore o sistema quanto a alterações de arquivos, e cria arquivos compactados conforme necessário. Abaixo está o script que escrevi recentemente para fazer exatamente isso.
#!/bin/bash inotifywait -m -q -e CREATE -e MODIFY -e MOVED_TO -r "/var / www /" --formato "%w% f" -- Excludei'.(jpg|png|gif|ico|registro|sql|zip|gz|pdf|php|swf|ttf|EOT|woff|cst|JST|br|cts)$' | while read file do if [[ $file = ~ \.(css)$ ]]; then fname="${Arquivo%.*}" se [ -f "$fname".min.css ] then rm -f $file.gz rm -f $file.br zopfli --gzip $file bro --quality 11 --input $file --output $file.br chmod 664 $file.br chmod 664 $file.gz chown wordpress:wordpress $file.br chown wordpress:wordpress $file.gz else rm -f $file.gz rm -f $file.br cat $file | cleancss > $fname.cst cat $file | cleancss | bro --Quality 11 --output $file.br zopfli --gzip $fname.cst -c > $fname.css.gz chmod 664 $file.br chmod 664 $file.gz chown wordpress:wordpress $file.br chown wordpress:wordpress $file.gz rm -f $fname.cst fi fi if [[ $file = ~ \.(js)$ ]]; then fname="${Arquivo%.*}" se [ -f "$fname".min.css ] then rm -f $file.gz rm -f $file.br zopfli --gzip $file bro --quality 11 --input $file --output $file.br chmod 664 $file.br chmod 664 $file.gz chown wordpress:wordpress $file.br chown wordpress:wordpress $file.gz else rm -f $file.gz rm -f $file.br uglifyjs $fname.js > $fname.jst zopfli --gzip $fname.jst -c > $fname.js.gz bro --quality 11 --input $fname.jst --output $file.br chmod 664 $file.br chmod 664 $file.gz chown wordpress:wordpress $file.br chown wordpress:wordpress $file.gz rm -f $fname.jst fi fi origfs=$(wc -c < "$arquivo") gzfs = $(wc -c <"$arq.gz") BRFS = $(wc -c <"$file.br") se [ "$origfs" -lt "$gzfs" ]; then rm $file.gz -f fi if [ "$origfs" -lt "$BRFS" ]; then rm $file.br -f fi done
“Hi James I realise it has been a long while, but I just checked this on windows 11 (build 23H2)…”