Post by cprabhudesai on Mar 27, 2019 22:07:14 GMT
In Redfish Scalable Platforms Management API Specification I was confused reading these two sections. Could someone please explain both? Are they the same?
The use of absolute path and relative path in both sections is opposite (excluding the scheme - as defined in RFC 3986 (page 16) Section 3. Syntax Components)
6.1.1. URIs (Published Version 1.6.1 - Page 21)
The scheme and authority part of the URI shall not be considered part of the unique identifier of the resource.
This is due to redirection capabilities and local operations that may result in the variability of the connection portion.
The remainder of the URI (the service and resource paths) is what uniquely identifies the resource within a given Redfish service.
• The unique identifier part of a URI shall be unique within the implementation.
• An implementation may use a relative URI in the payload (body and/or HTTP headers) to identify a resource within the implementation.
• An implementation may use an absolute URI in the payload (body and/or HTTP headers) to identify a resource within a different implementation. See RFC3986 for the absolute URI definition.
For example, a POST may return the following URI in the Location header of the response (indicating the new resource created by the POST): /redfish/v1/Systems/2
Assuming the client is connecting through an appliance named "mgmt.vendor.com", the absolute URI needed to access this new resource is mgmt.vendor.com/redfish/v1/Systems/2.
The scheme and authority part of the URI shall not be considered part of the unique identifier of the resource.
This is due to redirection capabilities and local operations that may result in the variability of the connection portion.
The remainder of the URI (the service and resource paths) is what uniquely identifies the resource within a given Redfish service.
• The unique identifier part of a URI shall be unique within the implementation.
• An implementation may use a relative URI in the payload (body and/or HTTP headers) to identify a resource within the implementation.
• An implementation may use an absolute URI in the payload (body and/or HTTP headers) to identify a resource within a different implementation. See RFC3986 for the absolute URI definition.
For example, a POST may return the following URI in the Location header of the response (indicating the new resource created by the POST): /redfish/v1/Systems/2
Assuming the client is connecting through an appliance named "mgmt.vendor.com", the absolute URI needed to access this new resource is mgmt.vendor.com/redfish/v1/Systems/2.
6.3. Redfish-defined URIs and relative URI rules (Published Version 1.6.1 - Page 25)
All other Redfish URIs supported by the service shall match the URI patterns described by the Resource URI pattern definitions section,
with the exception to supplemental resources referenced by the "@redfish.Settings", "@redfish.ActionInfo", and "@redfish.CollectionCapabilities" payload annotations.
The URIs for these supplemental resources shall be treated as opaque by the client.
All URIs supported by a Redfish Service shall be considered reserved for future standardization by DMTF and DMTF Alliance Parterns,
with the exception to OEM extension URIs, which shall conform to the requirements in clause URIs for OEM resources.
All relative URIs used by the service shall start with a double forward slash ("//") and include the authority (e.g., //mgmt.vendor.com/redfish/v1/Systems) or a single forward slash ("/") and include the absolute-path (e.g., /redfish/v1/Systems).
All other Redfish URIs supported by the service shall match the URI patterns described by the Resource URI pattern definitions section,
with the exception to supplemental resources referenced by the "@redfish.Settings", "@redfish.ActionInfo", and "@redfish.CollectionCapabilities" payload annotations.
The URIs for these supplemental resources shall be treated as opaque by the client.
All URIs supported by a Redfish Service shall be considered reserved for future standardization by DMTF and DMTF Alliance Parterns,
with the exception to OEM extension URIs, which shall conform to the requirements in clause URIs for OEM resources.
All relative URIs used by the service shall start with a double forward slash ("//") and include the authority (e.g., //mgmt.vendor.com/redfish/v1/Systems) or a single forward slash ("/") and include the absolute-path (e.g., /redfish/v1/Systems).
The use of absolute path and relative path in both sections is opposite (excluding the scheme - as defined in RFC 3986 (page 16) Section 3. Syntax Components)