Troubleshooting using HTTP Headers

Slides:



Advertisements
Similar presentations
Just for fun JavaQQ. Just for fun Linux Linus Torvalds Just for fun,
Advertisements

HTTP and Apache Roy T. Fielding eBuilt, Inc. The Apache Software Foundation
CS193H: High Performance Web Sites Lecture 7: Add an Expires Header Steve Souders Google
CS193H: High Performance Web Sites Lecture 16: Rule 13 – Configure ETags Steve Souders Google
CS193H: High Performance Web Sites Lecture 17: Rule 14 – Make Ajax Cacheable Steve Souders Google
CS193H: High Performance Web Sites Lecture 8: Rule 4 – Gzip Components
CS193H: High Performance Web Sites Lecture 3: HTTP and the Web 100 Performance Profile Steve Souders Google
Nick Feamster CS 3251: Computer Networking I Spring 2013
Enabling Secure Internet Access with ISA Server
HTTP Reading: Section and COS 461: Computer Networks Spring
Hypertext Transfer PROTOCOL ----HTTP Sen Wang CSE5232 Network Programming.
Fun Fun Project One1 Building Your Very Own Web Server.
一层一层说网站 PYTHON WSGI 简介 及 常用中间件 张沈鹏 42qu.com 作者. 著名的洋葱.
Presenter: James Huang Date: Sept. 29,  HTTP and WWW  Bottle Web Framework  Request Routing  Sending Static Files  Handling HTML  HTTP Errors.
Using the Memento MediaWiki Extension to Avoid Spoilers Shawn M. Jones Old Dominion University.
Introduction to Computing Using Python CSC Winter 2013 Week 8: WWW and Search  World Wide Web  Python Modules for WWW  Web Crawling  Thursday:
1 Caching in HTTP Representation and Management of Data on the Internet.
HTTP – HyperText Transfer Protocol
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.
HTTP HyperText Transfer Protocol Part 3.
Java Technology and Applications
Krerk Piromsopa. Web Caching Krerk Piromsopa. Department of Computer Engineering. Chulalongkorn University.
Web Caching: Replication on the World Wide Web Jonathan Bulava CSC8530 – Distributed Systems Dr. Paul Schragger.
Server tools. Site server tools can be utilised to build, host, track and monitor transactions on a business site. There are a wide range of possibilities.
HyperText Transfer Protocol (HTTP).  HTTP is the protocol that supports communication between web browsers and web servers.  A “Web Server” is a HTTP.
CSC 2720 Building Web Applications Getting and Setting HTTP Headers (With PHP Examples)
Web HTTP Hypertext Transfer Protocol. Web Terminology ◘Message: The basic unit of HTTP communication, consisting of structured sequence of octets matching.
HTTP support for caching & replication. Conditional requests Server executes conditional request. Responds with a message body only if the condition is.
Web Cache Consistency. “Requirements of performance, availability, and disconnected operation require us to relax the goal of semantic transparency.”
Fiddler and Your Website Robert Boedigheimer. About Me Web developer since 1995 Columnist for aspalliance.com Pluralsight Author 3 rd Degree Black Belt,
What’s Really Happening
Building Web Apps with Servlets
CS320 Web and Internet Programming Generating HTTP Responses
HTTP – An overview.
The Hypertext Transfer Protocol
HTTP request message: general format
How does it work ?.
Caching Temporary storage of frequently accessed data (duplicating original data stored somewhere else) Reduces access time/latency for clients Reduces.
HTTP Headers.
1993 version of Mosaic browser.
EMBEDDED WEB TECHNOLOGY
COMP2322 Lab 2 HTTP Steven Lee Feb. 8, 2017.
Web Server Design Week 4 Old Dominion University
HTTP Protocol Specification
Debugging Your Website with Fiddler and Chrome Developer Tools
Web Caching? Web Caching:.
TCP/IP Networking An Example
HTTP Protocol.
Application HTTP.
HTTP, RESTful Web Services, HTTP and REST Tools: Postman, Fiddler
Internet Applications
Uniform Resource Locators
Net431:advanced net services
Hypertext Transfer Protocol
CS320 Web and Internet Programming Cookies and Session Tracking
HTTP Request Method URL Protocol Version GET /index.html HTTP/1.1
Uniform Resource Locators (URLs)
CS3220 Web and Internet Programming Cookies and Session Tracking
Hypertext Transfer Protocol
EE 122: HyperText Transfer Protocol (HTTP)
Kevin Harville Source: Webmaster in a Nutshell, O'Rielly Books
The HTTP Protocol COSC 2206 Internet Tools The HTTP Protocol
The Application Layer: HTTP
Uniform Resource Locators

Web Server Design Week 5 Old Dominion University
CS3220 Web and Internet Programming Cookies and Session Tracking
HTTP Hypertext Transfer Protocol
Uniform Resource Locators (URLs)
CSCI-351 Data communication and Networks
Presentation transcript:

Troubleshooting using HTTP Headers Steve Miller-Jones Director of Product Management Velocity Barcelona, November 18th 2014

WHAT DO YOU NEED DELIVERED TODAY? When you’re delivering content to your end users with a CDN, you want to check what’s happening with specific objects or spot check what’s is happening with a new feature you’ve introduced or a new file version you’ve just published. How does your CDN help?

What is troubleshooting with headers? Request debug information about an object from the CDN edge Debugging request / response flow Provides detail to monitoring tools

What is troubleshooting with headers? Request debug information about an object from the CDN edge Debugging request / response flow Provides detail to monitoring tools Access to headers is secure for each customer

What is troubleshooting with headers? Request debug information about an object from the CDN edge Debugging request / response flow Provides detail to monitoring tools Access to headers is secure for each customer Individual requests define what is returned

What can you find out? Is this response cachable? Was the request a cache hit, refresh hit, cache miss, refresh miss etc Freshness lifetime remaining Freshness Lifetitme total Freshness lifetime “reason” Describes if requested object is cacheable Use Case: To determine what EdgePrisim thinks about the cacheability of the object. Possible Values: Yes No Negative

What can you find out? Is this response cachable? Describes the hit type for requested object. Use Case: To determine if EdgePrism had a cache hit or miss on an object, what type of hit or miss it was. Possible Values: Is this response cachable? Was the request a cache hit, refresh hit, cache miss, refresh miss etc. Freshness lifetime remaining Freshness Lifetitme total Freshness lifetime “reason” HIT IMS_HIT MISS NEGATIVE_HIT REFRESH_HIT DENIED REF_FAIL_HIT OFFLINE_HIT REFRESH_MISS REDIRECT CLIENT_REFRESH_MISS

What can you find out? Describes the number of seconds left before this object expires from the cache. It is the TTL of the object. Use Case: Determine how much time EdgePrism believes this object has left before it expires. Is this response cachable? Was the request a cache hit, refresh hit, cache miss, refresh miss etc. Freshness lifetime remaining Freshness Lifetitme total Freshness lifetime “reason”

What can you find out? Is this response cachable? Returns the total number of seconds for the objects' whole life. This is the total life of the object from the time it entered the cache until it expires (age+ttl). Use Case: Determine how much time EdgePrism plans to hold this object since it entered cache. Use to see if the expire time is being set correctly on an object. Is this response cachable? Was the request a cache hit, refresh hit, cache miss, refresh miss etc. Freshness lifetime remaining Freshness Lifetime total Freshness lifetime “reason”

What can you find out? Is this response cachable? Describes how Freshness Lifetime total was derived Use Case: Gather more data about how the expiry time was determined. Possible values: unknown - data used to calculate not available headers - Header data used to derive life span options - Service configuration derived life span default - EdgePrism’s default global settings nocache - object not cachable cdnrule - Rules at the Edge applied Is this response cachable? Was the request a cache hit, refresh hit, cache miss, refresh miss etc. Freshness lifetime remaining Freshness Lifetime total Freshness lifetime “reason”

How do you do it? HTTP Request: > GET / HTTP/1.1 > Host: www.xxxxx.com > Accept: */* > Accept-Encoding:gzip,deflate > User-Agent:Mozilla/4.0 (compatible; MSIE 8.0; smj) > X-LLNW-Dbg-Secret:YYYYYYY > X-LLNW-Dbg-Hdrs:cache-hit-type,ttl,is-cacheable

How do you do it? Not supposed to be cachable Is not cached HTTP Response: < HTTP/1.1 200 OK < Date: Fri, 14 Nov 2014 10:09:45 GMT < Cache-Control: no-cache, max-age=0, must-revalidate, no-store < Content-Type: text/html;charset=UTF-8 < Content-Language: en < Vary: Accept-Encoding < Content-Encoding: gzip … < X-LLNW-Dbg-Is-Cacheable: No < X-LLNW-Dbg-Cache-Hit-Type: MISS < X-LLNW-Dbg-TTL: 0 seconds Not supposed to be cachable Is not cached Still not cached

How do you do it? HTTP Request: > GET /images/background/imagename.jpg HTTP/1.1 > Host: www.xxxxx.com > Accept: */* > Accept-Encoding:gzip,deflate > User-Agent:Mozilla/4.0 (compatible; MSIE 8.0; smj) > X-LLNW-Dbg-Secret:YYYYYYY > X-LLNW-Dbg-Hdrs:cache-hit-type,ttl,is-cacheable

How do you do it? Should be cacheable Is in cache HTTP Response: < HTTP/1.1 200 OK < Server: Apache < Accept-Ranges: bytes < Cache-Control: max-age=600 < Content-Type: image/jpeg < Date: Fri, 14 Nov 2014 10:27:28 GMT < Last-Modified: Fri, 31 Oct 2014 09:34:15 GMT < Expires: Fri, 14 Nov 2014 10:37:28 GMT < Content-Length: 3582308 < Connection: keep-alive < X-LLNW-Dbg-Is-Cacheable: Yes < X-LLNW-Dbg-Cache-Hit-Type: HIT < X-LLNW-Dbg-TTL: 382 seconds Should be cacheable Is in cache 382 seconds before refresh check

WE EMPOWER YOU TO DELIVER THE BEST DIGITAL EXPERIENCES. LIMELIGHT CONFIDENTIAL

THE LIMELIGHT DIFFERENCE The world’s largest private CDN. Backed by industry experts. Delivers digital experiences quickly, reliably, and securely every time.