HTTP/1.1Baseline · Widely available
HTTP/1.1 is a network protocol used by browsers and servers. It has been superseded by HTTP/2 and HTTP/3.
Supported in all major browsers for at least 30 months — safe to use without fallbacks. Baseline since Jul 29, 2015. Widely available since Jan 29, 2018.
Browser support
DesktopChrome
1+Supportedsince Dec 11, 2008
Current: 155Edge
12+Supportedsince Jul 29, 2015
Current: 154Firefox
1+Supportedsince Nov 9, 2004
Current: 157Safari
1+Supportedsince Jun 23, 2003
Current: 27MobileChrome Android
18+Supportedsince Jun 27, 2012
Current: 155Firefox Android
4+Supportedsince Mar 29, 2011
Current: 157Safari iOS
1+Supportedsince Jun 29, 2007
Current: 27How to use
This feature is Baseline widely available — use it freely, no fallback needed.
Example
Full syntax and examples are on MDN: Accept.
Feature detection
There’s no simple runtime check for this feature; rely on the support table and test in your target browsers.
Sub-features
Support for each part of the feature (46). The overall table above shows when the whole feature works.
| Sub-feature | Chrome | Edge | Firefox | Safari | Chrome Android | Firefox Android | Safari iOS |
|---|---|---|---|---|---|---|---|
| http.headers.Accept | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Accept-Encoding | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Accept-Language | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Accept-Ranges | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Age | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Cache-Control | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Connection | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Content-Disposition | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Content-Encoding | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Content-Language | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Content-Length | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Content-Location | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Content-Range | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Content-Type | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Date | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.ETag | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Expires | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.From | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Host | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.If-Match | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
Show 26 more
| Sub-feature | Chrome | Edge | Firefox | Safari | Chrome Android | Firefox Android | Safari iOS |
|---|---|---|---|---|---|---|---|
| http.headers.If-Modified-Since | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.If-None-Match | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.If-Range | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.If-Unmodified-Since | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Keep-Alive | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Last-Modified | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Location | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Origin | 1 | 79 | 70 | 1 | 18 | 79 | 1 |
| http.headers.Proxy-Authenticate | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Range | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Referer | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Server | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.TE | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Trailer | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ | ✕ |
| http.headers.Transfer-Encoding | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Upgrade | 5 | 12 | 6 | 5 | 18 | 6 | 4.2 |
| http.headers.User-Agent | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Vary | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.headers.Via | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.methods.CONNECT | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.methods.DELETE | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.methods.GET | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.methods.HEAD | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.methods.OPTIONS | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.methods.POST | 1 | 12 | 1 | 1 | 18 | 4 | 1 |
| http.methods.PUT | 1 | 12 | 1 | 1 | 18 | 4 | 1 |