c# - .NET 4.6 HttpResponse.PushPromise methods to manage http/2 PUSH_PROMISE header -
i bit confused push promise http/2 header handling in .net4.6
.
when look httpresponse.pushpromise
there 2 overloads:
one accepts path resource public void pushpromise(string path)
- assuming resource read , binary sent across client.
second public void pushpromise(string path, string method, namevaluecollection headers)
accepts sting method
, namevaluecollection headers
failing understand.
why want pass method (assuming httpmethod get, post, etc) , collection of headers inside push promise
header?
from reading http/2 spec (section 8.2), here gather:
passing method
push_promise
frames required cacheable , safe. have option of using get
, head
, 2 http methods defined both safe , cacheable.
passing headers
since push_promise
frames required cacheable, used add specific cache-control
directives promise. section 8.2.2 of spec states client has option download promised stream , can refuse it, imagine client if found had up-to-date version of resource in cache.
controlling caching obvious reason can see why might pass headers, there may other reasons well. if you're writing custom client, may use x-headers provide other hints (that aren't related caching) client can decide whether or not wants accept promised stream.
Comments
Post a Comment