Mark Phillip markphillip.com 200s, 304s, Expires Headers, HTTP Compression, And You.

Slides:



Advertisements
Similar presentations
Optimizing Websites with YSlow Tom Lianza Co-Founder Wishlisting.com Tom Lianza Co-Founder Wishlisting.com.
Advertisements

Building Fast 3rd-Party Webapps O'Reilly Velocity Web Performance and Operations Conference 24 June Lessons.
High Performance Web Sites Essential Knowledge for Frontend Engineers
CS193H: High Performance Web Sites Lecture 1: Introduction Steve Souders Google
CS193H: High Performance Web Sites Lecture 17: Rule 14 – Make Ajax Cacheable Steve Souders Google
High Performance Web Sites Essential Knowledge for Frontend Engineers
Exceptional Performance Evolution at Yahoo! Steve Souders Chief Performance Yahoo!
CS193H: High Performance Web Sites Lecture 3: HTTP and the Web 100 Performance Profile Steve Souders Google
Steve Souders Even Faster Web Sites best practices for faster pages Disclaimer: This content does not necessarily.
CS193H: High Performance Web Sites Lecture 12: Rule 8 – Make JavaScript and CSS External Steve Souders Google
Web Performance Meetup 1 Web Performance 101 Jeremy
Web Performance Meetup 1 Web Performance Toolbelt Jeremy
Stevesouders.com/docs/velocity-wpo pptx Disclaimer: This content does not necessarily reflect the opinions of my employer.
Best Practices for Speeding Up Your Web Site
Web Site Performance What makes web sites slow? Back end Front end Tools for measuring performance Firebug / YSlow Visual Studio Test Edition W3.org html.
CHAPTER 15 WEBPAGE OPTIMIZATION. LEARNING OBJECTIVES How to test your web-page performance How browser and server interactions impact performance What.
PACS – 06/21/14 1 Cache? What is caching? A way to increase the average rate of a process by preferentially using a copy of data in a faster, closer, probably.
Improving Web Site Performance and Scalability While Saving Money Robert Boedigheimer ∙ Web Application
Client side performance in Web based Banking applications Divakar Prabhu Infosys Limited (NASDAQ: INFY)
Web Performance Optimization: scaling the witchcrafts Xiaoliang “David” Wei
1 Configuring Internet- related services (April 22, 2015) © Abdou Illia, Spring 2015.
Getting to 2nd Base with your Content Delivery Network Mike Brittain Engineering Architect.
1 Caching in HTTP Representation and Management of Data on the Internet.
How the web works: HTTP and CGI explained
What’s a Web Cache? Why do people use them? Web cache location Web cache purpose There are two main reasons that Web cache are used:  to reduce latency.
Analysis and Performance Information Systems 337 Prof. Harry Plantinga.
High Performance Websites (Based on Steve Souder’s lecture) By Bhoomi Patel.
Front-end Performance Optimization Using Drupal Fixing all validation errors reported by the Yslow & Page Speed tools.Yslow Page Speed.
Putting the Network to Work
&.zip Disclaimer: This content does not necessarily reflect the opinions of my employer.
ITM352 Javascript and Dynamic Web Pages: Client Side Processing.
Learning & Development Team Telerik Software Academy.
Definition from Wikipedia.  The Prototype JavaScript Framework  implemented as a single file of JavaScript code  named prototype.js (
Performance, SEO, Accessibility Ivan Zhekov Telerik Corporation
Mobile Web Development Strategies Best Practices Performance Tips.
Krerk Piromsopa. Web Caching Krerk Piromsopa. Department of Computer Engineering. Chulalongkorn University.
Keeping Front End Dependencies Under Control Rachel Lehman Technical Team at Interfolio, -
Building Highly Scalable Websites Karol Jarkovsky Sr. Solution Architect
CSS Sprites. What are sprites? In the early days of video games, memory for graphics was very low. So to make things load quickly and make graphics look.
Basic Responsive Design Techniques. Let’s take a look at this basic layout. It has a header and two columns of text, in a box that is centered on the.
JQUERY | INTRODUCTION. jQuery  Open source JavaScript library  Simplifies the interactions between  HTML document, or the Document Object Model (DOM),
Web Performance Optimization Boban Stojanovski (Senior Front End Developer at Solaborate) Think Fast by default.
Page Speed Bryan McQuade Richard Rabbat. Outline  What is Page Speed?  Inception of Page Speed  Cool features  Identify unused JavaScript and CSS.
Don't Let Third Parties Slow You Down Arvind Jain, Michael Kleber Google.
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
Web Database Programming Week 7 Session Management & Authentication.
PERFORMANCE ENHANCEMENT IN ASP.NET By Hassan Tariq Session #1.
NEXT GEN YSLOW Marcel Duran Betty Tso Exceptional Performance Team.
Front-end Performance. Why Performance? Users Download time JavaScript execution time Browser memory usage Search Engines Fast-loading pages are ranked.
Restricted © Siemens AG All rights reserved A Developer’s Insights Into Performance Optimizations for Mobile Web Apps CT DC AA EM LP2 | June 2015.
IE Developer Tools Jonathan Seitel Program Manager.
PHP Quebec 2008 Page 1 High Performance Web Pages Stoyan Stefanov Yahoo! Exceptional Performance PHP Quebec, March.
IN THIS LESSON WE WILL REVIEW THE STRUCTURE OF THE INTERNET AND HOW BROWSERS ASSEMBLE WEBSITES BASED ON INSTRUCTIONS THEY RECEIVE FROM SERVERS. Internet.
Website: Contact:
Site Speed: The Ultimate UX Feature… for SEO. A case study on how to increase search engine crawling and online conversion Jonathon Colman In-House SEO.
MICROSOFT AJAX CDN (CONTENT DELIVERY NETWORK) Make Your ASP.NET site faster to retrieve.
Enhance Your Page Load Speed And Improve Traffic.
JQuery Fundamentals Introduction Tutorial Videos
Essential tools for implementing and testing websites
50 Performance Tricks to Make your HTML5 apps and sites Faster
Ad-blocker circumvention System
Time is the enemy: Ten Core Lessons for Achieving Peak
Information Systems 337 Prof. Harry Plantinga Assessment.
Web Caching? Web Caching:.
Tips for Website Speed Optimization
Hints and tips for faster web apps
What is Cookie? Cookie is small information stored in text file on user’s hard drive by web server. This information is later used by web browser to retrieve.
AJAX Impact on Telecom It’s not just for web sites anymore.
High Performance Mobile
Yale Digital Conference 2019
Presentation transcript:

Mark Phillip markphillip.com 200s, 304s, Expires Headers, HTTP Compression, And You

” “ Well, I’m including a bunch of JavaScript and CSS, but users only have to download it once. After that, it’ll be really fast.

Web Browsing 101 Your HTML is a shopping list.

Yahoo! Extreme Performance

Make Fewer HTTP Requests Use a Content Delivery Network Add an Expires or a Cache-Control Header Gzip Components Put Stylesheets at the Top Put Scripts at the Bottom Avoid CSS Expressions Make JavaScript and CSS External Reduce DNS Lookups Minify JavaScript and CSS Avoid Redirects Remove Duplicate Scripts Configure ETags Make Ajax Cacheable Flush the Buffer Early Use GET for AJAX Requests Post-load Components Preload Components Reduce the Number of DOM Elements Split Components Across Domains Minimize the Number of iframes No 404s Reduce Cookie Size Use Cookie-free Domains for Components Minimize DOM Access Develop Smart Event Handlers Choose Avoid Filters Optimize Images Optimize CSS Sprites Don't Scale Images in HTML Make favicon.ico Small and Cacheable Keep Components under 25K Pack Components into a Multipart Document

Time-based graph of HTTP traffic as a visitor hits yahoo.com

Servers are Overrated

HTTP Response Codes & Headers

HTTP Code: 200 Here’s the file you requested. Enjoy.

HTTP Code: 304 This file hasn’t changed since the last time you asked about it. Just use the cached version you have.

First Site Visit: 200s

Second Site Visit: 304s & 200s

Demo Let’s open up Firebug and understand the bandwidth difference between the first and second visits.

” “ Wait, what else do we need? My 25 images and stylesheets weigh in at 100KB. That shouldn’t take more than a couple seconds to download. After it’s cached, it should be pretty much instant.

Demo Just how long does it take to communicate with a server? Is it fast enough that we can do it 20 times on one page?

Give me a ping, Vasili. One ping only, please.

HTTP Header: Expires Here’s the file you requested. Enjoy. Oh yeah, and don’t ask for this file again until Tuesday.

Demo So how does the Expires Header change things?

What determines the 304?

When Was My PHP Modified?

How do we make more 304s? PHP: header("Last-Modified: Mon, 26 Jul :00:00 GMT") JSP: response.setHeader("Last-Modified", "Mon, 26 Jul :00:00 GMT")

Channel Your Inner Columbo

RUWT? API: Hits

RUWT? API: Bytes

One-Size-Fits-All Coding HTTP Compression is your friend.

Final Paradox The number of hits on your site is not a badge of honor. Reducing the number of hits will improve the user experience.

Reduce Traffic. Increase Users.

Thanks! Mark Phillip markphillip.com

Yahoo! Exceptional Performance Team Blog Performance Rules Web-based Tool Mozilla Web Sniffer Firefox Add-ons Firebug YSlow IE Add-ons HttpWatch