@@ -1297,11 +1297,10 @@ for varname in templateData:
12971297 using protocols such as CoAP that are explicitly analogous to HTTP.
12981298 </t >
12991299 <t >
1300- This section provides guidance on how to define links for use with each
1301- common HTTP method, and how collection resources impose additional constraints
1302- on the use of HTTP POST. Additionally, guidance is provided on hinting at
1303- HTTP response header values and describing possible HTTP request headers
1304- that are relevant to the given resource.
1300+ This section provides guidance on how to use each common HTTP method with a link,
1301+ and how colletion resources impose additional constraints on HTTP POST.
1302+ Additionally, guidance is provided on hinting at HTTP response header values and
1303+ describing possible HTTP request headers that are relevant to the given resource.
13051304 </t >
13061305 <section title =" One link per target and relation type" >
13071306 <t >
@@ -1352,6 +1351,8 @@ for varname in templateData:
13521351 that are suitable for PATCH-ing define a syntax for expressing changes
13531352 to a document, which can be applied to the representation described by
13541353 "targetSchema" to determine the set of syntactically valid request payloads.
1354+ Often, the simplest way to validate a PATCH is to apply it and validate
1355+ the result as a normal representation.
13551356 </t >
13561357 <t >
13571358 HTTP POST request payloads are described by the "submissionSchema" and
@@ -1429,6 +1430,31 @@ for varname in templateData:
14291430 <xref target =" collectionAndItem" />.
14301431 </t >
14311432 </section >
1433+ <section title =" Content negotiation and schema evolution" >
1434+ <t >
1435+ JSON Hyper-Schema facilitates HTTP content negotiation, and allows for
1436+ a hybrid of the proactive and reactive strategies. As mentioned
1437+ above, a hyper-schema can include a schema for HTTP headers such as
1438+ "Accept", "Accept-Charset", "Accept-Language", etc with the "headerSchema"
1439+ keyword. A user agent or client application can use information in
1440+ this schema, such as an enumerated list of supported laguages, in lieu of
1441+ making an initial request to start the reactive negotiation process.
1442+ </t >
1443+ <t >
1444+ In this way, the proactive content negotiation technique of setting these
1445+ headers can be informed by server information about what values are
1446+ possible, similar to examining a list of alternatives in reactive negotiation.
1447+ </t >
1448+ <t >
1449+ For media types that allow specifying a schema as a media type parameter,
1450+ the "Accept" values sent in a request or advertised in "headerSchema" can
1451+ include the URI(s) of the schema(s) to which the negotiated representation
1452+ is expected to conform. One possible use for schema parameters in
1453+ content negotiation is if the resource has conformed to several different
1454+ schema versions over time. The client can indicate what version(s) it
1455+ understands in the "Accept" header in this way.
1456+ </t >
1457+ </section >
14321458 </section >
14331459
14341460 <section title =" Examples" anchor =" examples" >
0 commit comments