5G-MAG / Standards

Specifications related to 5G-MAG's areas of work. Tracking comments, bug-fixing, request for new features, etc.
https://www.5g-mag.com/standards
11 stars 2 forks source link

TS 26.532: `DataReportingSession.validUntil` interferes with HTTP cache control #125

Closed davidjwbbc closed 23 minutes ago

davidjwbbc commented 3 months ago

Background

In TS 26.532 v18.1.0:

Problem description

The validUntil field in a DataReportingSession is used to indicate the current expiry time of the DataReportingSession for caching and update on the client; this is logically equivalent to the use of the Expires HTTP header.

The ETag HTTP header provides a unique identifier for a specific HTTP body response (in this case DataReportingSession JSON text) in the form of an entity tag. The Last-Modified date time HTTP header is used to indicate when the body last changed on the server. Each of these headers change when the body of the response changes.

Because the retrieve operation needs to provide an updated validUntil property with the new object expiry time, this results in a new response body to every request (even if only the validUntil property has changed) and hence new Etag and Last-Modified header values! This prevents the use of HTTP conditional GET using the If-None-Match of If-Modified-Since request headers, which would normally allow a client to detect whether the DataReportingSession has changed.

Conclusion: Including the validUntil property in the DataReportingSession response body negates efficient state synchronisation of the DataReportingSession object between the data reporting client and the Data Collection AF. A "304 Not Modified" response will never be returned by the Data Collection AF because the validUntil property will always change.

Suggested solution

Without the validUntil property present the DataReportingSession object becomes stable and only reflects changes to the reporting parameters.

Additional context

IETF RFC 7232 - Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests

rjb1000 commented 2 months ago

Change Request contributed to MBS ad hoc meeting post SA4#127-bis-e:

rjb1000 commented 2 months ago

Change Request treated at MBS ad hoc meeting post SA4#127-bis-e:

rjb1000 commented 23 minutes ago

New specification versions published following approval of CRs at SA#104: