diff --git a/mature/http-gateways/path-gateway.md b/mature/http-gateways/path-gateway.md index 882b48676..56114b349 100644 --- a/mature/http-gateways/path-gateway.md +++ b/mature/http-gateways/path-gateway.md @@ -266,8 +266,7 @@ making a new request. Error to indicate that request was formally correct, but this specific Gateway is unable to return requested data due to legal reasons. Response SHOULD -include an explanation, as noted in -[RFC7725.html#n-451-unavailable-for-legal-reasons](https://httpwg.org/specs/rfc7725.html#n-451-unavailable-for-legal-reasons). +include an explanation, as noted in Section 3 of :cite[rfc7725]. See: [Denylists](#denylists) @@ -286,7 +285,7 @@ Returned when Gateway was not able to produce response under set limits. Used for HTTP caching. An opaque identifier for a specific version of the returned payload. The unique -value must be wrapped by double quotes as noted in [RFC7232#Etag](https://httpwg.org/specs/rfc7232.html#header.etag). +value must be wrapped by double quotes as noted in Section 8.8.3 of :cite[rfc9110]. In many cases it is not enough to base `Etag` value on requested CID. @@ -334,7 +333,7 @@ Returned directive depends on requested content path and format: indicate remaining TTL of the mutable pointer such as IPNS record or DNSLink TXT record. - Implementations are free to place an upper bound on any TTL received, as - noted in [RFC 2131 Section 8](https://datatracker.ietf.org/doc/html/rfc2181#section-8). + noted in Section 8 of :cite[rfc2131]. - If TTL value is unknown, implementations are free to set it to a static value, but it should not be lower than 60 seconds. @@ -354,7 +353,7 @@ Returning this header depends on the information available: - Legacy implementations set this header to the current timestamp when reading TTL on `/ipns/` content paths was not available. This hint was used by web browsers in a process called "Calculating Heuristic Freshness" - ([RFC7234](https://tools.ietf.org/html/rfc7234#section-4.2.2)). Each browser + (Section 4.2.2 of :cite[rfc9111]). Each browser uses different heuristic, making this an inferior, non-deterministic caching strategy. @@ -408,8 +407,8 @@ To illustrate, `?filename=testтест.pdf` should produce: `Content-Disposition inline; filename="test____.jpg"; filename*=UTF-8''test%D1%82%D0%B5%D1%81%D1%82.jpg` - ASCII representation must have non-ASCII characters replaced with `_` -- UTF-8 representation must be wrapped in Percent Encoding ([RFC 3986, Section 2.1](https://www.rfc-editor.org/rfc/rfc3986.html#section-2.1)). - - NOTE: `UTF-8''` is not a typo – see [Examples in RFC5987](https://datatracker.ietf.org/doc/html/rfc5987#section-3.2.2) +- UTF-8 representation must be wrapped in Percent Encoding (Section 2.1 of :cite[rfc3986]). + - NOTE: `UTF-8''` is not a typo – see Section 3.2.3 of :cite[rfc8187]. `Content-Disposition` must be also set when a binary response format was requested: @@ -434,7 +433,7 @@ NOTE: the value may differ from the real size of requested data if compression o Returned only when request was a [`Range`](#range-request-header) request. -See [RFC7233#header.content-range](https://httpwg.org/specs/rfc7233.html#header.content-range). +See Section 14.4 of :cite[rfc9110]. ### `Accept-Ranges` (response header)