A request commonly contains the following components:
Key information:
- By default, our edge servers will typically forward the entire request to your origin configuration. However, a rule or your CDN-as-code configuration can override the default CDN behavior.
- Our CDN only accepts requests that comply with the HTTP specification (e.g., HTTP/1.1). We return a
400 Bad Request
for non-compliant requests.
Order of Operations
Edgio processes each request in the following order:
Learn how:
- Requests flow through WAF.
- Content is cached on our network.
- Edge Functions can issue subrequests to the caching layer.
Request Method
Every HTTP request must include instructions on how the request should be handled. This is known as an HTTP request method. The default manner in which our CDN service handles these request methods is described below.
Request Method | Cache? | Proxy? | Request Size Limit | Response Size Limit |
---|---|---|---|---|
GET | Yes | Yes | Request headers only | Unlimited |
All other request methods (e.g., POST, PUT, and DELETE). | No | Yes | 100 MB | Unlimited |
Key information:
- By default, only
GET
requests are eligible for caching. Use the Enable Caching for Methods feature (enable_caching_for_methods) to allow caching forPOST
and/orPUT
requests. Although you may enable caching forPOST
andPUT
requests, purge is only supported forGET
requests. - A request body should not be included when submitting a
GET
request. - The file size limit for the response provided by the CDN is determined by the client’s operating system.
- Your CDN setup, including security measures, may place further restrictions on when content will be cached or proxied.
POST
Our CDN accepts
POST
requests regardless of whether they contain a payload.- No Payload: A
POST
request that does not have a payload should include either aContent-Length
orTransfer-Encoding
request header. If the request does not contain either header, then our CDN automatically adds the following header:Content-Length: 0
- Payload: A
POST
request that has a payload must also include either aContent-Length
orTransfer-Encoding
request header. Our CDN returns a411 Length Required
error forPOST
requests that have payloads that are missing both of these request headers.
Request Protocol Version
Protocol version support varies according to whether the CDN is communicating with your origin or the client.
-
Client: Our CDN supports HTTP/1.0, HTTP/1.1, HTTP/2, and HTTP/3 for the communication between clients and the edge of our network.HTTP/3 support requires the
alt-svc
response header. Learn more. -
Origin Server: Our CDN communicates with your origin using either HTTP/1.0 or HTTP/1.1.
Request URL
By default, requests that are proxied through our network to an origin server will include the entire URL submitted by the client. If the requested URL includes a query string, then it will also be forwarded to the origin server. Request URLs, with the exception of the scheme and domain name, are case-sensitive.
Request Headers
By default, Edgio forwards all request headers to the origin server. However, we return a
400 Bad Request
if a request contains a header that does not comply with the HTTP specification (e.g., HTTP/1.1). For example, we will not accept a request with a header that contains whitespace between its name and the colon.Our edge servers may also add or overwrite the following reserved request headers:
- User-Agent
- Via
- X-Forwarded-For
- X-Forwarded-Proto
- X-Host
- X-Midgress
- Host
- X-Gateway-List
- X-EC-*
- x-edg-*
Request Body
Requests that are proxied through our network to an origin server will include a request body except if either of the following conditions are true:
- A
GET
request is submitted. - The request is redirected due to the Follow Redirects feature.