Skip to content

Commit

Permalink
Add the "persist" flag; proposal for #71
Browse files Browse the repository at this point in the history
  • Loading branch information
mnot committed Jun 8, 2015
1 parent 1b48e0c commit c592c64
Showing 1 changed file with 27 additions and 5 deletions.
32 changes: 27 additions & 5 deletions draft-ietf-httpbis-alt-svc.xml
Expand Up @@ -148,6 +148,7 @@
interpreted as described in <xref target="RFC2119"/>.
</t>
<t anchor="imported.abnf">
<x:anchor-alias value="DIGIT"/>
<x:anchor-alias value="OWS"/>
<x:anchor-alias value="delta-seconds"/>
<x:anchor-alias value="port"/>
Expand Down Expand Up @@ -293,8 +294,10 @@ uri-host = &lt;uri-host, see <xref target="RFC7230" x:rel="#uri"/>&gt;
for establishing new requests, not limiting the use of existing ones.
</t>
<t>
Clients ought to consider that changes in network configurations can
result in suboptimal or compromised cached alternative services.
When alternative services are used to send a client to the most optimal server, a change in
network configuration can result in cached values becoming suboptimal. Therefore, clients SHOULD
remove from cache all alternative services that lack the "persist" flag with the value "1" when
they detect such a change (when information about network state is available).
</t>
</section>

Expand Down Expand Up @@ -506,6 +509,24 @@ Alt-Svc: h2c=":8000"; ma=60
When an Alt-Svc response header field is received from an origin, its value
invalidates and replaces all cached alternative services for that origin.
</t>
<t>
By default, cached alternative services will be cleared when the client detects a network
change. Alternative services that are intended to be longer-lived (e.g., those that are not
specific to the client access network) can carry the "persist" parameter with a value "1" as a
hint that the service is potentially useful beyond a network configuration change.
</t>
<figure>
<artwork type="abnf2616">

This comment has been minimized.

Copy link
@martinthomson

martinthomson Jun 8, 2015

Contributor

Or "0" | "1", as DNT is defined?

This comment has been minimized.

Copy link
@mnot

mnot Jun 8, 2015

Author Member

no strong feelings.

This comment has been minimized.

Copy link
@reschke

reschke Sep 20, 2015

Contributor

Also, a single DIGIT, right? For clarity, just make it "1"?

persist = 1*<x:ref>DIGIT</x:ref>
</artwork></figure>
<t>
For example:
</t>
<figure>
<artwork type="example">
Alt-Svc: h2=":443"; ma=2592000; persist=1
</artwork>
</figure>
<t>
See <xref target="caching"/> for general requirements on caching alternative services.
</t>
Expand Down Expand Up @@ -775,11 +796,12 @@ Alt-Used: alternate.example.net
<t>
Choosing an alternative service implies connecting to a new, server-supplied
host name. By using many different (potentially unique) host names, servers
could conceivably track client requests.
could conceivably track client requests. Such tracking could follow users
across multiple networks, when the "persist" flag is used.
</t>
<t>
Clients concerned by the additional fingerprinting can choose to ignore alternative
service advertisements.
Clients concerned by the additional fingerprinting surface can choose not to use

This comment has been minimized.

Copy link
@reschke

reschke Sep 20, 2015

Contributor

That's kind of unrelated, right?

alternative services.
</t>
<t>
In a user agent, any alternative service information &MUST; be removed when origin-specific data
Expand Down

1 comment on commit c592c64

@reschke
Copy link
Contributor

@reschke reschke commented on c592c64 Sep 1, 2015

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe the definition of "persist" should go into a separate subsection, parallel to 3.1 defining "ma".

Please sign in to comment.