SlideShare une entreprise Scribd logo
1  sur  37
OTIMIZAÇÃOCLIENT-SIDE
quantos desistiram de visitar seu site antesde concluir o carregamento?
concorrência a um clique
a culpa não é da conexãodo usuário
onde é gasto o tempo de carregamento?
como funciona o carregamento? html css css javascript imagem imagem imagem imagem imagem imagem javascript
GET /index.html Host:		meusite.com Accept:		text/html,application/xhtml+xml Accept-Language:	pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding:	gzip,deflate Accept-Charset:	ISO-8859-1,utf-8;q=0.7,*;q=0.7 Cache-Control:	max-age=0 HTTP/1.1 200 OK Date:		Sat, 05 Sep 2009 17:53:21 GMT Expires:		Thu, 19 Nov 1981 08:52:00 GMT Vary:		Accept-Encoding,User-Agent Content-Encoding:	gzip Content-Length:	16614 Content-Type:	text/html
Firebug Google Page Speed Yahoo YSlow
1 2 3 4 5
1 reduza o número de  requisições
CSS Sprites
add.png remove.png 5 arquivos 4.36 KB 1 arquivo 4.27 KB user.png view.png edit.png sprite.png
a.edit { background-position:center -26px; } 26px <a> <a>
combinescripts e folhas de estilo
modularizaçãoxotimização
Imagens embutidas <imgalt=“Imagem Embutida” src=“data:image/gif;base64,R01GODlhDAAMALMLAPN8FFBiYvWWlvrJKy/FvcPewsO0VVfajo+w6O/z15estLv/8AAAAAAAAAAAAACH5BAEAAAsALAAAAAAAmwAAzcElZyryTUgknHd9xGV+qKsYirKkwDYiKDBiatt2H1KBlQRFIJAIKywRgmH=” /> <spanclass=”imagem_embutida”></span> span.imagem_embutida { background-image: url(data:image/gif;base64,R01GODlhDAAMALMLAPN8FFBiYvWWlvrJKy/FvcPewsO0VVfajo+w6O/z15estLv/8AAAAAAAAAAAAACH5BAEAAAsALAAAAAAAmwAAzcElZyryTUgknHd9xGV+qKsYirKkwDYiKDBiatt2H1KBlQRFIJAIKywRgmH=);
2 compacte os componentes
Accept-Encoding: gzip, deflate Content-Encoding: gzip
html javascript css .htaccess AddOutPutFilterByType DEFLATE text/html text/css aplication/x-javascript
até 50%
3 aproveite-se do cache
GET /imagens/logo.gif Expires: Sun, 12 Sep 2010 09:52:06 GMT
.htaccess <FilesMatch “.(png|gif|jpg|js|css)$” > ExpiresDefault “accessplus 10 years” </FilesMatch> utilize em todos os componentes que  não são atualizados com freqüência
utilize nome de arquivo com versão <link rel=“stylesheet” type=“text/css” href=“estilo.css?20090811” /> ou <link rel=“stylesheet” type=“text/css” href=“estilo.1.0.4.css” />
1ª visita: 0% visitas seguintes: mais de 50%
4 estilos vão no inicio e scripts no final
aproveite-se da  visualização progressiva: estilos vão no <head>
scripts bloqueiam conexões paralelas html javascript css css imagem imagem imagem imagem flash
melhor opção: jogue-os para o final html css css imagem imagem imagem imagem flash javascript javascript
5 minimize o javascript
minimização x ofuscamento
Original: 117 KB Ofuscamento com /packer/: http://dean.edwards.name/packer/ 38KB Minimização com JSMIN: http://www.crockford.com/javascript/jsmin.html 72KB
1 reduza o número de requisições compacte os componentes 2 3 aproveite-se do cache estilos vão no inicio e scripts no final 4 minimize o javascript 5

Contenu connexe

Tendances

Melhorando A Performance Da Sua Aplicação Web
Melhorando A Performance Da Sua Aplicação WebMelhorando A Performance Da Sua Aplicação Web
Melhorando A Performance Da Sua Aplicação WebMaurício Linhares
 
Curso prático de HTML - Aula 1
Curso prático de HTML - Aula 1Curso prático de HTML - Aula 1
Curso prático de HTML - Aula 1dionyso
 
Como instalar o WordPress no seu computador
Como instalar o WordPress no seu computadorComo instalar o WordPress no seu computador
Como instalar o WordPress no seu computadorRudá Almeida
 
Php Visao Geral Svs
Php Visao Geral SvsPhp Visao Geral Svs
Php Visao Geral Svscristhianobv
 
Performance mobile: eleições 2014
Performance mobile: eleições 2014Performance mobile: eleições 2014
Performance mobile: eleições 2014Webysther Faria
 
Como Configurar seu dominio GoDaddy com Webmium
Como Configurar seu dominio GoDaddy com WebmiumComo Configurar seu dominio GoDaddy com Webmium
Como Configurar seu dominio GoDaddy com Webmiumwebmium
 
O FLASH ESTÁ MORTO! PROGRAME EM HTML5
O FLASH ESTÁ MORTO! PROGRAME EM HTML5O FLASH ESTÁ MORTO! PROGRAME EM HTML5
O FLASH ESTÁ MORTO! PROGRAME EM HTML5Renato Melo
 
Desevolvimento Web Client-side - AJAX
Desevolvimento Web Client-side - AJAX Desevolvimento Web Client-side - AJAX
Desevolvimento Web Client-side - AJAX Guilherme
 

Tendances (11)

Melhorando A Performance Da Sua Aplicação Web
Melhorando A Performance Da Sua Aplicação WebMelhorando A Performance Da Sua Aplicação Web
Melhorando A Performance Da Sua Aplicação Web
 
Curso prático de HTML - Aula 1
Curso prático de HTML - Aula 1Curso prático de HTML - Aula 1
Curso prático de HTML - Aula 1
 
Como instalar o WordPress no seu computador
Como instalar o WordPress no seu computadorComo instalar o WordPress no seu computador
Como instalar o WordPress no seu computador
 
Node.js for Noobs
Node.js for NoobsNode.js for Noobs
Node.js for Noobs
 
Php Visao Geral Svs
Php Visao Geral SvsPhp Visao Geral Svs
Php Visao Geral Svs
 
Performance mobile: eleições 2014
Performance mobile: eleições 2014Performance mobile: eleições 2014
Performance mobile: eleições 2014
 
Como Configurar seu dominio GoDaddy com Webmium
Como Configurar seu dominio GoDaddy com WebmiumComo Configurar seu dominio GoDaddy com Webmium
Como Configurar seu dominio GoDaddy com Webmium
 
O FLASH ESTÁ MORTO! PROGRAME EM HTML5
O FLASH ESTÁ MORTO! PROGRAME EM HTML5O FLASH ESTÁ MORTO! PROGRAME EM HTML5
O FLASH ESTÁ MORTO! PROGRAME EM HTML5
 
Uma Olhada no Netbeans 6
Uma Olhada no Netbeans 6Uma Olhada no Netbeans 6
Uma Olhada no Netbeans 6
 
Desevolvimento Web Client-side - AJAX
Desevolvimento Web Client-side - AJAX Desevolvimento Web Client-side - AJAX
Desevolvimento Web Client-side - AJAX
 
Joomla
JoomlaJoomla
Joomla
 

Similaire à Otimização Client Side

Como o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vidaComo o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vidaCaelum
 
Aumente a performance de seu site
Aumente a performance de seu siteAumente a performance de seu site
Aumente a performance de seu siteHenrique Lima
 
Aumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinadaAumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinadaHenrique Lima
 
Introdução Programação de Aplicações Web
Introdução Programação de Aplicações WebIntrodução Programação de Aplicações Web
Introdução Programação de Aplicações WebDiogo Benicá
 
Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)elliando dias
 
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...minastestingconference
 
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIConfigurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIwordcamppoa
 
Rafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Rafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIRafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Rafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIWordPress Floripa
 
Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLIConfigurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLIRafael Funchal
 
WordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
WordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLIWordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
WordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLIRafael Funchal
 
Websocket
WebsocketWebsocket
Websocketmaxii
 
Metodologias de Programação IV - Aula 3, Secção 1 - Cabeçalhos do protocolo HTTP
Metodologias de Programação IV - Aula 3, Secção 1 - Cabeçalhos do protocolo HTTPMetodologias de Programação IV - Aula 3, Secção 1 - Cabeçalhos do protocolo HTTP
Metodologias de Programação IV - Aula 3, Secção 1 - Cabeçalhos do protocolo HTTPLeonel Morgado
 
Performance e boas_praticas_de_web
Performance e boas_praticas_de_webPerformance e boas_praticas_de_web
Performance e boas_praticas_de_webThiago Verly
 
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...Mauro Risonho de Paula Assumpcao
 
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIConfigurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIRafael Funchal
 
Descobrindo APIs REST
Descobrindo APIs RESTDescobrindo APIs REST
Descobrindo APIs RESTGuilherme
 

Similaire à Otimização Client Side (20)

Como o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vidaComo o HTTP/2 vai mudar sua vida
Como o HTTP/2 vai mudar sua vida
 
Aumente a performance de seu site
Aumente a performance de seu siteAumente a performance de seu site
Aumente a performance de seu site
 
Aumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinadaAumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinada
 
Introdução Programação de Aplicações Web
Introdução Programação de Aplicações WebIntrodução Programação de Aplicações Web
Introdução Programação de Aplicações Web
 
Como funciona a internet
Como funciona a internetComo funciona a internet
Como funciona a internet
 
Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)
 
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
 
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIConfigurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
 
Rafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Rafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIRafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Rafael Funchal - Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
 
Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLIConfigurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
 
WordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
WordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLIWordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
WordCamp Floripa 2018: Configurando SSL com Let’s Encrypt, Easy Engine e WP-CLI
 
Websocket
WebsocketWebsocket
Websocket
 
Metodologias de Programação IV - Aula 3, Secção 1 - Cabeçalhos do protocolo HTTP
Metodologias de Programação IV - Aula 3, Secção 1 - Cabeçalhos do protocolo HTTPMetodologias de Programação IV - Aula 3, Secção 1 - Cabeçalhos do protocolo HTTP
Metodologias de Programação IV - Aula 3, Secção 1 - Cabeçalhos do protocolo HTTP
 
Performance e boas_praticas_de_web
Performance e boas_praticas_de_webPerformance e boas_praticas_de_web
Performance e boas_praticas_de_web
 
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...
OWASP AppSec 2010 BRAZIL Information Extraction Art of Testing Network Periph...
 
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLIConfigurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
Configurando SSL com Let’s Encrypt, EasyEngine e WP-CLI
 
Rest workshop
Rest workshopRest workshop
Rest workshop
 
O get and post para etico hacker
O get and post para etico hackerO get and post para etico hacker
O get and post para etico hacker
 
Descobrindo APIs REST
Descobrindo APIs RESTDescobrindo APIs REST
Descobrindo APIs REST
 
Websocket com PHP
Websocket com PHPWebsocket com PHP
Websocket com PHP
 

Otimização Client Side