SlideShare una empresa de Scribd logo
1 de 65
Descargar para leer sin conexión
HTTP Cache + Varnish
Web sites performance optimization
@desarrolla2

               Desarrollador
                 PHP desde
               septiembre de
                   2007




                Buscando
                 curro!!!
¿Por qué?

GWT: Asegura que mi sitio es lento




On average, pages in your site take 2.2 seconds to load (updated on Mar
21, 2012). This is faster than 63% of sites.
HTTP Cache
Web sites performance optimization
¿Por qué?

"Es (posiblemente) el
sistema de cache que
más eficaz y fácil de
    implementar."
        - Daniel González
Objetivo

 "Nunca generar la
misma respuesta dos
     veces."
             - Alguien
HTTP Cache

  "Es un protocolo de cache que debería ser
 respetado por todas las capas intermedias y
            por los navegadores."
HTTP Cache: Freshness


    "En la mayoría de
   los casos es la mejor
   estrategia de cache."
HTTP Cache: Freshness

Cache-Control
  Public, Private
  No-Cache, No-store
  max-age, s-maxage
  must-revalidate
  // ..
      Cache-Control: Public, s-maxage:3600, must-
  revalidate
Expires
     Expires Tue, 20 Mar 2012 11:21:13 GMT
HTTP Cache: Freshness

Pragma
    Pragma: Private, max-age:3600
HTTP Cache: Freshness


$response->setMaxAge(15 * 60); $response->setExpires
(new DateTime('now + 15 minutes'));
// ..
HTTP Cache: Freshness

header("Cache-Control:...");
header("Pragma:...");
// ..
HTTP Cache: Freshness

<meta http-equiv="Cache-Control" content="max-
age=3600, private">
HTTP Cache: Freshness


<filesMatch ".(js|css)$">
    Header set Cache-Control "private, max-age=7200"
</filesMatch>
HTTP Cache: Validation


     "Cuando no puedes
    predecir la frecuencia
   con la que cambian tus
          recursos."
HTTP Cache: Validation

Last-Modified
  Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT


Etag
  ETag: "3e86-410-3596fbbc"
HTTP Cache: Validation


$response->setLastModified(new DateTime('2000-01-
01'));
$response->setEtag(md5($response->getContent()));
// ..

$response->setCache(array());
HTTP Cache: Validation


<filesMatch ".(gif|jpg|jpeg|png|mpg|avi)$">
    Header set Last-modified "Mon, 03 Jan 2011 13:02:54
GMT"
</filesMatch>
HTTP Cache



HTTP/1.1 200 OK
Date: Fri, 30 Oct 1998 13:19:41 GMT
Cache-Control: public, s-maxage=3600
Expires: Fri, 30 Oct 1998 14:19:41 GMT
Last-Modified: Mon, 29 Jun 1998 02:28:12 GMT
ETag: "3e86-410-3596fbbc"
// ..
HTTP Cache: Friendly URL's


http://misite.com/es/home-user/welcome/



http://misite.com/welcome.php/?
country=es&usertype=home-user
ESI

      <esi:include src="
      http://misite.
      com/header.php" />



      ● include_partial()
      ● {% render %}


      http://www.w3.
      org/TR/esi-lang
ESI
Estandar no es claro


   Puede ser ignorado


Una cache en cada cliente


   Invalidar la cache
http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html
Varnish
HTTP Accelerator
¿Por que?

   "Varnish is a web
       application
accelerator. You install
it in front of your web
application and it will
       speed it up
     significantly."
¿Por que?




"Rápido, Flexible y
   Escalable"
Varnish: http cache
¿Que es?




           Reverse Proxy

           Proxy Cache
¿Que es?




           Fail Over System

            Load Balancer
Caracteristicas


       Obedece cabeceras HTTP Cache

         Cache de recursos estáticos

    Modifica las cabeceras y las cookies de
           peticiones y respuestas
¿Quien?
¿Cómo?
Instalación
sudo apt-get install varnish
sudo vim /etc/varnish/default.vcl
   backend default {
       .host = "127.0.0.1";
       .port = "8080";
   }




sudo vim /etc/apache2/ports.conf
Listen 8080
Instalación
sudo vim /etc/default/varnish
START=yes //
DAEMON_OPTS="-a :8080  // puerto
      -T localhost:6082 
      -f /etc/varnish/default.vcl  // vlc script
      -S /etc/varnish/secret  //cli autentication
         -s file,/var/lib/varnish/$INSTANCE/varnish_storage.bin,1G"
//storage, malloc mantendría los objetos en memoria




  https://www.varnish-cache.org/docs/2.
  1/installation/install.html
Varnish: assets
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf)$">
    Header set Cache-Control "max-age=2592000"
</FilesMatch>
<FilesMatch ".(css|js)$">
    Header set Cache-Control "max-age=604800"
</FilesMatch>




$ ab -n 2000 -c 100 http://sfm.desarrolla2.
com/bundles/sfmwebsite/images/titulo-symfony-madrid.png
Varnish Configuration Language

Subroutines
    vcl_recv / vcl_fetch / vcl_deliver / vcl_hash / vcl_miss
/ vcl_hit / vcl_error / ...
Actions
   pass / lookup / pipe / deliver
Objects
   req / beresp / obj
Varnish: cookies
sub vcl_recv {
   if (req.request == "GET" && req.url ~ ".(jpg|jpeg|gif|png)$") {
         unset req.http.Cookie;
         return(lookup);
    }
}

sub vcl_fetch {
    if (req.url ~ ".(jpg|jpeg|gif|png)$") {
          unset beresp.http.set-cookie;
    }
}
Varnish: Headers

sub vcl_fetch {
    if (!beresp.cacheable) {
    return (pass);
    }
    set beresp.http.Server = "SFM Server 1.0" ;
    return (deliver);
}
Varnish: Headers

sub vcl_deliver {
    if (obj.hits > 0) {
         set resp.http.X-Cache = "HIT " obj.hits;
    } else {
         set resp.http.X-Cache = "MISS";
    }
    return (deliver)
}




$ curl - I http://sfm.desarrolla2.com/bundles/sfmwebsite/images/titulo-
symfony-madrid.png
Varnish: invalidar la caché

acl purge{
    "localhost";
     "192.168.55.0"/24;
}

if (req.request == "PURGE") {
      if (!client.ip ~ purge) {
            error 405 "Not allowed.";
      }
}
Varnish: invalidar la caché
sub vcl_hit {
  if (req.request == "PURGE") {
     set obj.ttl = 0s;
     error 200 "Purged";
  }
}

sub vcl_miss {
  if (req.request == "PURGE") {
     error 404 "Not purged";
  }
}
Varnish vs Memcached
                       En el
                       momento en
                       el que el
                       recurso ha
                       caducado.




                       publico.es
Symfony2 Reverse Proxy
Varnish: invalidar la caché
<?php

require_once __DIR__.'/../app/bootstrap.php.cache';
require_once __DIR__.'/../app/AppKernel.php';
//require_once __DIR__.'/../app/AppCache.php';

use SymfonyComponentHttpFoundationRequest;

$kernel = new AppKernel('prod', false);
$kernel->loadClassCache();
//$kernel = new AppCache($kernel);
$kernel->handle(Request::createFromGlobals())->send();
Conclusiónes


   "con HTTP Cache + Varnish el
  rendimiento de tu sitio mejorará
          notablemente"
Conclusiónes


 "HTTP Cache + Varnish por si solo
  son insuficiente, necesitas utilizar
otras técnicas, como carga asincrona
  de recursos, minimización, ect..."
Varnish http cache
Varnish http cache
Varnish http cache

Más contenido relacionado

La actualidad más candente

Ansible administracion simplificada
Ansible   administracion simplificada Ansible   administracion simplificada
Ansible administracion simplificada bcoca
 
Jvmmx docker jvm
Jvmmx docker jvmJvmmx docker jvm
Jvmmx docker jvmsuperserch
 
Aspnet40 Cache Extensibility
Aspnet40 Cache ExtensibilityAspnet40 Cache Extensibility
Aspnet40 Cache ExtensibilityChristian Strevel
 
Web Performance para Magento
Web Performance para MagentoWeb Performance para Magento
Web Performance para MagentoJordi Rosell
 
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...Adrián Lois
 
Node.js - Eventos para Todos
Node.js - Eventos para TodosNode.js - Eventos para Todos
Node.js - Eventos para TodosMariano Iglesias
 
Instalación de un servicio de proxy, Squid
Instalación de un servicio de proxy, SquidInstalación de un servicio de proxy, Squid
Instalación de un servicio de proxy, SquidJavichu Moya
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magentoOnestic
 
AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016SpanishPASSVC
 
Por qué Symfony2 es tan rápido
Por qué Symfony2 es tan rápidoPor qué Symfony2 es tan rápido
Por qué Symfony2 es tan rápidoCarlos Granados
 
Sandbox para ejercicios de programación
Sandbox para ejercicios de programaciónSandbox para ejercicios de programación
Sandbox para ejercicios de programaciónMario Garcia-Valdez
 
Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012dbLearner
 
Informacion para aportar
Informacion para aportarInformacion para aportar
Informacion para aportarjorgefchc2
 

La actualidad más candente (18)

Ansible administracion simplificada
Ansible   administracion simplificada Ansible   administracion simplificada
Ansible administracion simplificada
 
Manual de uso_de_squid
Manual de uso_de_squidManual de uso_de_squid
Manual de uso_de_squid
 
Aspectos nodejs
Aspectos nodejsAspectos nodejs
Aspectos nodejs
 
Jvmmx docker jvm
Jvmmx docker jvmJvmmx docker jvm
Jvmmx docker jvm
 
Aspnet40 Cache Extensibility
Aspnet40 Cache ExtensibilityAspnet40 Cache Extensibility
Aspnet40 Cache Extensibility
 
Web Performance para Magento
Web Performance para MagentoWeb Performance para Magento
Web Performance para Magento
 
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
Implementación Docker Swarm en Amazon Web Services usando Auto Scaling Groups...
 
Node.js - Eventos para Todos
Node.js - Eventos para TodosNode.js - Eventos para Todos
Node.js - Eventos para Todos
 
Instalación de un servicio de proxy, Squid
Instalación de un servicio de proxy, SquidInstalación de un servicio de proxy, Squid
Instalación de un servicio de proxy, Squid
 
Jvmmx jigsaw
Jvmmx jigsawJvmmx jigsaw
Jvmmx jigsaw
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magento
 
AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016AlwaysOn en SQL Server 2016
AlwaysOn en SQL Server 2016
 
Por qué Symfony2 es tan rápido
Por qué Symfony2 es tan rápidoPor qué Symfony2 es tan rápido
Por qué Symfony2 es tan rápido
 
Sandbox para ejercicios de programación
Sandbox para ejercicios de programaciónSandbox para ejercicios de programación
Sandbox para ejercicios de programación
 
Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012
 
Cherokee
CherokeeCherokee
Cherokee
 
Informacion para aportar
Informacion para aportarInformacion para aportar
Informacion para aportar
 
Curso Squid avanzado
Curso Squid avanzadoCurso Squid avanzado
Curso Squid avanzado
 

Similar a Varnish http cache

Similar a Varnish http cache (20)

Webperf wordpress
Webperf wordpressWebperf wordpress
Webperf wordpress
 
Carlos Pascual #WPvalladolid 2014
Carlos Pascual #WPvalladolid 2014Carlos Pascual #WPvalladolid 2014
Carlos Pascual #WPvalladolid 2014
 
High performance Web Sites
High performance Web SitesHigh performance Web Sites
High performance Web Sites
 
Curso de php
Curso de phpCurso de php
Curso de php
 
Performance en Drupal 7
Performance en Drupal 7Performance en Drupal 7
Performance en Drupal 7
 
Servicios web
Servicios webServicios web
Servicios web
 
Nginx
NginxNginx
Nginx
 
1212
12121212
1212
 
Servicios web
Servicios webServicios web
Servicios web
 
Aceleradores Php Final - Programador PHP
Aceleradores Php Final - Programador PHPAceleradores Php Final - Programador PHP
Aceleradores Php Final - Programador PHP
 
Aceleradores Php Final - Programador PHP
Aceleradores Php Final - Programador PHPAceleradores Php Final - Programador PHP
Aceleradores Php Final - Programador PHP
 
Aceleradores PHP Final - Programador PHP
Aceleradores PHP Final - Programador PHPAceleradores PHP Final - Programador PHP
Aceleradores PHP Final - Programador PHP
 
(20.05.2009) Cumuy Presenta - Más tecnologías interesantes para conocer - PPT 1
(20.05.2009) Cumuy Presenta - Más tecnologías interesantes para conocer - PPT 1(20.05.2009) Cumuy Presenta - Más tecnologías interesantes para conocer - PPT 1
(20.05.2009) Cumuy Presenta - Más tecnologías interesantes para conocer - PPT 1
 
Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)Introducción a varnish cache (@irontec)
Introducción a varnish cache (@irontec)
 
Charla web performance optimization
Charla   web performance optimizationCharla   web performance optimization
Charla web performance optimization
 
Un poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernesUn poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernes
 
Ajax
AjaxAjax
Ajax
 
Glassfish
GlassfishGlassfish
Glassfish
 
Servicios web
Servicios webServicios web
Servicios web
 
Tecnologías para microservicios
Tecnologías para microserviciosTecnologías para microservicios
Tecnologías para microservicios
 

Más de Daniel González Cerviño

Más de Daniel González Cerviño (6)

Refactoring with php storm
Refactoring with php stormRefactoring with php storm
Refactoring with php storm
 
Presentación del grupo PHPMad en el codemotion madrid 2014
Presentación del grupo PHPMad en el codemotion madrid 2014Presentación del grupo PHPMad en el codemotion madrid 2014
Presentación del grupo PHPMad en el codemotion madrid 2014
 
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
Codemotion Madrid 2013 - [PHP] desarrollo de extensiones en c c++
 
Monolog - deSymfony unconference 2013
Monolog - deSymfony unconference 2013 Monolog - deSymfony unconference 2013
Monolog - deSymfony unconference 2013
 
Conquista la galaxia con GIT
Conquista la galaxia con GITConquista la galaxia con GIT
Conquista la galaxia con GIT
 
Introducción a TDD y PHPUnit
Introducción a TDD y PHPUnitIntroducción a TDD y PHPUnit
Introducción a TDD y PHPUnit
 

Último

Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 

Último (20)

Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 

Varnish http cache