Edgio

Request

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:
A request is processed in the following order: DNS > DDoS Mitigation > Bulk Redirects > Rules > Experimentation > Web Application and API Protection (including WAF) > Cache > Edge Functions > Origin Shield > Edgio Cloud > Origin
Learn how:

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 MethodCache?Proxy?Request Size LimitResponse Size Limit
GETYesYesRequest headers onlyUnlimited
All other request methods (e.g., POST, PUT, and DELETE).NoYes100 MBUnlimited
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 for POST and/or PUT requests. Although you may enable caching for POST and PUT requests, purge is only supported for GET 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 a Content-Length or Transfer-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 a Content-Length or Transfer-Encoding request header. Our CDN returns a 411 Length Required error for POST 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.