Do you build things with AMP? Fill out the AMP Developer Survey!
AMP
  • websites

Using the Google AMP Cache

Introduction

The Google AMP Cache stores valid AMPs and provides a consistently fast access to AMPs. It is available for anyone to use.

AMP Cache URL Format

When possible, the Google AMP Cache will create a subdomain for each AMP document's domain by first converting it from IDN (punycode) to UTF-8. The caches replaces every - (dash) with -- (2 dashes) and replace every . (dot) with - (dash). For example, pub.com will map to pub-com.cdn.ampproject.org.

Here is AMP Cache URL for https://amp.dev/about/websites/:

The converted AMP Cache URL consists of the following parts:

  • amp-dev: the publisher domain converted into a subdomain using the algorithm described above.
  • cdn.ampproject.org: the AMP Cache domain.
  • c: to indicate that it's an AMP document (there is also i for image and r for resources such as fonts).
  • s: indicating that the AMP Cache fetches the content from the origin using TLS (secure HTTPS).
  • amp.dev/examples/components/amp-img: the original URL excluding the scheme.

It is OK for URLs to include parameters in the query string, simply include these in the AMP Cache URL as well.

Example: https://amp-dev.cdn.ampproject.org/c/s/amp.dev/documentation/examples/api/query?value=Hello%20World.

Cache updates

The AMP Cache uses a one-behind caching model which can be controlled by the max-age cache directive. You can test the behavior with this sample page, which will prints the current date at serving time:

Max-age 15s: https://amp-dev.cdn.ampproject.org/c/s/amp.dev/documentation/examples/api/query?maxage=15.

Redirect & Error Handling

Here are some examples for how the AMP Cache handles redirects and errors:

Redirects

The AMP Cache follows redirects when resolving AMP URLs. For example, if an URL redirects to another AMP URL:

$ curl -I https://ampbyexample.com/components/amp-img/

HTTP/1.1 301 Moved Permanently
Content-Type: text/html; charset=utf-8
Location: https://amp.dev/documentation/examples/components/amp-img/
...

Then the AMP Cache will return the content of the resolved redirect for the original URL.

Example: https://amp-dev.cdn.ampproject.org/c/s/ampbyexample.com/components/amp-img/.

If you move the location of the AMP Files on your server, make sure to set up a redirect from the old location to the new one.

Not Found

When a page is not found in the AMP Cache, it will show an error page and return a 404 status.

Example: https://amp-dev.cdn.ampproject.org/amp.dev/not-found

Invalid AMP

When a page is invalid AMP, the AMP Cache will return a 404 status.

Example: https://amp-dev.cdn.ampproject.org/amp.dev/static/samples/files/invalid_amp.html

Server Errors

If an URL returns a 5XX server errors, the AMP Cache will return a 404 status.

Example: https://amp-dev.cdn.ampproject.org/amp.dev/documentation/examples/api/error

Bạn cần được giải thích thêm?

Nếu bạn vẫn còn thắc mắc sau khi đọc hướng dẫn trên trang này, hãy liên hệ với những người dùng AMP khác để thảo luận về trường hợp sử dụng cụ thể của bạn.

Truy cập Stack Overflow
Một tính năng chưa được giải thích?

Dự án AMP đặc biệt khuyến khích sự tham gia và đóng góp của bạn! Chúng tôi hi vọng bạn sẽ trở thành một người tham gia tích cực trong cộng đồng mã nguồn mở của chúng tôi, nhưng chúng tôi cũng chào mừng các đóng góp đơn lẻ về vấn đề mà bạn đặc biệt quan tâm.

Chỉnh sửa mẫu trên GitHub