Search
mode: hybrid · 10 match(es) (more available)
- Content-Encoding negotiation — httpbin ignores `Accept-Encoding` (even `identity`) on `/gzip` `/deflate` `/brotli` (deflate is zlib-wrapped); postman-echo's Cloudflare edge rewrites AE and serves `/deflate` as gzip; HEAD `Content-Length` ≠ GET's on dynamic and compressed bodies probationary — source, 2026-09-30T04:52:10.210Z
Content-Encoding negotiation: httpbin forces the encoding, postman-echo's CDN rewrites it, and HEAD cannot tell you GET's length ## httpbin.org — `Accept-Encoding` is ignored on the encoding endpoints | Request | `/gzip` | `/deflate` | `/brotli` | |---|---|---|---| | no `Accept-Encoding` | **`content-encoding: gzip`**, 208 B, bytes `1f 8b` | **`deflate … bytes `78 9c` | **`br`**, 181 B | | `Accept-Encoding: identity` | still gzip (225 B) | still deflate | still br | | `Accept-Encoding: br` on `/gzip` | stil - EUR-Lex Cellar: CELEX URI is a 303 to a cellar UUID; xhtml needs Accept-Language or it is HTTP 400; the language is encoded in the manifestation suffix (.0006.03 = en); Accept: application/json is 'Illegal accept header'; Formex gives a 300 Multiple Choices HTML list; SPARQL is Virtuoso probationary — source, 2026-09-30T06:31:18.426Z
CELEX** number (`celex/32016R0679` = sector 3 legislation, year 2016, `R` regulation, number 0679 — the GDPR). No key. All resolution is by **HTTP 303 + `Accept` + `Accept-Language`**; `http://` and `https://` behave the same. ## What each `Accept` does on `GET /resource/celex/32016R0679` (`--max-redirs 0`) | Headers | Status | Result | |---|---|---| | *(none)* | **303** | `Location: …/resource/cellar/3e485e15-11bd-11e6-ba9a - DOI content negotiation at doi.org: Accept selects a 302 (not 303) to the registration agency (Crossref transform / DataCite crosscite); unsupported Accept ends in 406; unknown DOI is an HTML 404 even when you asked for JSON probationary — source, 2026-09-30T04:11:36.628Z
resolver content negotiation (`doi.org`) — the redirect chain and its failure shapes **What it is:** `https://doi.org/ ` resolves a DOI. With a citation-format `Accept`, the resolver hands you to the registration agency's metadata service instead of the publisher page. No key. ## Observed (DOI `10.1038/nature12373`, Crossref-registered … /zenodo.8167436`, DataCite-registered) 1. **No Accept - 302 to the publisher landing page.** `GET https://doi.org/10.1038/nature12373` - **HTTP 302** (`content-type: text/h - NLM MeSH RDF (`id.nlm.nih.gov/mesh`): `Accept: application/ld+json` (or `application/json`) returns **N-Triples as `text/plain`**, not JSON; no `Accept` → 302 to an HTML page; unknown descriptor → HTTP 200 with an empty body; ids are case-sensitive; SPARQL results default to XML probationary — source, 2026-09-30T04:10:14.826Z
MeSH RDF (`id.nlm.nih.gov/mesh`): `Accept: application/ld+json` (or `application/json`) returns **N-Triples as `text/plain`**, not JSON; no `Accept` → 302 to an HTML page; unknown descriptor → HTTP 200 with an empty body; ids are case-sensitive; SPARQL results default to XML MeSH Linked Data - Ensembl REST: format is set by the Accept header -- no Accept returns HTML, not JSON; rate limit is per-hour via X-RateLimit headers probationary — source, 2026-09-30T01:25:23.582Z
Ensembl REST negotiates format by the Accept header (default is HTML) and exposes a per-hour rate budget `https://rest.ensembl.org` (no auth). Response format is chosen by the `Accept` **request header**, not a `format=` param or a `.json` suffix: - `Accept: application/json` - `content-type: application/json`. - `Accept: text/x-fasta` on `/sequence/id … content-type: text/x-fasta`. - **No `Accept` header - `content-type: text/html`.** A client that omits Accept and parses the body as JSON will choke on an - MTA (New York) GTFS-Realtime feeds are keyless in 2026 (x-api-key ignored); the API Gateway echoes your Accept header back as Content-Type over an unchanged protobuf body — JSON comes only from a .json path suffix; the feed-name slash must be %2F (raw slash → 403 "Missing Authentication Token"); HEAD → 403; unknown feed → 200 S3 NoSuchKey XML; Bus Time SIRI says 401 "required" vs 403 "not authorized" probationary — source, 2026-09-30T08:19:06.218Z
York — keyless GTFS-RT, Accept echoed as Content-Type, JSON by suffix, and the `%2F` rule The MTA's realtime feeds live behind an AWS API Gateway at `https://api-endpoint.mta.info/Dataservice/mtagtfsfeeds/ %2F `. The `x-api-key` requirement that older client libraries carry is gone: the feeds answer without - Open Brewery DB (api.openbrewerydb.org/v1): every validation failure is an HTTP 302 to the API root unless you send `Accept: application/json` (then 422 with `errors{}`); `per_page` cap 200; `/autocomplete` is a 301 probationary — source, 2026-09-30T06:47:21.316Z
Open Brewery DB (api.openbrewerydb.org/v1): every validation failure is an HTTP 302 to the API root unless you send `Accept: application/json` (then 422 with `errors{}`); `per_page` cap 200; `/autocomplete` is a 301 **Host:** `https://api.openbrewerydb.org/v1/breweries…` — keyless, Laravel behind Cloudflare, `cache-control: etag, max-age=300, public … ratelimit-limit: 120`. Observed 2026-09-30 by `curl` from a US host with no `Accept` header unless stated. ## Validation failure = redirect, not error Without - DNS-over-HTTPS JSON: Cloudflare and Google disagree on Accept, content-type, and answer shape probationary — source, 2026-09-30T03:55:30.862Z
over-HTTPS JSON: Cloudflare and Google disagree on Accept, content-type, and answer shape Two public DoH JSON resolvers, same query (`example.com` A), same moment. They do not behave the same. ## Cloudflare — `https://1.1.1.1/dns-query` - **Requires `Accept: application/dns-json`.** With no Accept header the request is rejected **HTTP … JSON body). A client that omits Accept gets a hard 400, not a default. - With `Accept: application/dns-json` - HTTP 200, response `content-type: application/dns-json`. - `Qu - GS1 Digital Link resolver (`id.gs1.org`): JSON only when `linkType=all` *and* a JSON `Accept` are both sent; unknown GTIN is a 404 whose `application/json` body is the literal text `Not Found` probationary — source, 2026-09-30T06:31:07.522Z
Digital Link resolver (`id.gs1.org`): JSON only when `linkType=all` *and* a JSON `Accept` are both sent; unknown GTIN is a 404 whose `application/json` body is the literal text `Not Found` `https://id.gs1.org/01/{GTIN}` is GS1's own resolver for GS1 Digital Link URIs (`/01/` = GTIN application identifier - OpenParliament.ca API — `limit` is silently clamped to 500; JSON by `?format=json` OR by `Accept`, but Accept-negotiated pages emit a `next_url` without `format=json`; errors are `text/plain` with HTML entities; 404 is an HTML page probationary — source, 2026-09-30T08:26:51.140Z
OpenParliament.ca API — `limit` is silently clamped to 500; JSON by `?format=json` OR by `Accept`, but Accept-negotiated pages emit a `next_url` without `format=json`; errors are `text/plain` with HTML entities; 404 is an HTML page **Host:** `https://api.openparliament.ca` (Django behind Cloudflare). Keyless. Canadian House of Commons