The document discusses HTTP 2.0 and SPDY. Some key points include:
1. HTTP 2.0 uses a binary format instead of text and allows multiplexing requests over a single TCP connection to reduce latency.
2. Features like header compression, server push and request prioritization help optimize loading of web pages.
3. SPDY is an experimental protocol developed by Google that implements many of the same optimizations as HTTP 2.0.
A talk about how HTTP caching features that can and should be used to reduce origin server loads and traffic whilst retaining very small cache expire times. More specifically will cover what basic http headers are used by standard cache devices and how they differ, as well as how can they be used in combination to achieve smart cache revalidation.
Presentation explains advanced HTTP caching mechanisms like decomposition, stale content delivery, purging based on tags and caching of user-specific data.
The document discusses REST API design principles and best practices. It begins by providing examples of RESTful API requests and responses. It then covers REST concepts like resources, verbs, hypermedia, content negotiation, and representation formats. The document advocates for designing APIs that are self-documenting through hypermedia and embedding links to allow discovery of available state transitions and actions. It also discusses balancing REST purism with pragmatic design choices and notes that many popular APIs are not purely RESTful but are still well-designed.
In this presentation, I show the audience how to implement HTTP caching best practices in a non-intrusive way in PHP Symfony 4 code base.
This presentation focuses on topics like:
- Caching using cache-control headers
- Cache variations using the Vary header
- Conditional requests using headers like ETag & If-None-Match
- ESI discovery & parsing using headers like Surrogate-Capability & Surrogate-Control
- Caching stateful content using JSON Web Token Validation in Varnish
More information about this presentation is available at https://feryn.eu/speaking/developing-cacheable-php-applications-php-limburg-be/
The document discusses developing cacheable PHP applications. It recommends designing software with HTTP caching in mind by making applications stateless, using well-defined time to lives for cache expiration, and conditionally caching content. It also discusses common problems like time to live variations and authentication that make caching challenging. The document provides examples of implementing caching using Symfony, Twig templates, and Edge Side Includes to break pages into cacheable components.
Developers choose HTTP for its ubiquity. HTTP's semantics are cherry-picked or embraced in the myriad of apis we develop and consume. Efficiency discussions are commonplace: Does this design imply N+1 requests? Should we denormalize the model? How do consumers discover changes in state? How many connections are needed to effectively use this api?
Meanwhile, HTTP 1.1 is a choice, as opposed to constant. SPDY and HTTP/2 implementations surface, simultaneously retaining semantics and dramatically changing performance implications. We can choose treat these new protocols as more efficient versions HTTP 1.1 or buy into new patterns such as server-side push.
This session walks you through these topics via an open source project from Square called okhttp. You'll understand how okhttp addresses portability so that you can develop against something as familiar as java's HTTPUrlConnection. We'll review how to use new protocol features and constraints to keep in mind along the way. You'll learn how to sandbox ideas with okhttp's mock server, so that you can begin experimenting with SPDY and HTTP/2 today!
A talk about how HTTP caching features that can and should be used to reduce origin server loads and traffic whilst retaining very small cache expire times. More specifically will cover what basic http headers are used by standard cache devices and how they differ, as well as how can they be used in combination to achieve smart cache revalidation.
Presentation explains advanced HTTP caching mechanisms like decomposition, stale content delivery, purging based on tags and caching of user-specific data.
The document discusses REST API design principles and best practices. It begins by providing examples of RESTful API requests and responses. It then covers REST concepts like resources, verbs, hypermedia, content negotiation, and representation formats. The document advocates for designing APIs that are self-documenting through hypermedia and embedding links to allow discovery of available state transitions and actions. It also discusses balancing REST purism with pragmatic design choices and notes that many popular APIs are not purely RESTful but are still well-designed.
In this presentation, I show the audience how to implement HTTP caching best practices in a non-intrusive way in PHP Symfony 4 code base.
This presentation focuses on topics like:
- Caching using cache-control headers
- Cache variations using the Vary header
- Conditional requests using headers like ETag & If-None-Match
- ESI discovery & parsing using headers like Surrogate-Capability & Surrogate-Control
- Caching stateful content using JSON Web Token Validation in Varnish
More information about this presentation is available at https://feryn.eu/speaking/developing-cacheable-php-applications-php-limburg-be/
The document discusses developing cacheable PHP applications. It recommends designing software with HTTP caching in mind by making applications stateless, using well-defined time to lives for cache expiration, and conditionally caching content. It also discusses common problems like time to live variations and authentication that make caching challenging. The document provides examples of implementing caching using Symfony, Twig templates, and Edge Side Includes to break pages into cacheable components.
Developers choose HTTP for its ubiquity. HTTP's semantics are cherry-picked or embraced in the myriad of apis we develop and consume. Efficiency discussions are commonplace: Does this design imply N+1 requests? Should we denormalize the model? How do consumers discover changes in state? How many connections are needed to effectively use this api?
Meanwhile, HTTP 1.1 is a choice, as opposed to constant. SPDY and HTTP/2 implementations surface, simultaneously retaining semantics and dramatically changing performance implications. We can choose treat these new protocols as more efficient versions HTTP 1.1 or buy into new patterns such as server-side push.
This session walks you through these topics via an open source project from Square called okhttp. You'll understand how okhttp addresses portability so that you can develop against something as familiar as java's HTTPUrlConnection. We'll review how to use new protocol features and constraints to keep in mind along the way. You'll learn how to sandbox ideas with okhttp's mock server, so that you can begin experimenting with SPDY and HTTP/2 today!
200, 404, 302. Is it a lock combination? A phone number? No, they're HTTP status codes! As we develop Web applications, we encounter these status codes and others, and often we make decisions about which ones to return without giving much thought to their meaning or context. It's time to take a deeper look at HTTP. Knowing the methods, headers, and status codes, what they mean, and how to use them can help you develop richer Internet applications. Join Ben Ramsey as he takes you on a journey through RFC 2616 to discover some of the gems of HTTP.
Site Performance Optimization for Joomla #jwc13Hans Kuijpers
It's easy to improve the speed of your Joomla website. Just follow the tips & tricks of this presentation about Site Performance Optimization. These are the slides used during the Joomla World Conference 2013 in Boston #jwc13
This document discusses caching in HTTP and provides examples of using HTTP caching headers like Cache-Control, Expires, ETag, and Last-Modified to improve performance. It explains how browsers, proxies, and other intermediaries can cache responses to reduce server load. Expiration headers indicate how long a response can be cached, while validation headers allow checking if content has changed to return 304 responses instead of full 200 responses when a cached response is still fresh.
Varnish is an HTTP accelerator and caching reverse proxy that can be used to speed up websites. It works by caching responses from the web server to reduce load and serve subsequent requests from the cache. The HTTP specification defines caching mechanisms like expiration dates, validation of cached responses using headers like Last-Modified and ETag, and conditional requests to prevent generating duplicate responses. Varnish leverages these caching features to improve website performance.
The document provides information on using XMPP (Extensible Messaging and Presence Protocol) to power a website with real-time data. It discusses older methods using meta refresh and AJAX polling. It then covers key aspects of XMPP including using XMPP servers, addressing with JIDs, common stanzas like presence and message, and extensions like pubsub and MUC for publishing and chat. It also lists libraries for connecting to XMPP like XMPPHP, Jaxl and Strophe.js. Examples demonstrate sending messages, IQ ping pong, and a support chat application.
Performance presentation given to our in-house interactive team on website performance, taking heart.co.uk as an example... Presentation delivered by Jon Topper and Gareth Senior
This document provides an overview of using caching to serve visitor-specific content quickly while avoiding server-side sessions. It discusses using HTTP caching headers, a reverse proxy like Varnish, and the Symfony cache to cache responses varying by target groups identified in request cookies. The target groups are reevaluated on cache hits by making conditional requests in the reverse proxy layer using Varnish configuration.
The document summarizes Memento, a framework that adds time dimension to the web by enabling HTTP clients to access past versions of resources. It proposes using Accept-Datetime and Content-Datetime HTTP headers to negotiate the datetime of the content, and linking current and past versions so the web has a temporal dimension. Memento allows accessing archived versions of a resource using the URI of its current version qualified with a datetime.
This document summarizes research conducted by OpenDNS on catching malware using DNS and IP data. It describes how OpenDNS analyzed DNS records to track fast flux botnets, crimeware command and control infrastructure, and phishing domains. Visualization techniques were used to create graphs of the relationships between domains and IP addresses over time. This research enabled OpenDNS to detect and block new strains of malware.
This document summarizes Thijs Feryn's talk on PHP from the perspective of a hoster. It discusses PHP installations and configurations, including using packages versus compiling from source. It covers PHP versions and features like PEAR and PECL extensions. It also discusses scaling PHP applications and common performance issues seen by hosters. The hoster plays an important role in the PHP ecosystem and aims to ensure applications work, perform, scale, and are secure.
The document describes the Tiny Web Server, a simple HTTP server that serves static and dynamic content using the GET method. It parses GET requests, determines if the request is for static or dynamic content, opens and reads the requested file or executes the CGI program, and returns the content along with appropriate HTTP response headers. Key components include parsing the URI to extract the filename and CGI arguments, checking for valid files, and using routines like serve_static() and serve_dynamic() to handle different content types.
This document discusses using Nginx as a web server with PHP. It provides configuration examples for using Nginx with PHP-FPM to pass PHP requests. Benchmarks show Nginx performs better than Apache. It also discusses using Nginx as a reverse proxy cache, and provides configuration examples to cache content and pass caching controls from PHP.
Facebook uses caching at multiple levels to improve performance and scalability. Caching is implemented globally, with APC, Memcached, and browser caches. Memcached is used to cache user profiles, photos, friends lists, and other frequently accessed data. Caching is optimized through techniques like caching serialization formats, priming APC, and caching parsed user agent strings. Dirty caching ensures cached data is invalidated when the source data changes.
The document discusses using DNS service discovery (DNS-SD) to automatically configure sFlow agents. It describes how SRV and TXT records are added to a DNS zone file to provide sFlow agent configuration settings. When sFlow agents perform DNS queries, they receive responses containing the IP addresses and ports of sFlow collectors as well as sampling settings. This allows for plug-and-play configuration of many heterogeneous clients using the widely supported DNS protocol.
- HipHop – replacement for Zend PHP
- HPHPc and HHVM
- Supported OS
- Compatibility with PHP: version, extensions
- Operational modes: CLI, Server
- Configuration features
- Performance: capital.ua on Symfony 1.4, Sylius on Symfony 2.3
- HHVM with your project: Vagrant
- Popular frameworks and CMS support
- Competitors: kPHP
Varnish Cache and Django (Falcon, Flask etc)Данил Иванов
Varnish is a reverse proxy cache that sits in front of web servers to improve performance by caching responses. It uses a key-value store to cache responses in memory based on requests. The document discusses Varnish's architecture including its state machine and VCL configuration language. It also covers caching policies, cache invalidation methods, and integrating Django with Varnish.
Talk about HTTP/2, how it has been deployed, did it meet its promises and how QUIC is going to attempt to fix some of the remaining issues. Held in FOSDEM at Febyrar 2017.
This document discusses measuring and analyzing web latency. It provides an overview of key latency metrics like server rendering time and time to load. It describes how to monitor latency over time and analyze trends. It also discusses testing latency through synthetic benchmarks and real user monitoring. The document emphasizes the importance of understanding client-side rendering times and how latency can be impacted by many factors.
The document provides an overview of basic web security concepts including:
1. It defines common web terms like front-end, back-end, cookies, sessions, URLs, HTTP methods, headers and status codes.
2. It discusses how cookies and sessions are used to track users and maintain state on the web.
3. It covers potential information leaks from files like robots.txt, hidden files and directories as well as techniques for searching websites like Google hacking.
4. It introduces common web vulnerabilities like XSS, CSRF and discusses how attacks are carried out and potential impacts. It also notes some PHP quirks that could be exploited if not understood.
HTTP is one of the most widely used protocols in the world.
The version of HTTP 1.1, used to this day, was developed and described 18 years ago - 1999.
With the increasing complexity of web applications, the capabilities of HTTP 1.1 are already insufficient to provide increased demands on performance and responsiveness.
So in order to meet new requirements, HTTP must evolve. HTTP 2.0 is designed to make web applications faster, simple and reliable.
In this report I will tell about
- drawbacks of HTTP 1.1 and why we need a new version of HTTP.
- which advantages HTTP/2 offers in comparison with the previous version?
- how the new protocol affected the new version of SERVLET 4.0 and how we can use it.
HTTP/3 over QUIC. All is new but still the same!Daniel Stenberg
HTTP/3 is the designated name for the coming next version of the protocol that is currently under development within the QUIC working group in the IETF. HTTP/3 is designed to improve in areas where HTTP/2 still has some shortcomings, primarily by changing the transport layer. HTTP/3 is the first major protocol to step away from TCP and instead it uses QUIC.
Daniel Stenberg does a presentation about HTTP/3 and QUIC. Why the new protocols are deemed necessary, how they work, how they change how things are sent over the network and what some of the coming deployment challenges will be.
200, 404, 302. Is it a lock combination? A phone number? No, they're HTTP status codes! As we develop Web applications, we encounter these status codes and others, and often we make decisions about which ones to return without giving much thought to their meaning or context. It's time to take a deeper look at HTTP. Knowing the methods, headers, and status codes, what they mean, and how to use them can help you develop richer Internet applications. Join Ben Ramsey as he takes you on a journey through RFC 2616 to discover some of the gems of HTTP.
Site Performance Optimization for Joomla #jwc13Hans Kuijpers
It's easy to improve the speed of your Joomla website. Just follow the tips & tricks of this presentation about Site Performance Optimization. These are the slides used during the Joomla World Conference 2013 in Boston #jwc13
This document discusses caching in HTTP and provides examples of using HTTP caching headers like Cache-Control, Expires, ETag, and Last-Modified to improve performance. It explains how browsers, proxies, and other intermediaries can cache responses to reduce server load. Expiration headers indicate how long a response can be cached, while validation headers allow checking if content has changed to return 304 responses instead of full 200 responses when a cached response is still fresh.
Varnish is an HTTP accelerator and caching reverse proxy that can be used to speed up websites. It works by caching responses from the web server to reduce load and serve subsequent requests from the cache. The HTTP specification defines caching mechanisms like expiration dates, validation of cached responses using headers like Last-Modified and ETag, and conditional requests to prevent generating duplicate responses. Varnish leverages these caching features to improve website performance.
The document provides information on using XMPP (Extensible Messaging and Presence Protocol) to power a website with real-time data. It discusses older methods using meta refresh and AJAX polling. It then covers key aspects of XMPP including using XMPP servers, addressing with JIDs, common stanzas like presence and message, and extensions like pubsub and MUC for publishing and chat. It also lists libraries for connecting to XMPP like XMPPHP, Jaxl and Strophe.js. Examples demonstrate sending messages, IQ ping pong, and a support chat application.
Performance presentation given to our in-house interactive team on website performance, taking heart.co.uk as an example... Presentation delivered by Jon Topper and Gareth Senior
This document provides an overview of using caching to serve visitor-specific content quickly while avoiding server-side sessions. It discusses using HTTP caching headers, a reverse proxy like Varnish, and the Symfony cache to cache responses varying by target groups identified in request cookies. The target groups are reevaluated on cache hits by making conditional requests in the reverse proxy layer using Varnish configuration.
The document summarizes Memento, a framework that adds time dimension to the web by enabling HTTP clients to access past versions of resources. It proposes using Accept-Datetime and Content-Datetime HTTP headers to negotiate the datetime of the content, and linking current and past versions so the web has a temporal dimension. Memento allows accessing archived versions of a resource using the URI of its current version qualified with a datetime.
This document summarizes research conducted by OpenDNS on catching malware using DNS and IP data. It describes how OpenDNS analyzed DNS records to track fast flux botnets, crimeware command and control infrastructure, and phishing domains. Visualization techniques were used to create graphs of the relationships between domains and IP addresses over time. This research enabled OpenDNS to detect and block new strains of malware.
This document summarizes Thijs Feryn's talk on PHP from the perspective of a hoster. It discusses PHP installations and configurations, including using packages versus compiling from source. It covers PHP versions and features like PEAR and PECL extensions. It also discusses scaling PHP applications and common performance issues seen by hosters. The hoster plays an important role in the PHP ecosystem and aims to ensure applications work, perform, scale, and are secure.
The document describes the Tiny Web Server, a simple HTTP server that serves static and dynamic content using the GET method. It parses GET requests, determines if the request is for static or dynamic content, opens and reads the requested file or executes the CGI program, and returns the content along with appropriate HTTP response headers. Key components include parsing the URI to extract the filename and CGI arguments, checking for valid files, and using routines like serve_static() and serve_dynamic() to handle different content types.
This document discusses using Nginx as a web server with PHP. It provides configuration examples for using Nginx with PHP-FPM to pass PHP requests. Benchmarks show Nginx performs better than Apache. It also discusses using Nginx as a reverse proxy cache, and provides configuration examples to cache content and pass caching controls from PHP.
Facebook uses caching at multiple levels to improve performance and scalability. Caching is implemented globally, with APC, Memcached, and browser caches. Memcached is used to cache user profiles, photos, friends lists, and other frequently accessed data. Caching is optimized through techniques like caching serialization formats, priming APC, and caching parsed user agent strings. Dirty caching ensures cached data is invalidated when the source data changes.
The document discusses using DNS service discovery (DNS-SD) to automatically configure sFlow agents. It describes how SRV and TXT records are added to a DNS zone file to provide sFlow agent configuration settings. When sFlow agents perform DNS queries, they receive responses containing the IP addresses and ports of sFlow collectors as well as sampling settings. This allows for plug-and-play configuration of many heterogeneous clients using the widely supported DNS protocol.
- HipHop – replacement for Zend PHP
- HPHPc and HHVM
- Supported OS
- Compatibility with PHP: version, extensions
- Operational modes: CLI, Server
- Configuration features
- Performance: capital.ua on Symfony 1.4, Sylius on Symfony 2.3
- HHVM with your project: Vagrant
- Popular frameworks and CMS support
- Competitors: kPHP
Varnish Cache and Django (Falcon, Flask etc)Данил Иванов
Varnish is a reverse proxy cache that sits in front of web servers to improve performance by caching responses. It uses a key-value store to cache responses in memory based on requests. The document discusses Varnish's architecture including its state machine and VCL configuration language. It also covers caching policies, cache invalidation methods, and integrating Django with Varnish.
Talk about HTTP/2, how it has been deployed, did it meet its promises and how QUIC is going to attempt to fix some of the remaining issues. Held in FOSDEM at Febyrar 2017.
This document discusses measuring and analyzing web latency. It provides an overview of key latency metrics like server rendering time and time to load. It describes how to monitor latency over time and analyze trends. It also discusses testing latency through synthetic benchmarks and real user monitoring. The document emphasizes the importance of understanding client-side rendering times and how latency can be impacted by many factors.
The document provides an overview of basic web security concepts including:
1. It defines common web terms like front-end, back-end, cookies, sessions, URLs, HTTP methods, headers and status codes.
2. It discusses how cookies and sessions are used to track users and maintain state on the web.
3. It covers potential information leaks from files like robots.txt, hidden files and directories as well as techniques for searching websites like Google hacking.
4. It introduces common web vulnerabilities like XSS, CSRF and discusses how attacks are carried out and potential impacts. It also notes some PHP quirks that could be exploited if not understood.
HTTP is one of the most widely used protocols in the world.
The version of HTTP 1.1, used to this day, was developed and described 18 years ago - 1999.
With the increasing complexity of web applications, the capabilities of HTTP 1.1 are already insufficient to provide increased demands on performance and responsiveness.
So in order to meet new requirements, HTTP must evolve. HTTP 2.0 is designed to make web applications faster, simple and reliable.
In this report I will tell about
- drawbacks of HTTP 1.1 and why we need a new version of HTTP.
- which advantages HTTP/2 offers in comparison with the previous version?
- how the new protocol affected the new version of SERVLET 4.0 and how we can use it.
HTTP/3 over QUIC. All is new but still the same!Daniel Stenberg
HTTP/3 is the designated name for the coming next version of the protocol that is currently under development within the QUIC working group in the IETF. HTTP/3 is designed to improve in areas where HTTP/2 still has some shortcomings, primarily by changing the transport layer. HTTP/3 is the first major protocol to step away from TCP and instead it uses QUIC.
Daniel Stenberg does a presentation about HTTP/3 and QUIC. Why the new protocols are deemed necessary, how they work, how they change how things are sent over the network and what some of the coming deployment challenges will be.
(Surge 2014) This is a longer version of our Velocity 2014 slides around caching dynamic content. Topic: In the past, CDNs have been used to cache and distribute static objects. But issues around invalidation, staleness, and lack of visibility have prevented us from using CDNs to fully leverage the benefits of caching when it comes to dynamic content. Today, using a real-time, modern CDN that provides instant cache invalidation and real-time analytics allows for instantaneous control over dynamic content caching.
The document discusses server architecture and different types of servers. It describes common server roles like web servers, application servers, and proxy servers. It provides examples of simple web servers written in Node.js and Ruby. Popular web servers mentioned include Nginx and Apache. Different hosting options for servers are also covered, such as virtual dedicated servers (VDS), virtual private servers (VPS), and cloud servers hosted on platforms like Amazon AWS, Google Cloud, and Microsoft Azure.
HTTP is the protocol of the web, and in this session we will look at HTTP from a web developer's perspective. We will cover resources, messages, cookies, and authentication protocols and we will see how the web scales to meet demand using cache headers. Armed with the fundamentals about HTTP, you will have the knowledge not only to build better Web/Mobile applications but also for consuming Web API.
An overview of the HTTP protocol showing the protocol basics such as protocol versions, messages, headers, status codes, connection management, cookies and more.
But it still remains an overview without in-depth information. Also some key aspects are left out (because of limited time) such as authentication, content negotiation, robots, web architecture etc..
Walks through the basics of the HTTP protocol, URLs, cookies and caching, with tricks and tips that can be used by web developers. From a Geek.class I did on Oct 6, 2011 for Meet the Geeks.
Most of us are familiar with HTTP, but when it actually comes to creating cacheable web content, there is still a lot to be learned. In this presentation I will show you how to leverage specific mechanism to achieve a good hit rate without losing touch with some of the challenges of real-life web projects. Keywords: cache control, cache variations, conditional requests, stateful content, HTTP fragments, invalidation. The goals is to empower developers to control the behavior of reverse caching proxies like Varnish, Content Delivery Networks, or even browser cache, using the power of HTTP.
More information about this HTTP caching talk can be found on https://feryn.eu/speaking/leverage-http-to-deliver-cacheable-websites-codemotion-rome-2018/
Learn about HTTP/2 and its relationship to HTTP 1.1 and SPDY. Understand core features and how they benefit security and browser efficiency. More that a "what's new" this talk will leave you with an understanding of why choices in HTTP/2 were made. You'll leave knowing what HTTP/2 is and why it is better for clients and servers.
Architecting &Building Scalable Secure Web APISHAKIL AKHTAR
Shakil Akhtar's presentation discusses architecting scalable and secure web APIs. The presentation covers API methodologies like REST, considerations for API design such as security and scalability, and best practices. The document provides an overview of APIs and outlines topics like authentication mechanisms, caching for performance, and transaction handling.
Introduction to gRPC - Mete Atamel - Codemotion Rome 2017Codemotion
gRPC is a high performance, language-neutral, general RPC framework developed and open sourced by Google. Built on the HTTP/2 standard, gRPC brings many benefits such as bidirectional streaming, flow control, header compression, multiplexing and more. In this session, you will learn about gRPC and how you can use it in your applications.
This document discusses HTTP (Hypertext Transfer Protocol) and how it allows for communication between web browsers and servers on the World Wide Web. It explains what HTTP is, how browsers use it to request and receive data from servers, examples of HTTP requests, common HTTP request methods like GET and POST, how requests are handled by servers and in PHP, server response status codes, and next steps for learning more advanced topics like AJAX and REST.
Introduction to gRPC: A general RPC framework that puts mobile and HTTP/2 fir...Codemotion
gRPC is a high performance, language-neutral, general RPC framework developed and open sourced by Google. Built on the HTTP/2 standard, gRPC brings many benefits such as bidirectional streaming, flow control, header compression, multiplexing and more. In this session, you will learn about gRPC and how you can use it in your applications.
Introduction to Web Programming with PerlDave Cross
This document provides an introduction to creating dynamic web pages using Perl and CGI (Common Gateway Interface). It covers the basics of HTTP requests and responses, how CGI allows programs to generate dynamic output for the web server, and using Perl and the CGI.pm module to write simple CGI programs. These programs can accept input from HTML forms, handle GET and POST requests, and produce various types of output like text, HTML and images. Debugging techniques are also discussed. The document concludes with a section on web security and potential vulnerabilities in CGI programs.
HTTP/3 is designed to improve in areas where HTTP/2 still has some shortcomings, primarily by changing the transport layer. HTTP/3 is the first major protocol to step away from TCP and instead it uses QUIC.
HTTP/3 is the designated name for the coming next version of the protocol that is currently under development within the QUIC working group in the IETF.
HTTP/3 is designed to improve in areas where HTTP/2 still has some shortcomings, primarily by changing the transport layer. HTTP/3 is the first major protocol to step away from TCP and instead it uses QUIC.
Daniel Stenberg does a presentation about HTTP/3 and QUIC. Why the new protocols are deemed necessary, how they work, how they change how things are sent over the network and what some of the coming deployment challenges will be.
My slides from WordCamp Dhaka 2019 on WordPress Scaling. In this session I explained performance optimisation using HTTP/2, Caching and compressing resources.
I also explained how to Dockerize WordPress to make it easier to scale.
HTTP is an application layer protocol for distributed, collaborative hypermedia information systems. It uses a request/response model where clients send requests to a server, which responds with status codes and messages. HTTP works over TCP and uses ports 80 and 443. HTTPS is HTTP secured with TLS/SSL for encryption and authentication to prevent eavesdropping and man-in-the-middle attacks. Key aspects of HTTP include methods, headers, cookies, caching, and TLS handshake.
RFC 7540 was ratified over 2 years ago and, today, all major browsers, servers, and CDNs support the next generation of HTTP. Just over a year ago, at Velocity (https://www.slideshare.net/Fastly/http2-what-no-one-is-telling-you), we discussed the protocol, looked at some real world implications of its deployment and use, and what realistic expectations we should have from its use.
Now that adoption is ramped up and the protocol is being regularly used on the Internet, it's a good time to revisit the protocol and its deployment. Has it evolved? Have we learned anything? Are all the features providing the benefits we were expecting? What's next?
In this session, we'll review protocol basics and try to answer some of these questions based on real-world use of it. We'll dig into the core features like interaction with TCP, server push, priorities and dependencies, and HPACK. We'll look at these features through the lens of experience and see if good practice patterns have emerged. We'll also review available tools and discuss what protocol enhancements are in the near and not-so-near horizon.
Similaire à HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes (20)
O documento descreve as principais diferenças entre HTTP 1.1 e HTTP 2.0. HTTP 2.0 introduz binário, multiplexação e compressão que otimizam o desempenho reduzindo tráfego de rede e latência da conexão. HTTP 2.0 permite várias requisições em paralelo em uma única conexão TCP.
Métricas e a automatização do controle de qualidadeCaelum
"Essa história vai melhorar as vendas. Essa refatoração vai melhorar a manutenção". Será?
Se queremos escolher histórias e manter um produto melhor para o cliente final, essa decisão deve ser baseada em alguma medida.
Complexidade do código? Coesão? Aguentar altas cargas? Diminuir taxas de erro? Efetuar mais compras? Para entender qualquer uma delas é preciso medir: veremos nessa palestra como pegar um projeto cujo build mínimo está automatizado, mediremos a complexidade do código, o desempenho em relação a erros, a vendas e a percepção do usuário final.
Mantemos um rastreamento dessas métricas com o passar do tempo: encontrando os commits responsáveis pela quebra nas regras estabelecidas. A decisão se algo é bom ou não deixa de ser romântico e passa a ser algo lógico.
Além do responsive design: a mudança de paradigma do design adaptativo e os m...Caelum
O documento discute o design responsivo e adaptativo para múltiplos dispositivos, enfatizando que a web sempre foi flexível e adaptável às diferentes telas. Apresenta as variáveis de adaptação como tamanho da tela, resolução, rede, orientação e outros fatores, e aborda técnicas como feature detection, media queries e progressive enhancement para criar experiências consistentes em diferentes contextos.
Por trás dos frameworks e além do reflectionCaelum
O documento discute como os frameworks de programação usam reflexão e proxies para fornecer funcionalidades como injeção de dependência, serialização e mocks. Também levanta questões sobre como esses recursos funcionam internamente e como podemos aprender mais sobre eles.
Otimizações de Performance Web: Desafios do Mundo MobileCaelum
O documento discute os desafios e otimizações de performance para sites mobile, cobrindo tópicos como: usuários abandonam sites lentos, otimizações como minificar arquivos, usar sprites e lazy load, gargalos de rede móvel como latência e largura de banda, e como melhorar a renderização da página. O objetivo é fornecer uma introdução sobre como melhorar a experiência do usuário em dispositivos mobile.
Introducao a inteligencia artificial na educacaoCaelum
Este documento fornece uma introdução a machine learning, discutindo conceitos como regressão linear, classificação, redes neurais e agrupamento. O documento também apresenta exemplos de como essas técnicas podem ser usadas para prever comportamentos, agrupar itens e clientes e responder perguntas.
Otimizando o time to market - do zero a produção em poucas iteraçõesCaelum
O documento descreve a evolução de um fórum de discussão de 9 anos para uma nova versão. Após tentativas frustradas de adaptação de software existente ou evolução gradual, a equipe decidiu criar uma nova versão do zero focando no mínimo viável, entregas contínuas e feedback rápido dos usuários.
The document discusses REST adoption issues in Brazil and how to address them. It summarizes several projects from Caelum and Abril Media that use REST including their architectures, technologies, and lessons learned. It also examines knowledge gaps among developers, companies and schools regarding REST and proposes addressing this as an educational issue through collaboration between academia and industry.
O documento discute os benefícios de um design responsivo para uma web única, capaz de se adaptar a diferentes telas. Defende a abordagem "mobile-first" e o uso de CSS3 e frameworks para criar layouts flexíveis, ao invés de sites separados para mobile. A estratégia de "uma web" melhora a experiência do usuário e o SEO.
O documento discute as opções de estratégia mobile, comparando sites responsivos versus aplicativos nativos e abordando tópicos como desempenho, usabilidade, experiência do usuário e plataformas. Recomenda iniciar o desenvolvimento pensando primeiro na experiência mobile para depois adicionar funcionalidades para desktops e outras plataformas maiores.
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...Caelum
O documento descreve como utilizar CDI (Contexts and Dependency Injection) em projetos Java para injeção de dependências, gerenciamento do ciclo de vida de objetos e desacoplamento de classes. CDI permite especificar dependências usando anotações como @Inject e @Produces e controla a criação e injeção desses objetos.
[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...Caelum
The document discusses the importance of optimizing websites for speed. It provides examples showing how page load times impact key metrics like revenue, traffic and conversions. Specific techniques are recommended to optimize assets like images, JavaScript and CSS files to reduce page size and load times. Faster sites are shown to rank better in search engines. The myth that bandwidth is more important than latency is also addressed.
CAKE: Sharing Slices of Confidential Data on BlockchainClaudio Di Ciccio
Presented at the CAiSE 2024 Forum, Intelligent Information Systems, June 6th, Limassol, Cyprus.
Synopsis: Cooperative information systems typically involve various entities in a collaborative process within a distributed environment. Blockchain technology offers a mechanism for automating such processes, even when only partial trust exists among participants. The data stored on the blockchain is replicated across all nodes in the network, ensuring accessibility to all participants. While this aspect facilitates traceability, integrity, and persistence, it poses challenges for adopting public blockchains in enterprise settings due to confidentiality issues. In this paper, we present a software tool named Control Access via Key Encryption (CAKE), designed to ensure data confidentiality in scenarios involving public blockchains. After outlining its core components and functionalities, we showcase the application of CAKE in the context of a real-world cyber-security project within the logistics domain.
Paper: https://doi.org/10.1007/978-3-031-61000-4_16
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfTechgropse Pvt.Ltd.
In this blog post, we'll delve into the intersection of AI and app development in Saudi Arabia, focusing on the food delivery sector. We'll explore how AI is revolutionizing the way Saudi consumers order food, how restaurants manage their operations, and how delivery partners navigate the bustling streets of cities like Riyadh, Jeddah, and Dammam. Through real-world case studies, we'll showcase how leading Saudi food delivery apps are leveraging AI to redefine convenience, personalization, and efficiency.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxSitimaJohn
Ocean Lotus cyber threat actors represent a sophisticated, persistent, and politically motivated group that poses a significant risk to organizations and individuals in the Southeast Asian region. Their continuous evolution and adaptability underscore the need for robust cybersecurity measures and international cooperation to identify and mitigate the threats posed by such advanced persistent threat groups.
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
Have you ever been confused by the myriad of choices offered by AWS for hosting a website or an API?
Lambda, Elastic Beanstalk, Lightsail, Amplify, S3 (and more!) can each host websites + APIs. But which one should we choose?
Which one is cheapest? Which one is fastest? Which one will scale to meet our needs?
Join me in this session as we dive into each AWS hosting service to determine which one is best for your scenario and explain why!
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
18. otimizações web
JUNTAR CSS E JS
SPRITES
INLINE DE RECURSOS
diminuir
requests
diminuir
tráfego
paralelizar
requests
19. otimizações web
JUNTAR CSS E JS
SPRITES
INLINE DE RECURSOS
GZIP
MINIFICAÇÃO
DOMÍNIOS SEM COOKIES
diminuir
requests
diminuir
tráfego
paralelizar
requests
20. otimizações web
JUNTAR CSS E JS
SPRITES
INLINE DE RECURSOS
GZIP
MINIFICAÇÃO
DOMÍNIOS SEM COOKIES
MÚLTIPLOS HOSTNAMES
CDNs
diminuir
requests
diminuir
tráfego
paralelizar
requests
42. otimizações web
JUNTAR CSS E JS
SPRITES
INLINE DE RECURSOS
GZIP
MINIFICAÇÃO
DOMÍNIOS SEM COOKIES
MÚLTIPLOS HOSTNAMES
CDNs
diminuir
requests
diminuir
tráfego
paralelizar
requests
43. otimizações web
JUNTAR CSS E JS
SPRITES
INLINE DE RECURSOS
GZIP
MINIFICAÇÃO
DOMÍNIOS SEM COOKIES
MÚLTIPLOS HOSTNAMES
CDNs
diminuir
requests
diminuir
tráfego
paralelizar
requests
44. otimizações web
JUNTAR CSS E JS
SPRITES
INLINE DE RECURSOS
GZIP
MINIFICAÇÃO
DOMÍNIOS SEM COOKIES
MÚLTIPLOS HOSTNAMES
CDNs
diminuir
requests
diminuir
tráfego
paralelizar
requests
45. otimizações web
JUNTAR CSS E JS
SPRITES
INLINE DE RECURSOS
GZIP
MINIFICAÇÃO
DOMÍNIOS SEM COOKIES
MÚLTIPLOS HOSTNAMES
CDNs
diminuir
requests
diminuir
tráfego
paralelizar
requests
46. :method: GET
:path: /
Host: www.caelum.com.br
Accept: text/html,application/xhtml+xml;q=0.9,image/jpeg
Accept-‐Encoding: gzip
User-‐Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2)
Cookie: SID=786dads78asdbad876asdhjvb28
:method: GET
:path: /style.css
Host: www.caelum.com.br
Accept: text/html,application/xhtml+xml;q=0.9,image/jpeg
Accept-‐Encoding: gzip
User-‐Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2)
Cookie: SID=786dads78asdbad876asdhjvb28
http 1.1
47. :method: GET
:path: /
Host: www.caelum.com.br
Accept: text/html,application/xhtml+xml;q=0.9,image/jpeg
Accept-‐Encoding: gzip
User-‐Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2)
Cookie: SID=786dads78asdbad876asdhjvb28
:method: GET
:path: /style.css
Host: www.caelum.com.br
Accept: text/html,application/xhtml+xml;q=0.9,image/jpeg
Accept-‐Encoding: gzip
User-‐Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2)
Cookie: SID=786dads78asdbad876asdhjvb28
http 1.1
48. :method: GET
:path: /
Host: www.caelum.com.br
Accept: text/html,application/xhtml+xml;q=0.9,image/jpeg
Accept-‐Encoding: gzip
User-‐Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2)
Cookie: SID=786dads78asdbad876asdhjvb28
:path: /style.css
http 2.0
49. :method: GET
:path: /
Host: www.caelum.com.br
Accept: text/html,application/xhtml+xml;q=0.9,image/jpeg
Accept-‐Encoding: gzip
User-‐Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2)
Cookie: SID=786dads78asdbad876asdhjvb28
:path: /style.css
:path: /main.js
:path: /imagem.jpg
Host: images.caelum.com.br
http 2.0
51. otimizações web
JUNTAR CSS E JS
SPRITES
INLINE DE RECURSOS
GZIP
MINIFICAÇÃO
DOMÍNIOS SEM COOKIES
diminuir
requests
diminuir
tráfego
MÚLTIPLOS HOSTNAMES
CDNs
paralelizar
requests
52. otimizações web
JUNTAR CSS E JS
SPRITES
INLINE DE RECURSOS
GZIP
MINIFICAÇÃO
DOMÍNIOS SEM COOKIES
diminuir
requests
diminuir
tráfego
MÚLTIPLOS HOSTNAMES
CDNs
paralelizar
requests
62. otimizações web
JUNTAR CSS E JS
SPRITES
INLINE DE RECURSOS
GZIP
MINIFICAÇÃO
DOMÍNIOS SEM COOKIES
diminuir
requests
diminuir
tráfego
MÚLTIPLOS HOSTNAMES
CDNs
paralelizar
requests
63. otimizações web
JUNTAR CSS E JS
SPRITES
INLINE DE RECURSOS
GZIP
MINIFICAÇÃO
DOMÍNIOS SEM COOKIES
diminuir
requests
diminuir
tráfego
MÚLTIPLOS HOSTNAMES
CDNs
paralelizar
requests
88. links adicionais:
● The Effect of Network and Infrastructural Variables on
SPDY's Performance.
● Livro High Performance Browser Networking
● Especificação HTTP2