SlideShare uma empresa Scribd logo
1 de 12
Criando um website cacheável

           Lucas Brasilino
       <lucas.brasilino@gmail.com>
Procuradoria Geral da República / MPF
●   Agenda:
    –   O procotolo HTTP 1.1
    –   A requisição
    –   A resposta
    –   Manipulando HTTP Headers
         ●   Expires
         ●   Cache-Control
         ●   If-Modified-Since
●   O protocolo HTTP 1.1
    –   Avanço sobre o HTTP 1.0
    –   Definido pela RFC 2616
    –   Inclui um número de mecanismos de validação e
        controle de objetos cacheáveis
●   A requisição HTTP 1.1
    GET / HTTP/1.1
    Host: www.festivalsoftwarelivre.org
    User-Agent: Mozilla/5.0 (X11; U; Linux i686; pt-BR; rv:1.8.1.5)
    Gecko/20070718 Fedora/2.0.0.5-1.fc7 Firefox/2.0.0.5
    Accept: text/xml,application/xml,text/html,text/plain,image/png,*/*
    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
    Keep-Alive: 300
    Connection: keep-alive
    ↵
●   A resposta HTTP

HTTP/1.x 302 Moved Temporarily
Date: Fri, 05 Oct 2007 15:29:19 GMT
Server: Apache
Location: inicio/
Content-Length: 0
Content-Type: text/html
X-Cache: MISS from zeus.pgr.mpf.gov.br
Via: 1.0 zeus.pgr.mpf.gov.br:3128 (squid/2.6.STABLE16)
Proxy-Connection: keep-alive
↵
●   A requisição HTTP 1.1
    GET /inicio/ HTTP/1.1
    Host: www.festivalsoftwarelivre.org
    User-Agent: Mozilla/5.0 (X11; U; Linux i686; pt-BR; rv:1.8.1.5)
    Gecko/20070718 Fedora/2.0.0.5-1.fc7 Firefox/2.0.0.5
    Accept: text/xml,application/xml,text/html,text/plain,image/png,*/*
    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
    Keep-Alive: 300
    Connection: keep-alive
    ↵
●   A resposta HTTP

HTTP/1.x 200 OK
Date: Fri, 05 Oct 2007 15:27:40 GMT
Server: Apache
Last-Modified: Fri, 05 Oct 2007 13:02:30 GMT
Accept-Ranges: bytes
Content-Length: 49780
Content-Type: text/html
Connection: keep-alive
↵
<html>
  <head>...
●   HTTP Header 'Expires'
    –   Indica o dia ou hora que o objeto (ou a resposta) é
        considerada 'velha' (expirada)
         ●   Objetos velhos não devem ser retornados pelo cache
             (seja proxy/cache, seja user-agent cache)
    –   O valor de seu campo é uma data/hora no formato:
         DiaSemana, Data Mes Ano H:M:S GMT
    –   Exemplo:
         Expires: Fri, 01 Oct 2007 23:00:00 GMT
●   HTTP Header 'Pragma'
    –   Header de propósito geral
         ●   Na realidade foi um 'jeitinho'
    –   DEVE ser evitado a qualquer custo
    –   Exemplo:
         Pragma: no-cache
●   HTTP Header 'Cache-Control'
    –   Header definido pelo HTTP 1.1 para controlar e
        definir funcionamento dos caches
    –   Tem prioridade sobre o header Expires
    –   DEVE ser obedecido por qualquer cache
    –   Exemplo:
         Cache-Control: no-cache
●   HTTP Header 'If-Modified-Since'
    –   Header enviado pelo user-agent para validar um
        objeto
    –   Se o objeto ainda for válido, o servidor Web deverá
        responder com o código 304 (not modified)
    –   Se o objeto não for válido, o servidor Web transfere
        o objeto - código 200 (Ok)
    –   Exemplo:
IF-Modified-Since: Fri, 6 Oct 2007 08:00:00 GMT
Mãos à obra!!

Mais conteúdo relacionado

Mais procurados

Servlets 3: o contexto assíncrono - JavaOne 2010 - Paulo Silveira
Servlets 3: o contexto assíncrono - JavaOne 2010 - Paulo SilveiraServlets 3: o contexto assíncrono - JavaOne 2010 - Paulo Silveira
Servlets 3: o contexto assíncrono - JavaOne 2010 - Paulo SilveiraCaelum
 
Oficina de Squid: Filtros Inteligentes
 Oficina de Squid: Filtros Inteligentes Oficina de Squid: Filtros Inteligentes
Oficina de Squid: Filtros InteligentesThiago Finardi
 
Implementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu ServerImplementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu ServerTiago Bezerra Dos Santos
 
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Felipe Blini
 
Um milhao tdc2014sp Apresentação por Fernando Ike
Um milhao tdc2014sp Apresentação por Fernando IkeUm milhao tdc2014sp Apresentação por Fernando Ike
Um milhao tdc2014sp Apresentação por Fernando IkePaulo Fernandes
 
Entregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMEntregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMRodrigo Zaccara
 
Como migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxComo migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxMarcelo Sabadini
 
Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoThiago Paes
 
Linux - Instalação de Programas
Linux - Instalação de ProgramasLinux - Instalação de Programas
Linux - Instalação de ProgramasFrederico Madeira
 
Introdução aos Servlets e JSPs
Introdução aos Servlets e JSPsIntrodução aos Servlets e JSPs
Introdução aos Servlets e JSPsLuiz Ricardo Silva
 
Python e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentestPython e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentestEdson Celio
 
Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)elliando dias
 

Mais procurados (19)

Servlets 3: o contexto assíncrono - JavaOne 2010 - Paulo Silveira
Servlets 3: o contexto assíncrono - JavaOne 2010 - Paulo SilveiraServlets 3: o contexto assíncrono - JavaOne 2010 - Paulo Silveira
Servlets 3: o contexto assíncrono - JavaOne 2010 - Paulo Silveira
 
Oficina de Squid: Filtros Inteligentes
 Oficina de Squid: Filtros Inteligentes Oficina de Squid: Filtros Inteligentes
Oficina de Squid: Filtros Inteligentes
 
Replicação PostgreSQL com RepManager
Replicação PostgreSQL com RepManagerReplicação PostgreSQL com RepManager
Replicação PostgreSQL com RepManager
 
Servidor Proxy Squid
Servidor Proxy SquidServidor Proxy Squid
Servidor Proxy Squid
 
Implementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu ServerImplementação de Servidor Linux Ubuntu Server
Implementação de Servidor Linux Ubuntu Server
 
Node JS - Parte 3
Node JS - Parte 3Node JS - Parte 3
Node JS - Parte 3
 
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
 
Um milhao tdc2014sp Apresentação por Fernando Ike
Um milhao tdc2014sp Apresentação por Fernando IkeUm milhao tdc2014sp Apresentação por Fernando Ike
Um milhao tdc2014sp Apresentação por Fernando Ike
 
Entregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVMEntregando conteúdo em ambientes extremos na JVM
Entregando conteúdo em ambientes extremos na JVM
 
Escalando Sites com Nginx
Escalando Sites com NginxEscalando Sites com Nginx
Escalando Sites com Nginx
 
Como migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxComo migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para Linux
 
Php WatchDog
Php WatchDogPhp WatchDog
Php WatchDog
 
Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensão
 
Linux - Instalação de Programas
Linux - Instalação de ProgramasLinux - Instalação de Programas
Linux - Instalação de Programas
 
DevOps Braga #5
DevOps Braga #5DevOps Braga #5
DevOps Braga #5
 
Introdução aos Servlets e JSPs
Introdução aos Servlets e JSPsIntrodução aos Servlets e JSPs
Introdução aos Servlets e JSPs
 
Python e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentestPython e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentest
 
Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)Linux Servidor Proxy(squid)
Linux Servidor Proxy(squid)
 
Collectd
CollectdCollectd
Collectd
 

Destaque

B2B Final Project - NCR ATM's
B2B Final Project - NCR ATM'sB2B Final Project - NCR ATM's
B2B Final Project - NCR ATM'sFamy
 
Creative Funding Solutions Capabilities (2)
Creative Funding Solutions Capabilities (2)Creative Funding Solutions Capabilities (2)
Creative Funding Solutions Capabilities (2)Jennie Larry Johnson
 
Steiner József - Kiscsoportok
Steiner József - KiscsoportokSteiner József - Kiscsoportok
Steiner József - KiscsoportokBence Boldog
 
Pp ipresentation1
Pp ipresentation1Pp ipresentation1
Pp ipresentation1Brrz54
 
SEOPPCTraining - Beginners Guide to SEO
SEOPPCTraining - Beginners Guide to SEOSEOPPCTraining - Beginners Guide to SEO
SEOPPCTraining - Beginners Guide to SEOSEO PPC Training
 
Budai Evódia - Elhívás a szolgálatra
Budai Evódia - Elhívás a szolgálatraBudai Evódia - Elhívás a szolgálatra
Budai Evódia - Elhívás a szolgálatraBence Boldog
 
Module 1 safety training
Module 1 safety trainingModule 1 safety training
Module 1 safety trainingbluepearlvet
 
Roads and Habitat Disturbances
Roads and Habitat DisturbancesRoads and Habitat Disturbances
Roads and Habitat DisturbancesEthan Strickler
 
Szilágyi Szabolcs - Lelki ajándékok
Szilágyi Szabolcs - Lelki ajándékokSzilágyi Szabolcs - Lelki ajándékok
Szilágyi Szabolcs - Lelki ajándékokBence Boldog
 
Bush Boake Allen
Bush Boake AllenBush Boake Allen
Bush Boake AllenFamy
 
лялькотерапия на сайт
лялькотерапия на сайтлялькотерапия на сайт
лялькотерапия на сайтpunkoff34
 
Stella Artois Class Presentation - Harvard Case Review
Stella Artois Class Presentation - Harvard Case ReviewStella Artois Class Presentation - Harvard Case Review
Stella Artois Class Presentation - Harvard Case ReviewFamy
 
Retail Audit Presentation - Vaughan Mills & IZOD
Retail Audit Presentation - Vaughan Mills & IZODRetail Audit Presentation - Vaughan Mills & IZOD
Retail Audit Presentation - Vaughan Mills & IZODFamy
 
Pepsi Lipton Brisk - Harvard Business Review Case
Pepsi Lipton Brisk - Harvard Business Review CasePepsi Lipton Brisk - Harvard Business Review Case
Pepsi Lipton Brisk - Harvard Business Review CaseFamy
 

Destaque (17)

B2B Final Project - NCR ATM's
B2B Final Project - NCR ATM'sB2B Final Project - NCR ATM's
B2B Final Project - NCR ATM's
 
Creative Funding Solutions Capabilities (2)
Creative Funding Solutions Capabilities (2)Creative Funding Solutions Capabilities (2)
Creative Funding Solutions Capabilities (2)
 
Steiner József - Kiscsoportok
Steiner József - KiscsoportokSteiner József - Kiscsoportok
Steiner József - Kiscsoportok
 
Noticia
NoticiaNoticia
Noticia
 
Pp ipresentation1
Pp ipresentation1Pp ipresentation1
Pp ipresentation1
 
SEOPPCTraining - Beginners Guide to SEO
SEOPPCTraining - Beginners Guide to SEOSEOPPCTraining - Beginners Guide to SEO
SEOPPCTraining - Beginners Guide to SEO
 
Budai Evódia - Elhívás a szolgálatra
Budai Evódia - Elhívás a szolgálatraBudai Evódia - Elhívás a szolgálatra
Budai Evódia - Elhívás a szolgálatra
 
Cardinal
CardinalCardinal
Cardinal
 
Module 1 safety training
Module 1 safety trainingModule 1 safety training
Module 1 safety training
 
Roads and Habitat Disturbances
Roads and Habitat DisturbancesRoads and Habitat Disturbances
Roads and Habitat Disturbances
 
Szilágyi Szabolcs - Lelki ajándékok
Szilágyi Szabolcs - Lelki ajándékokSzilágyi Szabolcs - Lelki ajándékok
Szilágyi Szabolcs - Lelki ajándékok
 
Bush Boake Allen
Bush Boake AllenBush Boake Allen
Bush Boake Allen
 
пс
пспс
пс
 
лялькотерапия на сайт
лялькотерапия на сайтлялькотерапия на сайт
лялькотерапия на сайт
 
Stella Artois Class Presentation - Harvard Case Review
Stella Artois Class Presentation - Harvard Case ReviewStella Artois Class Presentation - Harvard Case Review
Stella Artois Class Presentation - Harvard Case Review
 
Retail Audit Presentation - Vaughan Mills & IZOD
Retail Audit Presentation - Vaughan Mills & IZODRetail Audit Presentation - Vaughan Mills & IZOD
Retail Audit Presentation - Vaughan Mills & IZOD
 
Pepsi Lipton Brisk - Harvard Business Review Case
Pepsi Lipton Brisk - Harvard Business Review CasePepsi Lipton Brisk - Harvard Business Review Case
Pepsi Lipton Brisk - Harvard Business Review Case
 

Semelhante a Criando um Website Cacheavel

Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e VarnishEscalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e VarnishLucas Brasilino
 
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
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneosFernando Ike
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Marcelo Dieder
 
Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)elliando dias
 
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
 
Poco Bibliotecas C++
Poco Bibliotecas C++Poco Bibliotecas C++
Poco Bibliotecas C++Uilian Ries
 
Desenvolvemos para web?
Desenvolvemos para web?Desenvolvemos para web?
Desenvolvemos para web?Luis Vendrame
 
Aula05 camada de aplicação
Aula05 camada de aplicaçãoAula05 camada de aplicação
Aula05 camada de aplicaçãoTiago Tda
 
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
 
Como definir a quantidade de workers para sua aplicação
Como definir a quantidade de workers para sua aplicaçãoComo definir a quantidade de workers para sua aplicação
Como definir a quantidade de workers para sua aplicaçãoWeverton Timoteo
 

Semelhante a Criando um Website Cacheavel (20)

Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e VarnishEscalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
 
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
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneos
 
Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?Como criar infraestrutura de sites para receber milhões de usuários?
Como criar infraestrutura de sites para receber milhões de usuários?
 
Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)
 
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...
 
Como funciona a internet
Como funciona a internetComo funciona a internet
Como funciona a internet
 
Caching
CachingCaching
Caching
 
Poco Bibliotecas C++
Poco Bibliotecas C++Poco Bibliotecas C++
Poco Bibliotecas C++
 
Desenvolvemos para web?
Desenvolvemos para web?Desenvolvemos para web?
Desenvolvemos para web?
 
Dawi o protocolo-http
Dawi o protocolo-httpDawi o protocolo-http
Dawi o protocolo-http
 
Aula05 camada de aplicação
Aula05 camada de aplicaçãoAula05 camada de aplicação
Aula05 camada de aplicação
 
Rest workshop
Rest workshopRest workshop
Rest workshop
 
Aula 1
Aula 1Aula 1
Aula 1
 
Http 2.0
Http 2.0Http 2.0
Http 2.0
 
Minicurso Web. Front-end e HTML5 (parte 2)
Minicurso Web. Front-end e HTML5 (parte 2)Minicurso Web. Front-end e HTML5 (parte 2)
Minicurso Web. Front-end e HTML5 (parte 2)
 
Introdução APIs RESTful
Introdução APIs RESTfulIntrodução APIs RESTful
Introdução APIs RESTful
 
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
 
Como definir a quantidade de workers para sua aplicação
Como definir a quantidade de workers para sua aplicaçãoComo definir a quantidade de workers para sua aplicação
Como definir a quantidade de workers para sua aplicação
 

Criando um Website Cacheavel

  • 1. Criando um website cacheável Lucas Brasilino <lucas.brasilino@gmail.com> Procuradoria Geral da República / MPF
  • 2. Agenda: – O procotolo HTTP 1.1 – A requisição – A resposta – Manipulando HTTP Headers ● Expires ● Cache-Control ● If-Modified-Since
  • 3. O protocolo HTTP 1.1 – Avanço sobre o HTTP 1.0 – Definido pela RFC 2616 – Inclui um número de mecanismos de validação e controle de objetos cacheáveis
  • 4. A requisição HTTP 1.1 GET / HTTP/1.1 Host: www.festivalsoftwarelivre.org User-Agent: Mozilla/5.0 (X11; U; Linux i686; pt-BR; rv:1.8.1.5) Gecko/20070718 Fedora/2.0.0.5-1.fc7 Firefox/2.0.0.5 Accept: text/xml,application/xml,text/html,text/plain,image/png,*/* 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 Keep-Alive: 300 Connection: keep-alive ↵
  • 5. A resposta HTTP HTTP/1.x 302 Moved Temporarily Date: Fri, 05 Oct 2007 15:29:19 GMT Server: Apache Location: inicio/ Content-Length: 0 Content-Type: text/html X-Cache: MISS from zeus.pgr.mpf.gov.br Via: 1.0 zeus.pgr.mpf.gov.br:3128 (squid/2.6.STABLE16) Proxy-Connection: keep-alive ↵
  • 6. A requisição HTTP 1.1 GET /inicio/ HTTP/1.1 Host: www.festivalsoftwarelivre.org User-Agent: Mozilla/5.0 (X11; U; Linux i686; pt-BR; rv:1.8.1.5) Gecko/20070718 Fedora/2.0.0.5-1.fc7 Firefox/2.0.0.5 Accept: text/xml,application/xml,text/html,text/plain,image/png,*/* 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 Keep-Alive: 300 Connection: keep-alive ↵
  • 7. A resposta HTTP HTTP/1.x 200 OK Date: Fri, 05 Oct 2007 15:27:40 GMT Server: Apache Last-Modified: Fri, 05 Oct 2007 13:02:30 GMT Accept-Ranges: bytes Content-Length: 49780 Content-Type: text/html Connection: keep-alive ↵ <html> <head>...
  • 8. HTTP Header 'Expires' – Indica o dia ou hora que o objeto (ou a resposta) é considerada 'velha' (expirada) ● Objetos velhos não devem ser retornados pelo cache (seja proxy/cache, seja user-agent cache) – O valor de seu campo é uma data/hora no formato: DiaSemana, Data Mes Ano H:M:S GMT – Exemplo: Expires: Fri, 01 Oct 2007 23:00:00 GMT
  • 9. HTTP Header 'Pragma' – Header de propósito geral ● Na realidade foi um 'jeitinho' – DEVE ser evitado a qualquer custo – Exemplo: Pragma: no-cache
  • 10. HTTP Header 'Cache-Control' – Header definido pelo HTTP 1.1 para controlar e definir funcionamento dos caches – Tem prioridade sobre o header Expires – DEVE ser obedecido por qualquer cache – Exemplo: Cache-Control: no-cache
  • 11. HTTP Header 'If-Modified-Since' – Header enviado pelo user-agent para validar um objeto – Se o objeto ainda for válido, o servidor Web deverá responder com o código 304 (not modified) – Se o objeto não for válido, o servidor Web transfere o objeto - código 200 (Ok) – Exemplo: IF-Modified-Since: Fri, 6 Oct 2007 08:00:00 GMT