diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 000000000..a2ff0ebe8 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,67 @@ +version: 2 +jobs: + build: + docker: + - image: martinthomson/i-d-template:latest + working_directory: ~/draft + + steps: + - checkout + + # Prime caches for faster checkout + - restore_cache: + keys: + - template + - run: + name: "Update Template" + command: "git -C ~/i-d-template remote update --prune" + - save_cache: + key: template + paths: + - ~/i-d-template + + # Build txt and html versions of drafts + - restore_cache: + keys: + - refcache + - run: + name: "Build Drafts" + command: "make 'CLONE_ARGS=--reference ~/i-d-template'" + - save_cache: + key: refcache + paths: + - ~/.cache/xml2rfc + + # Create and store artifacts + - run: + name: "Create Artifacts" + command: "make artifacts CI_ARTIFACTS=/tmp/artifacts" + + - store_artifacts: + path: /tmp/artifacts + + # Update gh-pages and gh-issues branches + - run: + name: "Update GitHub Pages" + command: "make gh-pages" + + - run: + name: "Save Issues" + command: "make gh-issues || true" + + # For tagged builds, upload to the datatracker. + - deploy: + name: "Upload to Datatracker" + command: | + if [ "${CIRCLE_TAG#draft-}" != "${CIRCLE_TAG}" ]; then + make upload + fi + +workflows: + version: 2 + build: + jobs: + - build: + filters: + tags: + only: /.*?/ diff --git a/.gitignore b/.gitignore index d98f91ecf..e13597b77 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,27 @@ *.redxml *.txt *.html +*.pdf +*.upload +.tags *~ *.swp /*-[0-9][0-9].xml .refcache +.targets.mk +venv/ +issues.json +pulls.json +report.xml +lib +draft-ietf-httpbis-cache-digest.xml draft-ietf-httpbis-client-hints.xml -draft-ietf-httpbis-encryption-encoding.xml -draft-ietf-httpbis-http2-encryption.xml +draft-ietf-httpbis-early-hints.xml +draft-ietf-httpbis-expect-ct.xml +draft-ietf-httpbis-header-structure.xml +draft-ietf-httpbis-http2-secondary-certs.xml draft-ietf-httpbis-key.xml -draft-thomson-http-replay.xml +draft-ietf-httpbis-origin-frame.xml +draft-ietf-httpbis-rand-access-live.xml +draft-ietf-httpbis-replay.xml +draft-ietf-httpbis-rfc6265bis.xml diff --git a/.travis.yml b/.travis.yml index 3944ef6f6..b90c93c3b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,31 @@ language: python sudo: false -cache: pip +dist: trusty + +addons: + apt: + packages: + - python-pip + - xsltproc + +env: + global: + - GOPATH="${TRAVIS_BUILD_DIR}/.go_workspace" + - mmark_src=github.com/miekg/mmark/mmark + - mmark=./mmark + install: -- gem install kramdown-rfc2629 -- pip install xml2rfc -script: make ghpages + - pip install xml2rfc + - if head -1 -q *.md | grep '^\-\-\-' >/dev/null 2>&1; then gem install --no-doc kramdown-rfc2629; fi + - if head -1 -q *.md | grep '^%%%' >/dev/null 2>&1; then go get "$mmark_src" && go build "$mmark_src"; fi + +script: + - make + - make ghpages || make ghpages + +deploy: + provider: script + script: make upload + skip_cleanup: true + on: + tags: true diff --git a/Makefile b/Makefile index 6c22b158d..a98b7ac53 100644 --- a/Makefile +++ b/Makefile @@ -1,143 +1,12 @@ -xml2rfc ?= "xml2rfc" -saxpath ?= "lib/saxon9.jar" -saxon ?= java -classpath $(saxpath) net.sf.saxon.Transform -l -kramdown2629 ?= XML_RESOURCE_ORG_PREFIX=https://xml2rfc.tools.ietf.org/public/rfc kramdown-rfc2629 - -names := rfc6265bis key client-hints origin-frame cache-digest header-structure expect-ct early-hints rand-access-live replay http2-secondary-certs -drafts := $(addprefix draft-ietf-httpbis-,$(names)) -last_tag = $(shell git tag | grep "$(draft)" | sort | tail -1 | awk -F- '{print $$NF}') -next_ver = $(if $(last_tag),$(shell printf "%.2d" $$(( 1$(last_tag) - 99)) ),00) -next := $(foreach draft, $(drafts), $(draft)-$(next_ver)) - -TARGETS := $(addsuffix .txt,$(drafts)) \ - $(addsuffix .html,$(drafts)) -friendly_names := rfc6265bis key client-hints origin-frame cache-digest header-structure expect-ct early-hints rand-access-live replay secondary-certs -FRIENDLY := $(addsuffix .txt,$(friendly_names)) \ - $(addsuffix .html,$(friendly_names)) - -.PHONY: latest submit idnits clean issues.json $(names) -.INTERMEDIATE: $(addsuffix .redxml,$(drafts)) -.PRECIOUS: $(TARGETS) - -latest: $(TARGETS) - -# build rules for specific targets -makerule = $(join $(addsuffix :: ,$(names)),$(addsuffix .$(1),$(drafts))) -$(foreach rule,$(call makerule,txt) $(call makerule,html),$(eval $(rule))) - -submit: $(addsuffix .txt,$(next)) - -idnits: $(addsuffix .txt,$(next)) - idnits $< - -clean: - -rm -f $(addsuffix .redxml,$(drafts)) - -rm -f $(addsuffix *.txt,$(drafts)) - -rm -f $(addsuffix *-[0-9][0-9].xml,$(drafts)) - -rm -f $(addsuffix *.html,$(drafts)) - -rfc6265bis.%: draft-ietf-httpbis-rfc6265bis.% - cp -f $< $@ - -key.%: draft-ietf-httpbis-key.% - cp -f $< $@ - -client-hints.%: draft-ietf-httpbis-client-hints.% - cp -f $< $@ - -origin-frame.%: draft-ietf-httpbis-origin-frame.% - cp -f $< $@ - -cache-digest.%: draft-ietf-httpbis-cache-digest.% - cp -f $< $@ - -header-structure.%: draft-ietf-httpbis-header-structure.% - cp -f $< $@ - -expect-ct.%: draft-ietf-httpbis-expect-ct.% - cp -f $< $@ - -early-hints.%: draft-ietf-httpbis-early-hints.% - cp -f $< $@ - -rand-access-live.%: draft-ietf-httpbis-rand-access-live.% - cp -f $< $@ - -replay.%: draft-ietf-httpbis-replay.% - cp -f $< $@ - -secondary-certs.%: draft-ietf-httpbis-http2-secondary-certs.% - cp -f $< $@ - -define makerule_submit_xml = -$(1) - sed -e"s/$$(basename $$<)-latest/$$(basename $$@)/" $$< > $$@ -endef -submit_deps := $(join $(addsuffix .xml: ,$(next)),$(addsuffix .redxml,$(drafts))) -$(foreach rule,$(submit_deps),$(eval $(call makerule_submit_xml,$(rule)))) - -%.xml: %.md - $(kramdown2629) $< | sed -e 's/\"rfc2629.dtd\"/\"lib\/rfc2629.dtd\"/' > $@ - -$(addsuffix .txt,$(next)): %.txt: %.xml - $(xml2rfc) $< $@ - -%.txt: %.redxml - $(xml2rfc) $< $@ - -stylesheet := lib/rfcbootstrap.xslt -%.html: %.xml $(stylesheet) $(extra_css) - $(saxon) $< $(stylesheet) > $@ - -reduction := lib/clean-for-DTD.xslt -%.redxml: %.xml $(reduction) - $(saxon) $< $(reduction) > $@ - -%.xhtml: %.xml ../../rfc2629xslt/rfc2629toXHTML.xslt - $(saxon) $< ../../rfc2629xslt/rfc2629toXHTML.xslt > $@ - -GHPAGES_TMP := /tmp/ghpages$(shell echo $$$$) -.TRANSIENT: $(GHPAGES_TMP) -ifeq (,$(TRAVIS_COMMIT)) -GIT_ORIG := $(shell git branch | grep '*' | cut -c 3-) +LIBDIR := lib +USE_XSLT := true +include $(LIBDIR)/main.mk + +$(LIBDIR)/main.mk: +ifneq (,$(shell git submodule status $(LIBDIR) 2>/dev/null)) + git submodule sync + git submodule update $(CLONE_ARGS) --init else -GIT_ORIG := $(TRAVIS_COMMIT) + git clone -q --depth 10 $(CLONE_ARGS) \ + -b master https://github.com/martinthomson/i-d-template $(LIBDIR) endif - -IS_LOCAL := $(if $(TRAVIS),true,) -ifeq (master,$(TRAVIS_BRANCH)) -IS_MASTER := $(findstring false,$(TRAVIS_PULL_REQUEST)) -else -IS_MASTER := true -endif - -ghpages: $(FRIENDLY) $(TARGETS) -ifneq (,$(or $(IS_LOCAL),$(IS_MASTER))) - mkdir $(GHPAGES_TMP) - cp -f $^ $(GHPAGES_TMP) - git clean -qfdX -ifeq (true,$(TRAVIS)) - git config user.email "ci-bot@example.com" - git config user.name "Travis CI Builder" - git checkout -q --orphan gh-pages - git rm -qr --cached . - git clean -qfd - git pull -qf origin gh-pages --depth=5 -else - git checkout gh-pages - git pull -endif - mv -f $(GHPAGES_TMP)/* $(CURDIR) - git add $^ - if test `git status -s | wc -l` -gt 0; then git commit -m "Script updating gh-pages."; fi -ifneq (,$(GH_TOKEN)) - @echo git push -q https://github.com/$(TRAVIS_REPO_SLUG).git gh-pages - @git push -q https://$(GH_TOKEN)@github.com/$(TRAVIS_REPO_SLUG).git gh-pages >/dev/null 2>&1 -endif - -git checkout -qf "$(GIT_ORIG)" - -rm -rf $(GHPAGES_TMP) -endif - -# backup issues -issues.json: - python lib/fetch-issues.py > issues.json diff --git a/draft-ietf-httpbis-cache-digest.md b/draft-ietf-httpbis-cache-digest.md index d8b8b0131..2ca92a6e0 100644 --- a/draft-ietf-httpbis-cache-digest.md +++ b/draft-ietf-httpbis-cache-digest.md @@ -22,7 +22,7 @@ author: - ins: M. Nottingham name: Mark Nottingham - organization: + organization: email: mnot@mnot.net uri: https://www.mnot.net/ @@ -30,7 +30,6 @@ normative: RFC2119: RFC3986: RFC6234: - RFC6454: RFC7230: RFC7232: RFC7234: @@ -53,7 +52,7 @@ informative: seriesinfo: 'IEEE Transactions on Communication Technology': 19.6 DOI: 10.1109/TCOM.1971.1090789 - ISSN: 0018-9332 + ISSN: 0018-9332 I-D.ietf-tls-tls13: Service-Workers: title: Service Workers 1 @@ -78,10 +77,10 @@ cache's contents. Servers can then use this to inform their choices of what to p --- note_Note_to_Readers -Discussion of this draft takes place on the HTTP working group mailing list +Discussion of this draft takes place on the HTTP working group mailing list (ietf-http-wg@w3.org), which is archived at . -Working Group information can be found at ; source +Working Group information can be found at ; source code and issues list for this draft can be found at . --- middle @@ -158,7 +157,7 @@ If the cache's state is cleared, lost, or the client otherwise wishes the server previously sent CACHE_DIGESTs, it can send a CACHE_DIGEST with the RESET flag set. When generating CACHE_DIGEST, a client MUST NOT include cached responses whose URLs do not share -origins {{RFC6454}} with the indicated origin. Clients MUST NOT send CACHE_DIGEST frames on +origins {{!RFC6454}} with the indicated origin. Clients MUST NOT send CACHE_DIGEST frames on connections that are not authoritative (as defined in {{RFC7540}}, 10.1) for the indicated origin. CACHE_DIGEST allows the client to indicate whether the set of URLs used to compute the digest @@ -292,7 +291,7 @@ The initial value of the parameter is zero (0x0) meaning that the server is not Some underlying transports allow the server's first flight of application data to reach the client at around the same time when the client sends it's first flight data. When such transport (e.g., TLS 1.3 {{I-D.ietf-tls-tls13}} in full-handshake mode) is used, a client can postpone sending the CACHE_DIGEST frame until it receives a ACCEPT_CACHE_DIGEST settings value. -When the underlying transport does not have such property (e.g., TLS 1.3 in 0-RTT mode), a client can reuse the settings value found in previous connections to that origin {{RFC6454}} to make assumptions. +When the underlying transport does not have such property (e.g., TLS 1.3 in 0-RTT mode), a client can reuse the settings value found in previous connections to that origin {{!RFC6454}} to make assumptions. # IANA Considerations @@ -302,25 +301,25 @@ This document registers the following entry in the Permanent Message Headers Reg * Applicable protocol: http * Status: experimental * Author/Change controller: IESG -* Specification document(s): [this document] +* Specification document(s): \[this document] This document registers the following entry in the HTTP/2 Frame Type Registry, as per {{RFC7540}}: * Frame Type: CACHE_DIGEST * Code: 0xd -* Specification: [this document] +* Specification: \[this document] This document registers the following entry in the HTTP/2 Settings Registry, as per {{RFC7540}}: * Code: 0x7 * Name: ACCEPT_CACHE_DIGEST * Initial Value: 0x0 -* Reference: [this document] +* Reference: \[this document] # Security Considerations The contents of a User Agent's cache can be used to re-identify or "fingerprint" the user over -time, even when other identifiers (e.g., Cookies {{RFC6265}}) are cleared. +time, even when other identifiers (e.g., Cookies {{RFC6265}}) are cleared. CACHE_DIGEST allows such cache-based fingerprinting to become passive, since it allows the server to discover the state of the client's cache without any visible change in server behaviour. diff --git a/draft-ietf-httpbis-client-hints.md b/draft-ietf-httpbis-client-hints.md index f006deb0b..e47b4d69b 100644 --- a/draft-ietf-httpbis-client-hints.md +++ b/draft-ietf-httpbis-client-hints.md @@ -25,7 +25,6 @@ author: uri: https://www.igvita.com/ normative: - RFC2119: RFC5234: RFC7230: RFC7231: @@ -90,7 +89,7 @@ Client Hints does not supersede or replace the User-Agent header field. Existing ## Notational Conventions -The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. +The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 {{!RFC2119}} {{!RFC8174}} when, and only when, they appear in all capitals, as shown here. This document uses the Augmented Backus-Naur Form (ABNF) notation of {{RFC5234}} with the list rule extension defined in {{RFC7230}}, Appendix B. It includes by reference the DIGIT rule from {{RFC5234}} and the OWS and field-name rules from {{RFC7230}}. diff --git a/draft-ietf-httpbis-early-hints.md b/draft-ietf-httpbis-early-hints.md index 9fc4d4df5..10b627644 100644 --- a/draft-ietf-httpbis-early-hints.md +++ b/draft-ietf-httpbis-early-hints.md @@ -192,7 +192,7 @@ The HTTP Status Codes Registry will be updated with the following entry: * Code: 103 * Description: Early Hints -* Specification: [this document] +* Specification: \[this document] --- back diff --git a/draft-ietf-httpbis-header-structure.md b/draft-ietf-httpbis-header-structure.md index 3f3e5bb08..c629bf44b 100644 --- a/draft-ietf-httpbis-header-structure.md +++ b/draft-ietf-httpbis-header-structure.md @@ -8,6 +8,8 @@ area: Applications and Real-Time workgroup: HTTP keyword: Internet-Draft +stand_alone: yes + author: - ins: M. Nottingham diff --git a/draft-ietf-httpbis-origin-frame.md b/draft-ietf-httpbis-origin-frame.md index 79fc22e72..aefcf91aa 100644 --- a/draft-ietf-httpbis-origin-frame.md +++ b/draft-ietf-httpbis-origin-frame.md @@ -27,7 +27,6 @@ author: email: nygren@akamai.com normative: - RFC2119: informative: @@ -224,7 +223,7 @@ This specification adds an entry to the "HTTP/2 Frame Type" registry. * Frame Type: ORIGIN * Code: 0xc -* Specification: [this document] +* Specification: \[this document] # Security Considerations {#sc} diff --git a/issues.json b/issues.json deleted file mode 100644 index b6f0ff56e..000000000 --- a/issues.json +++ /dev/null @@ -1,23848 +0,0 @@ -[ - [ - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/replay", - "color": "fbca04", - "default": false, - "id": 684622069, - "name": "replay" - } - ], - "number": 405, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 260134029, - "title": "You can't actually receive a 425 if the handshake doesn't complete", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/405", - "diff_url": "https://github.com/httpwg/http-extensions/pull/405.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/405", - "patch_url": "https://github.com/httpwg/http-extensions/pull/405.patch" - }, - "comments": 0, - "state": "open", - "body": "@mcmanus was confused by the text here and I confess that I don't remember why\r\nit was added. There are actually esoteric cases where you get server data that\r\nyou can read before the handshake is complete (QUIC tends to enable that sort\r\nof mess), but there is no circumstance where the client can read the 425 but\r\ncan't also determine whether that the handshake is not done to its\r\nsatisfaction. The client might decide that it wants to abort and not provide a\r\ncertificate or something, but most implementations don't really allow that sort\r\nof messing around.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/405/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/405/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/405/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/405", - "updated_at": "2017-09-25T01:46:04Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/405", - "created_at": "2017-09-25T01:46:04Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 404, - "assignee": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-09-23T00:05:04Z", - "id": 259796673, - "title": "reference format", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/404", - "diff_url": "https://github.com/httpwg/http-extensions/pull/404.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/404", - "patch_url": "https://github.com/httpwg/http-extensions/pull/404.patch" - }, - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/404/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/404/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/404/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/404", - "updated_at": "2017-09-23T00:05:11Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/404", - "created_at": "2017-09-22T12:19:23Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 403, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-09-22T02:05:35Z", - "id": 259676406, - "title": "RFC 8174", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/403", - "diff_url": "https://github.com/httpwg/http-extensions/pull/403.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/403", - "patch_url": "https://github.com/httpwg/http-extensions/pull/403.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/403/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/403/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/403/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/403", - "updated_at": "2017-09-22T02:05:40Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/403", - "created_at": "2017-09-22T01:15:29Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 402, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-09-22T02:04:52Z", - "id": 259676088, - "title": "Origin nits", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/402", - "diff_url": "https://github.com/httpwg/http-extensions/pull/402.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/402", - "patch_url": "https://github.com/httpwg/http-extensions/pull/402.patch" - }, - "comments": 0, - "state": "closed", - "body": "Some really minor things.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/402/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/402/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/402/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/402", - "updated_at": "2017-09-22T02:04:57Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/402", - "created_at": "2017-09-22T01:13:46Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/replay", - "color": "fbca04", - "default": false, - "id": 684622069, - "name": "replay" - } - ], - "number": 401, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 259278126, - "title": "Post-review notes, typos, editorial stuff only", - "comments": 0, - "state": "open", - "body": "This is what I found during a quiet throrough review : \r\n\r\n- paragraph 4: s/The client the retries the request/The client then retries the request (s/the/then)\r\n\r\nWell, nothing else, the doc looks very exhaustive on all possible situations, all the interrogations that stemmed in my mind during the reading were answered a few lines later.\r\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/401/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/401/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/401/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/401", - "updated_at": "2017-09-20T19:38:41Z", - "user": { - "following_url": "https://api.github.com/users/wtarreau/following{/other_user}", - "events_url": "https://api.github.com/users/wtarreau/events{/privacy}", - "organizations_url": "https://api.github.com/users/wtarreau/orgs", - "url": "https://api.github.com/users/wtarreau", - "gists_url": "https://api.github.com/users/wtarreau/gists{/gist_id}", - "html_url": "https://github.com/wtarreau", - "subscriptions_url": "https://api.github.com/users/wtarreau/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/8141789?v=4", - "repos_url": "https://api.github.com/users/wtarreau/repos", - "received_events_url": "https://api.github.com/users/wtarreau/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/wtarreau/starred{/owner}{/repo}", - "site_admin": false, - "login": "wtarreau", - "type": "User", - "id": 8141789, - "followers_url": "https://api.github.com/users/wtarreau/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/401", - "created_at": "2017-09-20T19:38:41Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/immutable", - "color": "fbca04", - "default": false, - "id": 517340868, - "name": "immutable" - } - ], - "number": 400, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-09-16T01:54:06Z", - "id": 257973593, - "title": "align with AUTH48 changes", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/400", - "diff_url": "https://github.com/httpwg/http-extensions/pull/400.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/400", - "patch_url": "https://github.com/httpwg/http-extensions/pull/400.patch" - }, - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/400/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/400/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/400/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/400", - "updated_at": "2017-09-16T01:54:11Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/400", - "created_at": "2017-09-15T09:06:12Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 399, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-09-22T04:58:52Z", - "id": 257253146, - "title": "type the artwork", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/399", - "diff_url": "https://github.com/httpwg/http-extensions/pull/399.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/399", - "patch_url": "https://github.com/httpwg/http-extensions/pull/399.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/399/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/399/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/399/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/399", - "updated_at": "2017-09-22T04:58:52Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/399", - "created_at": "2017-09-13T04:18:37Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 398, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-09-22T12:16:10Z", - "id": 257252606, - "title": "reference format", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/398", - "diff_url": "https://github.com/httpwg/http-extensions/pull/398.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/398", - "patch_url": "https://github.com/httpwg/http-extensions/pull/398.patch" - }, - "comments": 2, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/398/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/398/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/398/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/398", - "updated_at": "2017-09-22T12:16:24Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/398", - "created_at": "2017-09-13T04:14:09Z", - "assignees": [] - }, - { - "labels": [], - "number": 397, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 256443157, - "title": "Fix typo", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/397", - "diff_url": "https://github.com/httpwg/http-extensions/pull/397.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/397", - "patch_url": "https://github.com/httpwg/http-extensions/pull/397.patch" - }, - "comments": 0, - "state": "open", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/397/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/397/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/397/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/397", - "updated_at": "2017-09-09T14:41:28Z", - "user": { - "following_url": "https://api.github.com/users/inian/following{/other_user}", - "events_url": "https://api.github.com/users/inian/events{/privacy}", - "organizations_url": "https://api.github.com/users/inian/orgs", - "url": "https://api.github.com/users/inian", - "gists_url": "https://api.github.com/users/inian/gists{/gist_id}", - "html_url": "https://github.com/inian", - "subscriptions_url": "https://api.github.com/users/inian/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/2155545?v=4", - "repos_url": "https://api.github.com/users/inian/repos", - "received_events_url": "https://api.github.com/users/inian/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/inian/starred{/owner}{/repo}", - "site_admin": false, - "login": "inian", - "type": "User", - "id": 2155545, - "followers_url": "https://api.github.com/users/inian/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/397", - "created_at": "2017-09-09T14:41:28Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/replay", - "color": "fbca04", - "default": false, - "id": 684622069, - "name": "replay" - } - ], - "number": 396, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-09-10T22:23:06Z", - "id": 256259260, - "title": "mark \"Acknowledgements\" appendix as unnumbered", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/396", - "diff_url": "https://github.com/httpwg/http-extensions/pull/396.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/396", - "patch_url": "https://github.com/httpwg/http-extensions/pull/396.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/396/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/396/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/396/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/396", - "updated_at": "2017-09-10T22:23:10Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/396", - "created_at": "2017-09-08T13:47:00Z", - "assignees": [] - }, - { - "labels": [], - "number": 395, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 256009504, - "title": "Trivial typo changes", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/395", - "diff_url": "https://github.com/httpwg/http-extensions/pull/395.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/395", - "patch_url": "https://github.com/httpwg/http-extensions/pull/395.patch" - }, - "comments": 0, - "state": "open", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/395/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/395/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/395/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/395", - "updated_at": "2017-09-07T17:14:47Z", - "user": { - "following_url": "https://api.github.com/users/ericlaw1979/following{/other_user}", - "events_url": "https://api.github.com/users/ericlaw1979/events{/privacy}", - "organizations_url": "https://api.github.com/users/ericlaw1979/orgs", - "url": "https://api.github.com/users/ericlaw1979", - "gists_url": "https://api.github.com/users/ericlaw1979/gists{/gist_id}", - "html_url": "https://github.com/ericlaw1979", - "subscriptions_url": "https://api.github.com/users/ericlaw1979/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/4192774?v=4", - "repos_url": "https://api.github.com/users/ericlaw1979/repos", - "received_events_url": "https://api.github.com/users/ericlaw1979/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/ericlaw1979/starred{/owner}{/repo}", - "site_admin": false, - "login": "ericlaw1979", - "type": "User", - "id": 4192774, - "followers_url": "https://api.github.com/users/ericlaw1979/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/395", - "created_at": "2017-09-07T17:14:47Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 394, - "assignee": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-09-07T12:41:26Z", - "id": 255778573, - "title": "table of contents is \"#rfc..toc\"", - "comments": 4, - "state": "closed", - "body": "Note the two periods in the identifier. It's screwing up the styling. @reschke, this appears to be a product of your XSLT. Can you see if this is a problem specific to this repo, or a more general one?", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/394/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/394/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/394/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/394", - "updated_at": "2017-09-11T00:37:45Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/394", - "created_at": "2017-09-07T00:17:38Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/replay", - "color": "fbca04", - "default": false, - "id": 684622069, - "name": "replay" - } - ], - "number": 393, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 255477154, - "title": "Just use 425", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/393", - "diff_url": "https://github.com/httpwg/http-extensions/pull/393.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/393", - "patch_url": "https://github.com/httpwg/http-extensions/pull/393.patch" - }, - "comments": 0, - "state": "open", - "body": "Closes #392.\r\n\r\n(I accidentally put this on master without noticing earlier, sorry.)", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/393/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/393/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/393/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/393", - "updated_at": "2017-09-06T04:29:40Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/393", - "created_at": "2017-09-06T04:29:40Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/replay", - "color": "fbca04", - "default": false, - "id": 684622069, - "name": "replay" - } - ], - "number": 392, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-09-06T04:28:05Z", - "id": 255475450, - "title": "Pick a status code", - "comments": 0, - "state": "closed", - "body": "Can we just have 425 now that it's official-ish?\r\n\r\nFrom martinthomson/http-replay#37", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/392/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/392/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/392/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/392", - "updated_at": "2017-09-06T04:28:05Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/392", - "created_at": "2017-09-06T04:15:14Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/replay", - "color": "fbca04", - "default": false, - "id": 684622069, - "name": "replay" - } - ], - "number": 391, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 255475309, - "title": "Early data that arrives after the handshake completes", - "comments": 2, - "state": "open", - "body": "The conclusion in the draft is that early data is relatively \"safe\" (for some definition of the term, see the draft for details) if the handshake is complete. Early data in a transport that provides ordered delivery will always arrive before the handshake completes. But this is not the case in QUIC, or anything like DTLS. We should offer some advice for these situations.\r\n\r\nFrom martinthomson/http-replay#43", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/391/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/391/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/391/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/391", - "updated_at": "2017-09-25T06:46:55Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/391", - "created_at": "2017-09-06T04:14:04Z", - "assignees": [] - }, - { - "labels": [], - "number": 390, - "assignee": { - "following_url": "https://api.github.com/users/mcmanus/following{/other_user}", - "events_url": "https://api.github.com/users/mcmanus/events{/privacy}", - "organizations_url": "https://api.github.com/users/mcmanus/orgs", - "url": "https://api.github.com/users/mcmanus", - "gists_url": "https://api.github.com/users/mcmanus/gists{/gist_id}", - "html_url": "https://github.com/mcmanus", - "subscriptions_url": "https://api.github.com/users/mcmanus/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/260531?v=4", - "repos_url": "https://api.github.com/users/mcmanus/repos", - "received_events_url": "https://api.github.com/users/mcmanus/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mcmanus/starred{/owner}{/repo}", - "site_admin": false, - "login": "mcmanus", - "type": "User", - "id": 260531, - "followers_url": "https://api.github.com/users/mcmanus/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-09-06T04:24:44Z", - "id": 255475080, - "title": "Add HTTP replay draft", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/390", - "diff_url": "https://github.com/httpwg/http-extensions/pull/390.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/390", - "patch_url": "https://github.com/httpwg/http-extensions/pull/390.patch" - }, - "comments": 1, - "state": "closed", - "body": "Since our chairs have not seen the wisdom of separate repositories, I will acquiesce.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/390/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/390/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/390/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/390", - "updated_at": "2017-09-06T04:24:59Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/390", - "created_at": "2017-09-06T04:12:07Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mcmanus/following{/other_user}", - "events_url": "https://api.github.com/users/mcmanus/events{/privacy}", - "organizations_url": "https://api.github.com/users/mcmanus/orgs", - "url": "https://api.github.com/users/mcmanus", - "gists_url": "https://api.github.com/users/mcmanus/gists{/gist_id}", - "html_url": "https://github.com/mcmanus", - "subscriptions_url": "https://api.github.com/users/mcmanus/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/260531?v=4", - "repos_url": "https://api.github.com/users/mcmanus/repos", - "received_events_url": "https://api.github.com/users/mcmanus/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mcmanus/starred{/owner}{/repo}", - "site_admin": false, - "login": "mcmanus", - "type": "User", - "id": 260531, - "followers_url": "https://api.github.com/users/mcmanus/followers" - } - ] - }, - { - "labels": [], - "number": 389, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 254694051, - "title": "SameSite Cookie Attribute - Is attribute-value required?", - "comments": 1, - "state": "open", - "body": "https://bugs.chromium.org/p/chromium/issues/detail?id=635882\r\n\r\nSection 3.1 of the spec states that \"SameSite\" alone (without an attribute value) is a valid token: https://tools.ietf.org/html/draft-ietf-httpbis-cookie-same-site-00#section-3.1\r\n\r\nSection 4.1 https://tools.ietf.org/html/draft-ietf-httpbis-cookie-same-site-00#section-4.1 states \r\n\r\n 1. If \"cookie-av\"'s \"attribute-value\" is not a case-insensitive\r\n match for \"Strict\" or \"Lax\", ignore the \"cookie-av\".", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/389/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/389/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/389/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/389", - "updated_at": "2017-09-07T17:16:37Z", - "user": { - "following_url": "https://api.github.com/users/ericlaw1979/following{/other_user}", - "events_url": "https://api.github.com/users/ericlaw1979/events{/privacy}", - "organizations_url": "https://api.github.com/users/ericlaw1979/orgs", - "url": "https://api.github.com/users/ericlaw1979", - "gists_url": "https://api.github.com/users/ericlaw1979/gists{/gist_id}", - "html_url": "https://github.com/ericlaw1979", - "subscriptions_url": "https://api.github.com/users/ericlaw1979/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/4192774?v=4", - "repos_url": "https://api.github.com/users/ericlaw1979/repos", - "received_events_url": "https://api.github.com/users/ericlaw1979/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/ericlaw1979/starred{/owner}{/repo}", - "site_admin": false, - "login": "ericlaw1979", - "type": "User", - "id": 4192774, - "followers_url": "https://api.github.com/users/ericlaw1979/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/389", - "created_at": "2017-09-01T16:40:44Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/header-structure", - "color": "fbca04", - "default": false, - "id": 499581321, - "name": "header-structure" - } - ], - "number": 388, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 254393699, - "title": "How does the CSP syntax fit into the header structure?", - "comments": 0, - "state": "open", - "body": "https://tools.ietf.org/html/draft-ietf-httpbis-header-structure-01?#appendix-A surveys the 723* RFCs but not, for example, https://www.w3.org/TR/CSP2/#content-security-policy-header-field. You probably should include that example of structured data in your analysis.\r\n\r\nhttps://github.com/WICG/feature-policy/issues/78 proposes to extend the CSP format into a new non-CSP header. Should they be considering draft-ietf-httpbis-header-structure?", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/388/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/388/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/388/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/388", - "updated_at": "2017-09-01T00:37:09Z", - "user": { - "following_url": "https://api.github.com/users/jyasskin/following{/other_user}", - "events_url": "https://api.github.com/users/jyasskin/events{/privacy}", - "organizations_url": "https://api.github.com/users/jyasskin/orgs", - "url": "https://api.github.com/users/jyasskin", - "gists_url": "https://api.github.com/users/jyasskin/gists{/gist_id}", - "html_url": "https://github.com/jyasskin", - "subscriptions_url": "https://api.github.com/users/jyasskin/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/83420?v=4", - "repos_url": "https://api.github.com/users/jyasskin/repos", - "received_events_url": "https://api.github.com/users/jyasskin/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/jyasskin/starred{/owner}{/repo}", - "site_admin": false, - "login": "jyasskin", - "type": "User", - "id": 83420, - "followers_url": "https://api.github.com/users/jyasskin/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/388", - "created_at": "2017-08-31T16:26:06Z", - "assignees": [] - }, - { - "labels": [], - "number": 387, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-08-29T04:46:03Z", - "id": 253526087, - "title": "The matching rules in 2818 all apply", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/387", - "diff_url": "https://github.com/httpwg/http-extensions/pull/387.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/387", - "patch_url": "https://github.com/httpwg/http-extensions/pull/387.patch" - }, - "comments": 0, - "state": "closed", - "body": "...not just the wildcard ones.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/387/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/387/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/387/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/387", - "updated_at": "2017-08-29T04:46:08Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/387", - "created_at": "2017-08-29T04:27:54Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/5987bis", - "color": "fbca04", - "default": false, - "id": 267140103, - "name": "5987bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 386, - "assignee": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-09-15T06:34:48Z", - "id": 253140084, - "title": "AUTH48 changes for rfc5987bis", - "comments": 4, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/386/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/386/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/386/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/386", - "updated_at": "2017-09-15T06:34:48Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/386", - "created_at": "2017-08-27T04:17:59Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 385, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-09-12T00:39:39Z", - "id": 253044236, - "title": "ORIGIN: reject origins on non-authoritative connection.", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/385", - "diff_url": "https://github.com/httpwg/http-extensions/pull/385.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/385", - "patch_url": "https://github.com/httpwg/http-extensions/pull/385.patch" - }, - "comments": 9, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/385/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/385/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/385/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/385", - "updated_at": "2017-09-12T00:39:39Z", - "user": { - "following_url": "https://api.github.com/users/PiotrSikora/following{/other_user}", - "events_url": "https://api.github.com/users/PiotrSikora/events{/privacy}", - "organizations_url": "https://api.github.com/users/PiotrSikora/orgs", - "url": "https://api.github.com/users/PiotrSikora", - "gists_url": "https://api.github.com/users/PiotrSikora/gists{/gist_id}", - "html_url": "https://github.com/PiotrSikora", - "subscriptions_url": "https://api.github.com/users/PiotrSikora/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/190297?v=4", - "repos_url": "https://api.github.com/users/PiotrSikora/repos", - "received_events_url": "https://api.github.com/users/PiotrSikora/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/PiotrSikora/starred{/owner}{/repo}", - "site_admin": false, - "login": "PiotrSikora", - "type": "User", - "id": 190297, - "followers_url": "https://api.github.com/users/PiotrSikora/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/385", - "created_at": "2017-08-26T00:02:48Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/expect-ct", - "color": "fbca04", - "default": false, - "id": 533812693, - "name": "expect-ct" - } - ], - "number": 384, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 250240767, - "title": "reference format", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/384", - "diff_url": "https://github.com/httpwg/http-extensions/pull/384.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/384", - "patch_url": "https://github.com/httpwg/http-extensions/pull/384.patch" - }, - "comments": 0, - "state": "open", - "body": "Make references consistent (both within the doc and across WG documents)", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/384/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/384/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/384/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/384", - "updated_at": "2017-09-13T04:09:21Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/384", - "created_at": "2017-08-15T07:28:47Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/expect-ct", - "color": "fbca04", - "default": false, - "id": 533812693, - "name": "expect-ct" - } - ], - "number": 383, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 250240142, - "title": "HTML references", - "comments": 1, - "state": "open", - "body": "The spec currently references both HTML-the-living-spec (with potentially incorrect author information), and HTML 4.01. Only the latter is actually used.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/383/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/383/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/383/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/383", - "updated_at": "2017-08-15T23:19:30Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/383", - "created_at": "2017-08-15T07:25:00Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/cache-digest", - "color": "fbca04", - "default": false, - "id": 418128526, - "name": "cache-digest" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 382, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 250026954, - "title": "wglc cache digest editorial feedback reschke", - "comments": 0, - "state": "open", - "body": "https://lists.w3.org/Archives/Public/ietf-http-wg/2017JulSep/0263.html\r\n\r\nSome editorial feedback:\r\n\r\n1) ABNF list rule reference has wrong section \r\n(https://github.com/httpwg/http-extensions/pull/376)\r\n\r\n2) Throughout s/header/header field/\r\n\r\n3) \r\n:\r\n\r\n\"TODO: discuss how effective the suggested mitigations actually would be.\"\r\n\r\n4) Please avoid lowercase BCP 14 keywords such as \"may\", or invoke \r\n\r\n\r\nBest regards, Julian", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/382/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/382/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/382/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/382", - "updated_at": "2017-08-14T13:13:43Z", - "user": { - "following_url": "https://api.github.com/users/mcmanus/following{/other_user}", - "events_url": "https://api.github.com/users/mcmanus/events{/privacy}", - "organizations_url": "https://api.github.com/users/mcmanus/orgs", - "url": "https://api.github.com/users/mcmanus", - "gists_url": "https://api.github.com/users/mcmanus/gists{/gist_id}", - "html_url": "https://github.com/mcmanus", - "subscriptions_url": "https://api.github.com/users/mcmanus/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/260531?v=4", - "repos_url": "https://api.github.com/users/mcmanus/repos", - "received_events_url": "https://api.github.com/users/mcmanus/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mcmanus/starred{/owner}{/repo}", - "site_admin": false, - "login": "mcmanus", - "type": "User", - "id": 260531, - "followers_url": "https://api.github.com/users/mcmanus/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/382", - "created_at": "2017-08-14T13:13:43Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - } - ], - "number": 381, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 248983759, - "title": "RFC 2616 -> 723x", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/381", - "diff_url": "https://github.com/httpwg/http-extensions/pull/381.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/381", - "patch_url": "https://github.com/httpwg/http-extensions/pull/381.patch" - }, - "comments": 0, - "state": "open", - "body": "I left the term \"request-uri\" untouched (it was renamed in the base spec because it's not always a URI). We may want to change that separately, or even refer to the effective request URI (https://www.greenbytes.de/tech/webdav/rfc7230.html#effective.request.uri)", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/381/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/381/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/381/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/381", - "updated_at": "2017-08-09T10:18:58Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/381", - "created_at": "2017-08-09T10:18:45Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/early-hints", - "color": "fbca04", - "default": false, - "id": 533812593, - "name": "early-hints" - } - ], - "number": 380, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-08-11T04:00:33Z", - "id": 248310270, - "title": "clarify multi-103 behavior", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/380", - "diff_url": "https://github.com/httpwg/http-extensions/pull/380.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/380", - "patch_url": "https://github.com/httpwg/http-extensions/pull/380.patch" - }, - "comments": 1, - "state": "closed", - "body": "Clarify that the disappearance of a header field (that once existed in a 103 response) from the following 103 responses does not indicate the retraction of the expectation that the header field will be included in the final response.\r\n\r\ncloses #371 ", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/380/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/380/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/380/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/380", - "updated_at": "2017-08-11T04:00:33Z", - "user": { - "following_url": "https://api.github.com/users/kazuho/following{/other_user}", - "events_url": "https://api.github.com/users/kazuho/events{/privacy}", - "organizations_url": "https://api.github.com/users/kazuho/orgs", - "url": "https://api.github.com/users/kazuho", - "gists_url": "https://api.github.com/users/kazuho/gists{/gist_id}", - "html_url": "https://github.com/kazuho", - "subscriptions_url": "https://api.github.com/users/kazuho/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/41567?v=4", - "repos_url": "https://api.github.com/users/kazuho/repos", - "received_events_url": "https://api.github.com/users/kazuho/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/kazuho/starred{/owner}{/repo}", - "site_admin": false, - "login": "kazuho", - "type": "User", - "id": 41567, - "followers_url": "https://api.github.com/users/kazuho/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/380", - "created_at": "2017-08-07T05:23:05Z", - "assignees": [] - }, - { - "labels": [], - "number": 379, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-08-09T05:10:39Z", - "id": 248253104, - "title": "ref formatting", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/379", - "diff_url": "https://github.com/httpwg/http-extensions/pull/379.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/379", - "patch_url": "https://github.com/httpwg/http-extensions/pull/379.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/379/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/379/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/379/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/379", - "updated_at": "2017-08-09T05:10:39Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/379", - "created_at": "2017-08-06T15:16:00Z", - "assignees": [] - }, - { - "labels": [], - "number": 378, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-08-05T23:21:36Z", - "id": 248205770, - "title": "improve RICE reference", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/378", - "diff_url": "https://github.com/httpwg/http-extensions/pull/378.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/378", - "patch_url": "https://github.com/httpwg/http-extensions/pull/378.patch" - }, - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/378/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/378/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/378/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/378", - "updated_at": "2017-08-05T23:21:41Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/378", - "created_at": "2017-08-05T19:53:22Z", - "assignees": [] - }, - { - "labels": [], - "number": 377, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-08-05T23:22:11Z", - "id": 248205358, - "title": "improve service workers reference", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/377", - "diff_url": "https://github.com/httpwg/http-extensions/pull/377.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/377", - "patch_url": "https://github.com/httpwg/http-extensions/pull/377.patch" - }, - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/377/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/377/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/377/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/377", - "updated_at": "2017-08-05T23:22:16Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/377", - "created_at": "2017-08-05T19:45:04Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/cache-digest", - "color": "fbca04", - "default": false, - "id": 418128526, - "name": "cache-digest" - } - ], - "number": 376, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 247946400, - "title": "fix list rule reference", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/376", - "diff_url": "https://github.com/httpwg/http-extensions/pull/376.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/376", - "patch_url": "https://github.com/httpwg/http-extensions/pull/376.patch" - }, - "comments": 0, - "state": "open", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/376/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/376/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/376/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/376", - "updated_at": "2017-08-08T12:11:26Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/376", - "created_at": "2017-08-04T09:06:43Z", - "assignees": [] - } - ], - [ - { - "labels": [], - "number": 375, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-08-07T05:24:00Z", - "id": 247895458, - "title": "better clarify the differences between H2 server push", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/375", - "diff_url": "https://github.com/httpwg/http-extensions/pull/375.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/375", - "patch_url": "https://github.com/httpwg/http-extensions/pull/375.patch" - }, - "comments": 0, - "state": "closed", - "body": "following the discussion on [this thread](https://lists.w3.org/Archives/Public/ietf-http-wg/2017JulSep/0164.html)", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/375/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/375/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/375/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/375", - "updated_at": "2017-08-07T05:24:00Z", - "user": { - "following_url": "https://api.github.com/users/kazuho/following{/other_user}", - "events_url": "https://api.github.com/users/kazuho/events{/privacy}", - "organizations_url": "https://api.github.com/users/kazuho/orgs", - "url": "https://api.github.com/users/kazuho", - "gists_url": "https://api.github.com/users/kazuho/gists{/gist_id}", - "html_url": "https://github.com/kazuho", - "subscriptions_url": "https://api.github.com/users/kazuho/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/41567?v=4", - "repos_url": "https://api.github.com/users/kazuho/repos", - "received_events_url": "https://api.github.com/users/kazuho/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/kazuho/starred{/owner}{/repo}", - "site_admin": false, - "login": "kazuho", - "type": "User", - "id": 41567, - "followers_url": "https://api.github.com/users/kazuho/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/375", - "created_at": "2017-08-04T03:46:45Z", - "assignees": [] - }, - { - "labels": [], - "number": 374, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-31T12:56:05Z", - "id": 246587251, - "title": "Early Hints and Caching Intermediaries", - "comments": 2, - "state": "closed", - "body": "The proposal for the _103 Early Hints_ response contains a few examples referencing (probably caching) intermediaries. For example, to trigger a h2 server-push when an origin sends a 103 carrying `Link` headers. However, there is no explicit definition on what a cache or proxy server may or may not do with 103 responses.\r\n\r\nBy definition, the informational response cannot have any own meta data:\r\n\r\n_\"A client MUST NOT interpret the 103 (Early Hints) response header fields as if they applied to the informational response itself\"._\r\n\r\nObviously, 103 is not among the status codes cacheable by default defined in [RFC7231 6.1](https://tools.ietf.org/html/rfc7231#section-6.1). Furthermore the response cannot contain an entity body and it must be considered an intermediate response as the final response is still to come. I assume all that forbids storing the 103 in a cache.\r\n\r\nConsidering the objective to speed up Web site delivery, I would like to discuss the idea of adding a mechanism that would allow an intermediary cache to store data from the 103 response.\r\n\r\nIn a CDN-like setup an edge-server first receives an HTTP request and forwards it to the origin. Let's say the final answer took a long time, was private and could not be stored in the cache. However, a 103 intermediate response was received in the mean time and forwarded to the client. For subsequent requests to the same URL (according to the cache key calculation\u2026) the edge cache could send the _cached_ 103 downstream to the client while the original request is sent upstream to the origin _at the same time_. I think this could be a very effective way to use waiting time.\r\n\r\nA similar situation was proposed at the end of section 2, where an _\"intermediary generates a 103 (Early Hints) response based on the header fields of a stale-cached\u00a0response\"_. However, this can only apply to cacheable content. But HTML documents are most often private.\r\n\r\nTo avoid \"guessing\" in intermediaries, we could define a special Cache Control header field accompanying the 103 status, such as `Early-Hint-Control`. An origin could then define a 103 to be cacheable in a proxy server or cache. For subsequent requests the stored 103 could be sent downstream regardless of whether the final response is public or private.\r\n\r\nThe header field could follow the `Cache-Control` semantics. The `public` and `max-age=N` directives seem appropriate. A proxy server would have to store the Early Hint information apart from regular responses (e.g. 200) to not confuse it with a final response. When the field `Early-Hint-Control: public` is not present, the 103 response should not be stored.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/374/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/374/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/374/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/374", - "updated_at": "2017-08-01T00:58:36Z", - "user": { - "following_url": "https://api.github.com/users/filex/following{/other_user}", - "events_url": "https://api.github.com/users/filex/events{/privacy}", - "organizations_url": "https://api.github.com/users/filex/orgs", - "url": "https://api.github.com/users/filex", - "gists_url": "https://api.github.com/users/filex/gists{/gist_id}", - "html_url": "https://github.com/filex", - "subscriptions_url": "https://api.github.com/users/filex/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/505666?v=4", - "repos_url": "https://api.github.com/users/filex/repos", - "received_events_url": "https://api.github.com/users/filex/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/filex/starred{/owner}{/repo}", - "site_admin": false, - "login": "filex", - "type": "User", - "id": 505666, - "followers_url": "https://api.github.com/users/filex/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/374", - "created_at": "2017-07-30T14:30:20Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - } - ], - "number": 373, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 244720899, - "title": "Scope Accept-CH opt-in to same origin", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/373", - "diff_url": "https://github.com/httpwg/http-extensions/pull/373.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/373", - "patch_url": "https://github.com/httpwg/http-extensions/pull/373.patch" - }, - "comments": 1, - "state": "open", - "body": "WIP, based on discussion in #372.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/373/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/373/labels{/name}", - "author_association": "MEMBER", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/373/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/373", - "updated_at": "2017-08-03T07:28:46Z", - "user": { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/373", - "created_at": "2017-07-21T16:30:26Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - } - ], - "number": 372, - "assignee": { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 244087146, - "title": "Accept-CH-Lifetime privacy concerns", - "comments": 27, - "state": "open", - "body": "Based on https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/QHI3sio6--Q/v_zWX1O6AAAJ I have a couple of questions about the impact of `Accept-CH-Lifetime` as currently defined in https://tools.ietf.org/html/draft-ietf-httpbis-client-hints-04#section-2.2.2\r\n\r\nThe main risk, touched upon in the [Security Considerations](https://tools.ietf.org/html/draft-ietf-httpbis-client-hints-04#section-5) section, is the fact that providers of cross-origin subresources (e.g. images) loaded from pages with `Accept-CH` headers will start receiving fingerprinting-prone information about the configuration of a connecting client. Note that it will expose more information than what was available to these parties in the past because subresources such as images cannot use client-side logic to access information sent in Client Hints. A related issue is that based on the sets of headers sent in such subresource requests, the subresource owner might be able to identify the referring site even if it sets a Referrer Policy to prevent disclosing its URL or origin. For example, requests from a large site which sets `Referrer-Policy: no-referrer; Accept-CH: DPR` will be distinguishable from requests from sites with `Accept-CH: DPR, Viewport-Width` and from those without client hints. Depending on the chosen set of hints this can in practice uniquely identify the origin visited by the user.\r\n\r\nThe introduction of `Accept-CH-Lifetime` will extend this problem to all resources on a given origin -- if one page sets the header, then subresource requests from all pages in that origin will start carrying hint information. This can be undesirable for the user because it can disclose information about the visited origin and broadcasts fingerprintable information to all parties from which the given origin loads subresources.\r\n\r\nIt seems like this should be mitigated, possibly by one of the following:\r\n- (Preferably) Not broadcasting client hints on cross-origin subresource loads.\r\n- Obeying Referrer Policy and omitting hints if the referring page attempts to restrict data which is sent in the `Referer` header. Similarly, hints should probably also be stripped on HTTPS -> HTTP transitions.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/372/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/372/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/372/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/372", - "updated_at": "2017-09-04T08:46:38Z", - "user": { - "following_url": "https://api.github.com/users/arturjanc/following{/other_user}", - "events_url": "https://api.github.com/users/arturjanc/events{/privacy}", - "organizations_url": "https://api.github.com/users/arturjanc/orgs", - "url": "https://api.github.com/users/arturjanc", - "gists_url": "https://api.github.com/users/arturjanc/gists{/gist_id}", - "html_url": "https://github.com/arturjanc", - "subscriptions_url": "https://api.github.com/users/arturjanc/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/665379?v=4", - "repos_url": "https://api.github.com/users/arturjanc/repos", - "received_events_url": "https://api.github.com/users/arturjanc/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/arturjanc/starred{/owner}{/repo}", - "site_admin": false, - "login": "arturjanc", - "type": "User", - "id": 665379, - "followers_url": "https://api.github.com/users/arturjanc/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/372", - "created_at": "2017-07-19T15:46:03Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/early-hints", - "color": "fbca04", - "default": false, - "id": 533812593, - "name": "early-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 371, - "assignee": { - "following_url": "https://api.github.com/users/kazuho/following{/other_user}", - "events_url": "https://api.github.com/users/kazuho/events{/privacy}", - "organizations_url": "https://api.github.com/users/kazuho/orgs", - "url": "https://api.github.com/users/kazuho", - "gists_url": "https://api.github.com/users/kazuho/gists{/gist_id}", - "html_url": "https://github.com/kazuho", - "subscriptions_url": "https://api.github.com/users/kazuho/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/41567?v=4", - "repos_url": "https://api.github.com/users/kazuho/repos", - "received_events_url": "https://api.github.com/users/kazuho/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/kazuho/starred{/owner}{/repo}", - "site_admin": false, - "login": "kazuho", - "type": "User", - "id": 41567, - "followers_url": "https://api.github.com/users/kazuho/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-08-11T04:00:33Z", - "id": 243827582, - "title": "multiple 103s are cumulating or overwriting headers?", - "comments": 1, - "state": "closed", - "body": "In section 2. \"103 Early Hints\" the last paragraph describes that 103 can be send multiple time. The given example reads as if a server may correct its previous 103 that is made from a cached resource. So the following 103 are correcting the older ones, they are only adding headers to the previous ones or are they replacing them completely? Maybe sentence clarifying this would be good.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/371/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/371/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/371/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/371", - "updated_at": "2017-08-11T04:00:33Z", - "user": { - "following_url": "https://api.github.com/users/ddragana/following{/other_user}", - "events_url": "https://api.github.com/users/ddragana/events{/privacy}", - "organizations_url": "https://api.github.com/users/ddragana/orgs", - "url": "https://api.github.com/users/ddragana", - "gists_url": "https://api.github.com/users/ddragana/gists{/gist_id}", - "html_url": "https://github.com/ddragana", - "subscriptions_url": "https://api.github.com/users/ddragana/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10529034?v=4", - "repos_url": "https://api.github.com/users/ddragana/repos", - "received_events_url": "https://api.github.com/users/ddragana/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/ddragana/starred{/owner}{/repo}", - "site_admin": false, - "login": "ddragana", - "type": "User", - "id": 10529034, - "followers_url": "https://api.github.com/users/ddragana/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/371", - "created_at": "2017-07-18T19:36:39Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/kazuho/following{/other_user}", - "events_url": "https://api.github.com/users/kazuho/events{/privacy}", - "organizations_url": "https://api.github.com/users/kazuho/orgs", - "url": "https://api.github.com/users/kazuho", - "gists_url": "https://api.github.com/users/kazuho/gists{/gist_id}", - "html_url": "https://github.com/kazuho", - "subscriptions_url": "https://api.github.com/users/kazuho/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/41567?v=4", - "repos_url": "https://api.github.com/users/kazuho/repos", - "received_events_url": "https://api.github.com/users/kazuho/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/kazuho/starred{/owner}{/repo}", - "site_admin": false, - "login": "kazuho", - "type": "User", - "id": 41567, - "followers_url": "https://api.github.com/users/kazuho/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 370, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-31T04:13:17Z", - "id": 243698956, - "title": "Non-normative processing algorithm", - "comments": 0, - "state": "closed", - "body": "From Lucas:\r\n\r\nIs this reflective of current ORIGIN frame fields? The terminology seems slightly askew as each Origin is comprised of two fields and I\u2019m wondering if it got outdated. Using the term Origin-Entry could help here.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/370/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/370/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/370/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/370", - "updated_at": "2017-07-31T04:13:17Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/370", - "created_at": "2017-07-18T12:28:52Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 369, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-31T04:36:03Z", - "id": 243698823, - "title": "Expectations of Origin Set Size", - "comments": 0, - "state": "closed", - "body": "From Lucas:\r\n\r\nIf my interpretation of the specification is correct, the Origin Set is currently unbounded. While the size of an individual H2 frame is bounded and negotiated, the Origin set can seemingly be added to ad nauseam. Even in the default size case, for a short ASCII-Origin such as http://dk, if might be possible to create an Origin set with ~1500 entries. I like the fact that ORIGIN frame extension doesn\u2019t need any negotiation, so perhaps some guidance for client-side implementations would help e.g. be aware of the Origin Set size and be prepared to close the connection if you\u2019re getting unhappy.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/369/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/369/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/369/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/369", - "updated_at": "2017-07-31T04:36:03Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/369", - "created_at": "2017-07-18T12:28:20Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 368, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-31T04:10:57Z", - "id": 243698613, - "title": "Repetition of Fields", - "comments": 0, - "state": "closed", - "body": "From Lucas:\r\n\r\nI naively assumed the ORIGIN frame was very similar to the ALTSVC frame, I missed out on the repetition element. I think it would help to improve upon diagram in section 2.1, first coin a term for the Origin-Len:ASCII-Origin pair (it is loosely referred to as set, which is easily confused with Origin Set), for this email I\u2019ll use the term Origin-Entry. Section 2.1 would be changed to contain two clearly labelled diagrams: one shall show the fields comprising an Origin-Entry, the other shall show the ORIGIN frame payload as an OPTIONAL sequence of Origin-Entries, with cardinality of 0-*. 0 indicates an empty ORIGIN frame, which is implied by the text in Appendix B - \u201cinform the client that the connection is only to be used for the SNI-based origin, by sending an empty ORIGIN frame.\u201d.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/368/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/368/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/368/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/368", - "updated_at": "2017-07-31T04:10:57Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/368", - "created_at": "2017-07-18T12:27:27Z", - "assignees": [] - }, - { - "labels": [], - "number": 367, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-17T20:38:10Z", - "id": 243249538, - "title": "simplify reference anchors", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/367", - "diff_url": "https://github.com/httpwg/http-extensions/pull/367.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/367", - "patch_url": "https://github.com/httpwg/http-extensions/pull/367.patch" - }, - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/367/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/367/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/367/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/367", - "updated_at": "2017-07-17T20:38:10Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/367", - "created_at": "2017-07-16T16:14:50Z", - "assignees": [] - }, - { - "labels": [], - "number": 366, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-16T12:33:21Z", - "id": 243236043, - "title": "ORIGIN frame typos", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/366", - "diff_url": "https://github.com/httpwg/http-extensions/pull/366.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/366", - "patch_url": "https://github.com/httpwg/http-extensions/pull/366.patch" - }, - "comments": 1, - "state": "closed", - "body": "Make optionallity more like ALTSVC, make test less Gollum-like", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/366/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/366/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/366/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/366", - "updated_at": "2017-07-16T12:46:40Z", - "user": { - "following_url": "https://api.github.com/users/LPardue/following{/other_user}", - "events_url": "https://api.github.com/users/LPardue/events{/privacy}", - "organizations_url": "https://api.github.com/users/LPardue/orgs", - "url": "https://api.github.com/users/LPardue", - "gists_url": "https://api.github.com/users/LPardue/gists{/gist_id}", - "html_url": "https://github.com/LPardue", - "subscriptions_url": "https://api.github.com/users/LPardue/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/6571445?v=4", - "repos_url": "https://api.github.com/users/LPardue/repos", - "received_events_url": "https://api.github.com/users/LPardue/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/LPardue/starred{/owner}{/repo}", - "site_admin": false, - "login": "LPardue", - "type": "User", - "id": 6571445, - "followers_url": "https://api.github.com/users/LPardue/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/366", - "created_at": "2017-07-16T12:19:36Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/early-hints", - "color": "fbca04", - "default": false, - "id": 533812593, - "name": "early-hints" - } - ], - "number": 365, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-05T23:16:48Z", - "id": 240801603, - "title": "No multiple headers with the same name", - "comments": 3, - "state": "closed", - "body": "I just noticed that you have 2 `Link` headers in the same response. According to 7230:\r\n\r\n> A sender MUST NOT generate multiple header fields with the same field\r\n> name in a message unless either the entire field value for that\r\n> header field is defined as a comma-separated list [i.e., #(values)]\r\n> or the header field is a well-known exception (as noted below).", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/365/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/365/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/365/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/365", - "updated_at": "2017-07-05T23:18:53Z", - "user": { - "following_url": "https://api.github.com/users/vasilakisfil/following{/other_user}", - "events_url": "https://api.github.com/users/vasilakisfil/events{/privacy}", - "organizations_url": "https://api.github.com/users/vasilakisfil/orgs", - "url": "https://api.github.com/users/vasilakisfil", - "gists_url": "https://api.github.com/users/vasilakisfil/gists{/gist_id}", - "html_url": "https://github.com/vasilakisfil", - "subscriptions_url": "https://api.github.com/users/vasilakisfil/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/590575?v=4", - "repos_url": "https://api.github.com/users/vasilakisfil/repos", - "received_events_url": "https://api.github.com/users/vasilakisfil/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/vasilakisfil/starred{/owner}{/repo}", - "site_admin": false, - "login": "vasilakisfil", - "type": "User", - "id": 590575, - "followers_url": "https://api.github.com/users/vasilakisfil/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/365", - "created_at": "2017-07-05T23:14:14Z", - "assignees": [] - }, - { - "labels": [], - "number": 364, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-06-30T02:07:25Z", - "id": 239474121, - "title": "Geolocation Header", - "comments": 5, - "state": "closed", - "body": "Hello,\r\n\r\nMy name is Luis. I'd like to discuss with you a proposal to solve the following use case:\r\n\r\nCurrently, the only mechanism to share your location with a website is through the JS Geolocation API. This has some limitations: First, in order to have the server know the client\u2019s location there are two full roundtrips required (one roundtrip to load the page with Javascript code, and a second roundtrip to actually send the location to the server and get back a location-aware response). While not as significant as the first limitation, the second limitation is that the client must execute Javascript in order to acquire location.\r\n\r\nFor example, for services like Search, it means that the very first response from a server will contain non-localized results, and a second roundtrip would be required to refresh those results (assuming Geolocation permission is already granted for the origin).\r\n\r\nThere's many ways to solve this problem through headers, so no JS would be required and clients could proactively include geolocation data in the very first request (after the server asked for it in previous sessions, and permissions are granted).\r\n\r\n[Here you can find a document detailing the problem and a possible proposal](https://docs.google.com/document/d/1zL4qyOpp6W36H4_eMpmth3Yj_ZTMZ3wCupc01q5qatA/edit)\r\n\r\nAfter discussing with @igrigorik he suggested that Client Hints might be a potential way to implement this too, which makes perfect sense. However, some features in the original proposal would not be possible with current CH draft (parameters for CH-Accept or path restrictions for when the data should be included).\r\n\r\nIt would be great to get your opinion on this and whether this is something that might be interesting for people in this working group.\r\n\r\nThanks!\r\nLuis.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/364/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/364/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/364/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/364", - "updated_at": "2017-07-21T14:54:07Z", - "user": { - "following_url": "https://api.github.com/users/luisbargu/following{/other_user}", - "events_url": "https://api.github.com/users/luisbargu/events{/privacy}", - "organizations_url": "https://api.github.com/users/luisbargu/orgs", - "url": "https://api.github.com/users/luisbargu", - "gists_url": "https://api.github.com/users/luisbargu/gists{/gist_id}", - "html_url": "https://github.com/luisbargu", - "subscriptions_url": "https://api.github.com/users/luisbargu/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/29726368?v=4", - "repos_url": "https://api.github.com/users/luisbargu/repos", - "received_events_url": "https://api.github.com/users/luisbargu/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/luisbargu/starred{/owner}{/repo}", - "site_admin": false, - "login": "luisbargu", - "type": "User", - "id": 29726368, - "followers_url": "https://api.github.com/users/luisbargu/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/364", - "created_at": "2017-06-29T13:13:08Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/early-hints", - "color": "fbca04", - "default": false, - "id": 533812593, - "name": "early-hints" - } - ], - "number": 363, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-11T05:59:42Z", - "id": 238728947, - "title": "fix contradictory definintions with HTTP/1.1", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/363", - "diff_url": "https://github.com/httpwg/http-extensions/pull/363.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/363", - "patch_url": "https://github.com/httpwg/http-extensions/pull/363.patch" - }, - "comments": 4, - "state": "closed", - "body": "* removes statements that are either redundant or contradicts with RFC 7230, 7231\r\n* clarifies how a server is expected to do when generating a response", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/363/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/363/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/363/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/363", - "updated_at": "2017-07-11T06:04:31Z", - "user": { - "following_url": "https://api.github.com/users/kazuho/following{/other_user}", - "events_url": "https://api.github.com/users/kazuho/events{/privacy}", - "organizations_url": "https://api.github.com/users/kazuho/orgs", - "url": "https://api.github.com/users/kazuho", - "gists_url": "https://api.github.com/users/kazuho/gists{/gist_id}", - "html_url": "https://github.com/kazuho", - "subscriptions_url": "https://api.github.com/users/kazuho/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/41567?v=4", - "repos_url": "https://api.github.com/users/kazuho/repos", - "received_events_url": "https://api.github.com/users/kazuho/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/kazuho/starred{/owner}{/repo}", - "site_admin": false, - "login": "kazuho", - "type": "User", - "id": 41567, - "followers_url": "https://api.github.com/users/kazuho/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/363", - "created_at": "2017-06-27T03:38:25Z", - "assignees": [] - }, - { - "labels": [], - "number": 362, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 238720082, - "title": "Contributing", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/362", - "diff_url": "https://github.com/httpwg/http-extensions/pull/362.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/362", - "patch_url": "https://github.com/httpwg/http-extensions/pull/362.patch" - }, - "comments": 0, - "state": "open", - "body": "Revise contributing.md to reflect our working practices more closely.\r\n\r\nSpecifically, editors can make proposals in the drafts that close issues, as long as they remember to label them `proposal`.\r\n\r\nThis is more aligned with the quicwg process; it's different (they use `has-consensus`) because we have a large number of existing issues with consensus.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/362/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/362/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/362/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/362", - "updated_at": "2017-06-27T04:25:38Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/362", - "created_at": "2017-06-27T02:23:20Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - } - ], - "number": 361, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-21T15:04:21Z", - "id": 238667353, - "title": "Address client-hints-04 feedback", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/361", - "diff_url": "https://github.com/httpwg/http-extensions/pull/361.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/361", - "patch_url": "https://github.com/httpwg/http-extensions/pull/361.patch" - }, - "comments": 4, - "state": "closed", - "body": "See https://github.com/httpwg/http-extensions/issues/359, https://github.com/httpwg/http-extensions/issues/360.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/361/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/361/labels{/name}", - "author_association": "MEMBER", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/361/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/361", - "updated_at": "2017-07-21T15:04:58Z", - "user": { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/361", - "created_at": "2017-06-26T20:57:14Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 360, - "assignee": { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-21T15:05:29Z", - "id": 237058670, - "title": "Header relationships, cardinality", - "comments": 2, - "state": "closed", - "body": "From thread at :\r\n\r\n> Is it assumed that \"Accept-CH\" is given in http-equiv attribute, but \"Accept-CH-Lifetime\" on http response ?\r\n\r\nYes. \r\n\r\n> Or is that needed so that \"Accept-CH\" can be given on several times?\r\n\r\nNo, that's implicit in its definition as a comma separated list of values. Correct me if I'm wrong, but my understanding is that default semantics allow multiple headers with same field-name, as long as the field-value is defined as a comma separated list.. Meaning, there can be multiple Accept-CH header fields and they can be combined into a single list.\r\n \r\n> What happens if there is several \"Accept-CH-Lifetime\" on response?\r\n\r\nFor Accept-CH-Lifetime, I guess we just need to specify which one wins, correct? Any defaults I can point to or reuse? Last one wins?\r\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/360/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/360/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/360/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/360", - "updated_at": "2017-07-21T15:05:29Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/360", - "created_at": "2017-06-20T00:18:33Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 359, - "assignee": { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-21T15:05:20Z", - "id": 237058470, - "title": "Julian's CH feedback", - "comments": 3, - "state": "closed", - "body": "http://www.w3.org/mid/624e3e87-43bc-0dc2-d38c-2d69cbb9e93b@gmx.de\r\n\r\nMost of this is editorial, so you can dispose of it as you see fit (although some of it is likely to come back up in IETF LC if not addressed. The exceptions are **bold**; I think we need to give some sort of response to those.\r\n\r\n* [x] Througout: avoid lowercase BCP14 keywords (may->can, should->ought to, ...), or actually invoke the new boilerplate defined in draft-leiba-rfc2119-update.\r\n* [x] s/headers/header fields/\r\n* [x] **It's not optimal to mention a draft that for now is work in progress so close to a \"MUST\", even with \"optionally\" sprinkled in. My recommendation continues to move all material that refers to the Key header field to an appendix.**\r\n* [x] s/defines/defines the/\r\n* [x] We should define \"origin\" somewhere (and also explain \"subresource\").\r\n* [x] Througout: uppercase \"header field\" in section titles.\r\n* [x] Isn't that evident because sending the hints is purely OPTIONAL anyway?\r\n* [x] **Why aren't we using HTTP list syntax here? Also, what does it mean when the field appears more than once?**\r\n* [x] I would rename this to \"CSSVAL\" (or something like that) for readability.\r\n* [x] I would rename this to \"HTML5\" (or something like that) for readability. \r\n* [x] I would rename this to \"KEY\" (or something like that) for readability. \r\n* [x] Finally: no Acknowledgements?", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/359/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/359/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/359/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/359", - "updated_at": "2017-07-21T15:05:20Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/359", - "created_at": "2017-06-20T00:16:57Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/expect-ct", - "color": "fbca04", - "default": false, - "id": 533812693, - "name": "expect-ct" - } - ], - "number": 358, - "assignee": { - "following_url": "https://api.github.com/users/estark37/following{/other_user}", - "events_url": "https://api.github.com/users/estark37/events{/privacy}", - "organizations_url": "https://api.github.com/users/estark37/orgs", - "url": "https://api.github.com/users/estark37", - "gists_url": "https://api.github.com/users/estark37/gists{/gist_id}", - "html_url": "https://github.com/estark37", - "subscriptions_url": "https://api.github.com/users/estark37/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/602511?v=4", - "repos_url": "https://api.github.com/users/estark37/repos", - "received_events_url": "https://api.github.com/users/estark37/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/estark37/starred{/owner}{/repo}", - "site_admin": false, - "login": "estark37", - "type": "User", - "id": 602511, - "followers_url": "https://api.github.com/users/estark37/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 237048374, - "title": "Allow both v1 and v2 SCTs to be included in Expect-CT reports", - "comments": 0, - "state": "open", - "body": "To support both 6962 and 6962-bis clients, we should allow Expect-CT reports to contain both v1 and v2 SCTs. One way to do that is include SCTs as a JSON object:\r\n```\r\nversion: 1 / 2,\r\nserialized_sct: / \r\n```", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/358/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/358/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/358/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/358", - "updated_at": "2017-06-19T23:06:35Z", - "user": { - "following_url": "https://api.github.com/users/estark37/following{/other_user}", - "events_url": "https://api.github.com/users/estark37/events{/privacy}", - "organizations_url": "https://api.github.com/users/estark37/orgs", - "url": "https://api.github.com/users/estark37", - "gists_url": "https://api.github.com/users/estark37/gists{/gist_id}", - "html_url": "https://github.com/estark37", - "subscriptions_url": "https://api.github.com/users/estark37/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/602511?v=4", - "repos_url": "https://api.github.com/users/estark37/repos", - "received_events_url": "https://api.github.com/users/estark37/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/estark37/starred{/owner}{/repo}", - "site_admin": false, - "login": "estark37", - "type": "User", - "id": 602511, - "followers_url": "https://api.github.com/users/estark37/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/358", - "created_at": "2017-06-19T23:06:35Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/estark37/following{/other_user}", - "events_url": "https://api.github.com/users/estark37/events{/privacy}", - "organizations_url": "https://api.github.com/users/estark37/orgs", - "url": "https://api.github.com/users/estark37", - "gists_url": "https://api.github.com/users/estark37/gists{/gist_id}", - "html_url": "https://github.com/estark37", - "subscriptions_url": "https://api.github.com/users/estark37/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/602511?v=4", - "repos_url": "https://api.github.com/users/estark37/repos", - "received_events_url": "https://api.github.com/users/estark37/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/estark37/starred{/owner}{/repo}", - "site_admin": false, - "login": "estark37", - "type": "User", - "id": 602511, - "followers_url": "https://api.github.com/users/estark37/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/early-hints", - "color": "fbca04", - "default": false, - "id": 533812593, - "name": "early-hints" - } - ], - "number": 357, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-06-13T09:25:24Z", - "id": 234508725, - "title": "improve the wording: \"client MUST NOT process\" ", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/357", - "diff_url": "https://github.com/httpwg/http-extensions/pull/357.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/357", - "patch_url": "https://github.com/httpwg/http-extensions/pull/357.patch" - }, - "comments": 0, - "state": "closed", - "body": "This is a PR that essentially rebases the change proposed in #319.\r\n\r\nTo me the change proposed by @royfielding is a clear improvement. I believe that we should merge this.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/357/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/357/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/357/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/357", - "updated_at": "2017-06-13T09:25:24Z", - "user": { - "following_url": "https://api.github.com/users/kazuho/following{/other_user}", - "events_url": "https://api.github.com/users/kazuho/events{/privacy}", - "organizations_url": "https://api.github.com/users/kazuho/orgs", - "url": "https://api.github.com/users/kazuho", - "gists_url": "https://api.github.com/users/kazuho/gists{/gist_id}", - "html_url": "https://github.com/kazuho", - "subscriptions_url": "https://api.github.com/users/kazuho/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/41567?v=4", - "repos_url": "https://api.github.com/users/kazuho/repos", - "received_events_url": "https://api.github.com/users/kazuho/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/kazuho/starred{/owner}{/repo}", - "site_admin": false, - "login": "kazuho", - "type": "User", - "id": 41567, - "followers_url": "https://api.github.com/users/kazuho/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/357", - "created_at": "2017-06-08T12:20:58Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/expect-ct", - "color": "fbca04", - "default": false, - "id": 533812693, - "name": "expect-ct" - } - ], - "number": 356, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 232327868, - "title": "Form-encode Expect-CT report bodies?", - "comments": 14, - "state": "open", - "body": "Background for this issue is in https://github.com/bifurcation/expect-ct/issues/18, where it is argued that Expect-CT reports should have a special Content-Type, like Content Security Policy reports, but it is also argued that they should be sent with CORS preflights when Expect-CT is implemented by a web browser, since they are not a whitelisted safe request.\r\n\r\nUnfortunately, implementing preflights for Expect-CT reports probably can't be done in Chrome in any reasonable amount of time, and would probably be difficult for other implementors as well. Expect-CT is checked at connection setup time, completely divorced from any context from which we can construct an `Origin` header.\r\n\r\nTherefore I think we need to resort to using `application/x-www-form-urlencoded` for reports, if we want Expect-CT to be reasonably implementable in a web browser without violating the SOP.\r\n\r\n@scotthelme @mikewest @eranmes", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/356/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/356/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/356/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/356", - "updated_at": "2017-07-19T14:32:32Z", - "user": { - "following_url": "https://api.github.com/users/estark37/following{/other_user}", - "events_url": "https://api.github.com/users/estark37/events{/privacy}", - "organizations_url": "https://api.github.com/users/estark37/orgs", - "url": "https://api.github.com/users/estark37", - "gists_url": "https://api.github.com/users/estark37/gists{/gist_id}", - "html_url": "https://github.com/estark37", - "subscriptions_url": "https://api.github.com/users/estark37/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/602511?v=4", - "repos_url": "https://api.github.com/users/estark37/repos", - "received_events_url": "https://api.github.com/users/estark37/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/estark37/starred{/owner}{/repo}", - "site_admin": false, - "login": "estark37", - "type": "User", - "id": 602511, - "followers_url": "https://api.github.com/users/estark37/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/356", - "created_at": "2017-05-30T17:38:57Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 355, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-31T04:07:34Z", - "id": 232157956, - "title": "ORIGIN and Server Push", - "comments": 8, - "state": "closed", - "body": "#349 made me realise that, from the server's perspective, they don't have hard information about whether the client supports ORIGIN at the time they send the ORIGIN frame. \r\n\r\nWhile they might gather this based upon the requests that the client subsequently sends, this isn't information you'd want to rely upon.\r\n\r\nThis is especially relevant to Server Push. Right now, ORIGIN is defined to affect what the client is able to push, but (as above), the server doesn't have a firm idea about the origins that are actually valid to use on the connection at any given time. \r\n\r\nA number of potential solutions:\r\n\r\n1. The server just speculatively pushes and figures it out based upon the responses (i.e. no change)\r\n2. We create an explicit signal from the client to the server (e.g., \"I will process ORIGIN\", probably a SETTING, or \"I have processed ORIGIN\", probably a frame)\r\n3. ORIGIN doesn't constrain Server Push\r\n\r\nNote that 1 is not optimal (wasted bytes), and 3 might collide badly with future uses of ORIGIN.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/355/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/355/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/355/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/355", - "updated_at": "2017-07-31T04:07:34Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/355", - "created_at": "2017-05-30T06:52:04Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/early-hints", - "color": "fbca04", - "default": false, - "id": 533812593, - "name": "early-hints" - } - ], - "number": 354, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-30T01:34:16Z", - "id": 231500909, - "title": "add example", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/354", - "diff_url": "https://github.com/httpwg/http-extensions/pull/354.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/354", - "patch_url": "https://github.com/httpwg/http-extensions/pull/354.patch" - }, - "comments": 0, - "state": "closed", - "body": "Adds an example showing how 103 can be used.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/354/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/354/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/354/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/354", - "updated_at": "2017-05-30T01:34:16Z", - "user": { - "following_url": "https://api.github.com/users/kazuho/following{/other_user}", - "events_url": "https://api.github.com/users/kazuho/events{/privacy}", - "organizations_url": "https://api.github.com/users/kazuho/orgs", - "url": "https://api.github.com/users/kazuho", - "gists_url": "https://api.github.com/users/kazuho/gists{/gist_id}", - "html_url": "https://github.com/kazuho", - "subscriptions_url": "https://api.github.com/users/kazuho/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/41567?v=4", - "repos_url": "https://api.github.com/users/kazuho/repos", - "received_events_url": "https://api.github.com/users/kazuho/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/kazuho/starred{/owner}{/repo}", - "site_admin": false, - "login": "kazuho", - "type": "User", - "id": 41567, - "followers_url": "https://api.github.com/users/kazuho/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/354", - "created_at": "2017-05-26T01:16:05Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/early-hints", - "color": "fbca04", - "default": false, - "id": 533812593, - "name": "early-hints" - } - ], - "number": 353, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-30T01:38:25Z", - "id": 231469859, - "title": "adjust the explanation why it is difficult to generate the header block of a final response immediately", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/353", - "diff_url": "https://github.com/httpwg/http-extensions/pull/353.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/353", - "patch_url": "https://github.com/httpwg/http-extensions/pull/353.patch" - }, - "comments": 0, - "state": "closed", - "body": "based on the suggestion in https://lists.w3.org/Archives/Public/ietf-http-wg/2017AprJun/0147.html", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/353/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/353/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/353/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/353", - "updated_at": "2017-05-30T01:38:25Z", - "user": { - "following_url": "https://api.github.com/users/kazuho/following{/other_user}", - "events_url": "https://api.github.com/users/kazuho/events{/privacy}", - "organizations_url": "https://api.github.com/users/kazuho/orgs", - "url": "https://api.github.com/users/kazuho", - "gists_url": "https://api.github.com/users/kazuho/gists{/gist_id}", - "html_url": "https://github.com/kazuho", - "subscriptions_url": "https://api.github.com/users/kazuho/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/41567?v=4", - "repos_url": "https://api.github.com/users/kazuho/repos", - "received_events_url": "https://api.github.com/users/kazuho/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/kazuho/starred{/owner}{/repo}", - "site_admin": false, - "login": "kazuho", - "type": "User", - "id": 41567, - "followers_url": "https://api.github.com/users/kazuho/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/353", - "created_at": "2017-05-25T21:50:18Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/cache-digest", - "color": "fbca04", - "default": false, - "id": 418128526, - "name": "cache-digest" - } - ], - "number": 352, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-25T07:02:53Z", - "id": 231255900, - "title": "Register header, frame type with IANA", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/352", - "diff_url": "https://github.com/httpwg/http-extensions/pull/352.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/352", - "patch_url": "https://github.com/httpwg/http-extensions/pull/352.patch" - }, - "comments": 1, - "state": "closed", - "body": "The header needs to be registered if it's going to appear in an RFC.\r\n\r\nLooking at 7540, I think the frame type needs to be registered as well, since \"Experimental Use\" is private / local only.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/352/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/352/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/352/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/352", - "updated_at": "2017-05-25T07:03:13Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/352", - "created_at": "2017-05-25T06:50:27Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/immutable", - "color": "fbca04", - "default": false, - "id": 517340868, - "name": "immutable" - } - ], - "number": 351, - "assignee": { - "following_url": "https://api.github.com/users/mcmanus/following{/other_user}", - "events_url": "https://api.github.com/users/mcmanus/events{/privacy}", - "organizations_url": "https://api.github.com/users/mcmanus/orgs", - "url": "https://api.github.com/users/mcmanus", - "gists_url": "https://api.github.com/users/mcmanus/gists{/gist_id}", - "html_url": "https://github.com/mcmanus", - "subscriptions_url": "https://api.github.com/users/mcmanus/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/260531?v=4", - "repos_url": "https://api.github.com/users/mcmanus/repos", - "received_events_url": "https://api.github.com/users/mcmanus/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mcmanus/starred{/owner}{/repo}", - "site_admin": false, - "login": "mcmanus", - "type": "User", - "id": 260531, - "followers_url": "https://api.github.com/users/mcmanus/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-03T19:21:11Z", - "id": 230589273, - "title": "Immutable references", - "comments": 1, - "state": "closed", - "body": "* [ ] Immutable doesn't contain the RFC2119 boilerplate, even though it uses the language. \r\n* [ ] It also has a dangling reference to RFC7231.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/351/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/351/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/351/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/351", - "updated_at": "2017-07-03T19:21:11Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/351", - "created_at": "2017-05-23T05:13:52Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mcmanus/following{/other_user}", - "events_url": "https://api.github.com/users/mcmanus/events{/privacy}", - "organizations_url": "https://api.github.com/users/mcmanus/orgs", - "url": "https://api.github.com/users/mcmanus", - "gists_url": "https://api.github.com/users/mcmanus/gists{/gist_id}", - "html_url": "https://github.com/mcmanus", - "subscriptions_url": "https://api.github.com/users/mcmanus/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/260531?v=4", - "repos_url": "https://api.github.com/users/mcmanus/repos", - "received_events_url": "https://api.github.com/users/mcmanus/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mcmanus/starred{/owner}{/repo}", - "site_admin": false, - "login": "mcmanus", - "type": "User", - "id": 260531, - "followers_url": "https://api.github.com/users/mcmanus/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/immutable", - "color": "fbca04", - "default": false, - "id": 517340868, - "name": "immutable" - } - ], - "number": 350, - "assignee": { - "following_url": "https://api.github.com/users/mcmanus/following{/other_user}", - "events_url": "https://api.github.com/users/mcmanus/events{/privacy}", - "organizations_url": "https://api.github.com/users/mcmanus/orgs", - "url": "https://api.github.com/users/mcmanus", - "gists_url": "https://api.github.com/users/mcmanus/gists{/gist_id}", - "html_url": "https://github.com/mcmanus", - "subscriptions_url": "https://api.github.com/users/mcmanus/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/260531?v=4", - "repos_url": "https://api.github.com/users/mcmanus/repos", - "received_events_url": "https://api.github.com/users/mcmanus/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mcmanus/starred{/owner}{/repo}", - "site_admin": false, - "login": "mcmanus", - "type": "User", - "id": 260531, - "followers_url": "https://api.github.com/users/mcmanus/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-03T19:20:56Z", - "id": 230588689, - "title": "Julian's feedback", - "comments": 2, - "state": "closed", - "body": "> 2.1. About Intermediaries\r\n>\r\n> An immutable response has the same semantic meaning when received by\r\n> proxy clients as it does when received by User-Agent based clients.\r\n> Therefore proxies SHOULD skip conditionally revalidating fresh\r\n> responses containing the immutable extension unless there is a signal\r\n> from the client that a validation is necessary (e.g. a no-cache\r\n> Cache-Control request directive).\r\n\r\nMaybe point to Section 5.2.1.4 of RFC 7234 here...\r\n\r\n> A proxy that uses immutable to bypass a conditional revalidation may\r\n> choose whether to reply with a 304 or 200 to its requesting client\r\n> based on the request headers the proxy received.\r\n\r\ns/may/MAY/ or s/may/can/\r\n\r\n> 2.2. Example\r\n>\r\n> Cache-Control: max-age=31536000, immutable\r\n\r\nMaybe add a full example, including a request/response pair for the case when \"immutable\" is not present?\r\n\r\n> 4. IANA Considerations\r\n>\r\n> [RFC7234] sections 7.1 and 7.1.2 require registration of the\r\n\r\ns/[RFC7234] sections 7.1 and 7.1.2/Section 7.1 of .../", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/350/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/350/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/350/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/350", - "updated_at": "2017-07-03T19:20:56Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/350", - "created_at": "2017-05-23T05:08:07Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mcmanus/following{/other_user}", - "events_url": "https://api.github.com/users/mcmanus/events{/privacy}", - "organizations_url": "https://api.github.com/users/mcmanus/orgs", - "url": "https://api.github.com/users/mcmanus", - "gists_url": "https://api.github.com/users/mcmanus/gists{/gist_id}", - "html_url": "https://github.com/mcmanus", - "subscriptions_url": "https://api.github.com/users/mcmanus/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/260531?v=4", - "repos_url": "https://api.github.com/users/mcmanus/repos", - "received_events_url": "https://api.github.com/users/mcmanus/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mcmanus/starred{/owner}{/repo}", - "site_admin": false, - "login": "mcmanus", - "type": "User", - "id": 260531, - "followers_url": "https://api.github.com/users/mcmanus/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 349, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-31T04:33:21Z", - "id": 230588489, - "title": "ORIGIN and server authority", - "comments": 1, - "state": "closed", - "body": "I'm reading the bit that touches on [server authority](http://httpwg.org/http-extensions/origin-frame.html#authority) and it's kinda vague on what the server is authoritative for.\r\n\r\nI see two alternatives: \r\n\r\n1. ORIGIN is an explicit disavowal of authority for any name for which the server would otherwise be authoritative for.\r\n2. ORIGIN doesn't say anything about authority, but instead relies on the definitions in RFC 7230 and 7540. What it does say is that requests made to (or pushed for) origins that aren't in the Origin Set are somehow invalid.\r\n\r\nI think that the text leans toward option 1, but it could be the latter.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/349/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/349/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/349/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/349", - "updated_at": "2017-07-31T04:33:21Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/349", - "created_at": "2017-05-23T05:06:25Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 348, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-31T06:43:14Z", - "id": 230587884, - "title": "Explain interactions with Alt-Svc", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/348", - "diff_url": "https://github.com/httpwg/http-extensions/pull/348.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/348", - "patch_url": "https://github.com/httpwg/http-extensions/pull/348.patch" - }, - "comments": 3, - "state": "closed", - "body": "The consequences for ORIGIN + Alt-Svc with a port change aren't awesome, but this should at least remove any confusion.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/348/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/348/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/348/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/348", - "updated_at": "2017-07-31T06:44:17Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/348", - "created_at": "2017-05-23T05:00:29Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - } - ], - "number": 347, - "assignee": { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-26T12:25:55Z", - "id": 229302322, - "title": "augment CSRF citation", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/347", - "diff_url": "https://github.com/httpwg/http-extensions/pull/347.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/347", - "patch_url": "https://github.com/httpwg/http-extensions/pull/347.patch" - }, - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/347/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/347/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/347/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/347", - "updated_at": "2017-05-26T12:26:02Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/347", - "created_at": "2017-05-17T10:10:39Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/header-structure", - "color": "fbca04", - "default": false, - "id": 499581321, - "name": "header-structure" - } - ], - "number": 346, - "assignee": { - "following_url": "https://api.github.com/users/bsdphk/following{/other_user}", - "events_url": "https://api.github.com/users/bsdphk/events{/privacy}", - "organizations_url": "https://api.github.com/users/bsdphk/orgs", - "url": "https://api.github.com/users/bsdphk", - "gists_url": "https://api.github.com/users/bsdphk/gists{/gist_id}", - "html_url": "https://github.com/bsdphk", - "subscriptions_url": "https://api.github.com/users/bsdphk/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/567236?v=4", - "repos_url": "https://api.github.com/users/bsdphk/repos", - "received_events_url": "https://api.github.com/users/bsdphk/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/bsdphk/starred{/owner}{/repo}", - "site_admin": false, - "login": "bsdphk", - "type": "User", - "id": 567236, - "followers_url": "https://api.github.com/users/bsdphk/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 229302111, - "title": "prune boilerplate", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/346", - "diff_url": "https://github.com/httpwg/http-extensions/pull/346.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/346", - "patch_url": "https://github.com/httpwg/http-extensions/pull/346.patch" - }, - "comments": 0, - "state": "open", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/346/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/346/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/346/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/346", - "updated_at": "2017-05-18T02:38:30Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/346", - "created_at": "2017-05-17T10:09:56Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/bsdphk/following{/other_user}", - "events_url": "https://api.github.com/users/bsdphk/events{/privacy}", - "organizations_url": "https://api.github.com/users/bsdphk/orgs", - "url": "https://api.github.com/users/bsdphk", - "gists_url": "https://api.github.com/users/bsdphk/gists{/gist_id}", - "html_url": "https://github.com/bsdphk", - "subscriptions_url": "https://api.github.com/users/bsdphk/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/567236?v=4", - "repos_url": "https://api.github.com/users/bsdphk/repos", - "received_events_url": "https://api.github.com/users/bsdphk/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/bsdphk/starred{/owner}{/repo}", - "site_admin": false, - "login": "bsdphk", - "type": "User", - "id": 567236, - "followers_url": "https://api.github.com/users/bsdphk/followers" - } - ] - } - ], - [ - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - } - ], - "number": 345, - "assignee": { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-26T12:26:46Z", - "id": 229301680, - "title": "update UTS46 reference", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/345", - "diff_url": "https://github.com/httpwg/http-extensions/pull/345.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/345", - "patch_url": "https://github.com/httpwg/http-extensions/pull/345.patch" - }, - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/345/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/345/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/345/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/345", - "updated_at": "2017-05-26T12:26:56Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/345", - "created_at": "2017-05-17T10:08:18Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - } - ], - "number": 344, - "assignee": { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-26T12:26:35Z", - "id": 229301351, - "title": "augment downref to RFC 3490 with explanation (see #343)", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/344", - "diff_url": "https://github.com/httpwg/http-extensions/pull/344.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/344", - "patch_url": "https://github.com/httpwg/http-extensions/pull/344.patch" - }, - "comments": 1, - "state": "closed", - "body": "(taken from 6265)\r\n\r\nNote this requires kramdown-rfc2629 version 1.2.2 or newer - please make sure to use this when generating submissions", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/344/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/344/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/344/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/344", - "updated_at": "2017-05-26T12:26:38Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/344", - "created_at": "2017-05-17T10:06:59Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 343, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-08-07T11:49:35Z", - "id": 229253903, - "title": "text about why RFC 3490 is cited is missing", - "comments": 2, - "state": "closed", - "body": "See the annotation in https://greenbytes.de/tech/webdav/rfc6265.html#RFC3490 ", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/343/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/343/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/343/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/343", - "updated_at": "2017-08-07T11:49:35Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/343", - "created_at": "2017-05-17T06:52:52Z", - "assignees": [] - }, - { - "labels": [], - "number": 342, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 229224042, - "title": "Viewport Height", - "comments": 0, - "state": "open", - "body": "With the slow but continual adoption of CSS grid's and allowing of 2 dimensional layouts, as well as the push to eliminate render blocking CSS for initial views, it would be incredibly useful to be able to capture both the width and height of the requesting viewport to handle server side inclusion of the specific styles needed for the initial view. This allows developers to not have to tightly align their markup creation with the style creation and maintain the separation of concerns.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/342/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/342/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/342/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/342", - "updated_at": "2017-05-17T02:56:58Z", - "user": { - "following_url": "https://api.github.com/users/JamiesonRoberts/following{/other_user}", - "events_url": "https://api.github.com/users/JamiesonRoberts/events{/privacy}", - "organizations_url": "https://api.github.com/users/JamiesonRoberts/orgs", - "url": "https://api.github.com/users/JamiesonRoberts", - "gists_url": "https://api.github.com/users/JamiesonRoberts/gists{/gist_id}", - "html_url": "https://github.com/JamiesonRoberts", - "subscriptions_url": "https://api.github.com/users/JamiesonRoberts/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/4614308?v=4", - "repos_url": "https://api.github.com/users/JamiesonRoberts/repos", - "received_events_url": "https://api.github.com/users/JamiesonRoberts/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/JamiesonRoberts/starred{/owner}{/repo}", - "site_admin": false, - "login": "JamiesonRoberts", - "type": "User", - "id": 4614308, - "followers_url": "https://api.github.com/users/JamiesonRoberts/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/342", - "created_at": "2017-05-17T02:56:58Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/cache-digest", - "color": "fbca04", - "default": false, - "id": 418128526, - "name": "cache-digest" - } - ], - "number": 341, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-25T06:37:10Z", - "id": 225245150, - "title": "define `cache-digest` header in appendix", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/341", - "diff_url": "https://github.com/httpwg/http-extensions/pull/341.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/341", - "patch_url": "https://github.com/httpwg/http-extensions/pull/341.patch" - }, - "comments": 3, - "state": "closed", - "body": "#256.\r\n\r\nSince I wasn't sure if we can make normative references from an appendix, RFC5234 (ABNF) and RFC4648 (Base64) has been added as informative references.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/341/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/341/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/341/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/341", - "updated_at": "2017-05-29T00:55:05Z", - "user": { - "following_url": "https://api.github.com/users/kazuho/following{/other_user}", - "events_url": "https://api.github.com/users/kazuho/events{/privacy}", - "organizations_url": "https://api.github.com/users/kazuho/orgs", - "url": "https://api.github.com/users/kazuho", - "gists_url": "https://api.github.com/users/kazuho/gists{/gist_id}", - "html_url": "https://github.com/kazuho", - "subscriptions_url": "https://api.github.com/users/kazuho/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/41567?v=4", - "repos_url": "https://api.github.com/users/kazuho/repos", - "received_events_url": "https://api.github.com/users/kazuho/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/kazuho/starred{/owner}{/repo}", - "site_admin": false, - "login": "kazuho", - "type": "User", - "id": 41567, - "followers_url": "https://api.github.com/users/kazuho/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/341", - "created_at": "2017-04-29T09:18:35Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/cache-digest", - "color": "fbca04", - "default": false, - "id": 418128526, - "name": "cache-digest" - } - ], - "number": 340, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-25T07:29:58Z", - "id": 224991233, - "title": "settings parameter to indicate support for CACHE_DIGEST", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/340", - "diff_url": "https://github.com/httpwg/http-extensions/pull/340.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/340", - "patch_url": "https://github.com/httpwg/http-extensions/pull/340.patch" - }, - "comments": 0, - "state": "closed", - "body": "The PR introduces a new SETTINGS parameter that can be used by a server to notify if (and how) it makes use of the CACHE_DIGEST frames.\r\n\r\nYou might find the discussion about how to use the parameter interesting. The text of the PR, under the assumption that the underlying transport will be TLS 1.3, suggests the client:\r\n* to wait for `SETTING_CACHE_DIGEST` SETTINGS parameter when doing a full handshake\r\n* retain the value of the parameter in the TLS session cache\r\n* and reuse the cached settings parameter value when doing 0-RTT resumption\r\n\r\nResolves #229.\r\n\r\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/340/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/340/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/340/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/340", - "updated_at": "2017-05-25T07:29:58Z", - "user": { - "following_url": "https://api.github.com/users/kazuho/following{/other_user}", - "events_url": "https://api.github.com/users/kazuho/events{/privacy}", - "organizations_url": "https://api.github.com/users/kazuho/orgs", - "url": "https://api.github.com/users/kazuho", - "gists_url": "https://api.github.com/users/kazuho/gists{/gist_id}", - "html_url": "https://github.com/kazuho", - "subscriptions_url": "https://api.github.com/users/kazuho/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/41567?v=4", - "repos_url": "https://api.github.com/users/kazuho/repos", - "received_events_url": "https://api.github.com/users/kazuho/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/kazuho/starred{/owner}{/repo}", - "site_admin": false, - "login": "kazuho", - "type": "User", - "id": 41567, - "followers_url": "https://api.github.com/users/kazuho/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/340", - "created_at": "2017-04-28T06:28:58Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 339, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-06-20T00:05:17Z", - "id": 224798406, - "title": "Potential security issues with ORIGIN frame", - "comments": 7, - "state": "closed", - "body": "When investigating http extensions, I came across the `ORIGIN` frame draft here.\r\n\r\nAlthough I think the goals set out for it are good, there are some inherent issues with adding this extension:\r\n- Service exposure on servers: the `ORIGIN` frame will potentially expose previously unknown services on the same host (e.g. administration interfaces on different ports) that should not be advertised.\r\n- Shared-host exposure: the frame will (by design) expose other domains/hosts served by the same server. For shared hosts, this can cause severe privacy issues by exposing which other domains/hosts are served by the same server.\r\n- Origin IP exposure: unless explicitly filtered out, any reverse-proxied connection can expose the origin server's IP to a connecting client, due to the previous point's type of exposure. \r\ne.g. `example.com` is proxied, `example2.com` is not proxied. Connecting to `example.com` connects to the proxy, exposes `example2.com` also being hosted in the `ORIGIN` frame. Looking up `example2.com` in DNS then exposes the origin IP of `example.com`.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/339/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/339/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/339/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/339", - "updated_at": "2017-06-20T00:05:17Z", - "user": { - "following_url": "https://api.github.com/users/wolfbeast/following{/other_user}", - "events_url": "https://api.github.com/users/wolfbeast/events{/privacy}", - "organizations_url": "https://api.github.com/users/wolfbeast/orgs", - "url": "https://api.github.com/users/wolfbeast", - "gists_url": "https://api.github.com/users/wolfbeast/gists{/gist_id}", - "html_url": "https://github.com/wolfbeast", - "subscriptions_url": "https://api.github.com/users/wolfbeast/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/3359132?v=4", - "repos_url": "https://api.github.com/users/wolfbeast/repos", - "received_events_url": "https://api.github.com/users/wolfbeast/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/wolfbeast/starred{/owner}{/repo}", - "site_admin": false, - "login": "wolfbeast", - "type": "User", - "id": 3359132, - "followers_url": "https://api.github.com/users/wolfbeast/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/339", - "created_at": "2017-04-27T14:17:01Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - } - ], - "number": 338, - "assignee": { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-05T12:34:45Z", - "id": 224774426, - "title": "make internal references dynamic", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/338", - "diff_url": "https://github.com/httpwg/http-extensions/pull/338.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/338", - "patch_url": "https://github.com/httpwg/http-extensions/pull/338.patch" - }, - "comments": 1, - "state": "closed", - "body": "addresses #333", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/338/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/338/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/338/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/338", - "updated_at": "2017-05-05T12:34:51Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/338", - "created_at": "2017-04-27T12:55:42Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - } - ], - "number": 337, - "assignee": { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-05T12:32:40Z", - "id": 224474791, - "title": "fix ID citations", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/337", - "diff_url": "https://github.com/httpwg/http-extensions/pull/337.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/337", - "patch_url": "https://github.com/httpwg/http-extensions/pull/337.patch" - }, - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/337/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/337/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/337/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/337", - "updated_at": "2017-05-05T12:32:40Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/337", - "created_at": "2017-04-26T13:49:09Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - } - ], - "number": 336, - "assignee": { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-05T12:32:12Z", - "id": 224472136, - "title": "remove historic status text", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/336", - "diff_url": "https://github.com/httpwg/http-extensions/pull/336.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/336", - "patch_url": "https://github.com/httpwg/http-extensions/pull/336.patch" - }, - "comments": 0, - "state": "closed", - "body": "...about the changes in rfc6265", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/336/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/336/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/336/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/336", - "updated_at": "2017-05-05T12:34:54Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/336", - "created_at": "2017-04-26T13:41:15Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - } - ], - "number": 335, - "assignee": { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-05T12:31:57Z", - "id": 224471893, - "title": "fix USASCII reference", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/335", - "diff_url": "https://github.com/httpwg/http-extensions/pull/335.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/335", - "patch_url": "https://github.com/httpwg/http-extensions/pull/335.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/335/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/335/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/335/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/335", - "updated_at": "2017-05-05T12:34:56Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/335", - "created_at": "2017-04-26T13:40:27Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - } - ], - "number": 334, - "assignee": { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-05T12:31:37Z", - "id": 224469687, - "title": "Fix abstract wrt what this document obsoletes", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/334", - "diff_url": "https://github.com/httpwg/http-extensions/pull/334.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/334", - "patch_url": "https://github.com/httpwg/http-extensions/pull/334.patch" - }, - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/334/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/334/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/334/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/334", - "updated_at": "2017-05-05T12:31:37Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/334", - "created_at": "2017-04-26T13:33:15Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 333, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-17T06:51:53Z", - "id": 224468682, - "title": "internal section references should be dynamic", - "comments": 0, - "state": "closed", - "body": "Right now they use hardwired section numbers (likely from RFC6265); this is going to fail when numbers change.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/333/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/333/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/333/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/333", - "updated_at": "2017-05-17T06:51:53Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/333", - "created_at": "2017-04-26T13:29:59Z", - "assignees": [] - }, - { - "labels": [], - "number": 332, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-04-24T01:22:33Z", - "id": 223510019, - "title": "fix \"is is\" typo", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/332", - "diff_url": "https://github.com/httpwg/http-extensions/pull/332.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/332", - "patch_url": "https://github.com/httpwg/http-extensions/pull/332.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/332/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/332/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/332/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/332", - "updated_at": "2017-04-24T01:22:34Z", - "user": { - "following_url": "https://api.github.com/users/enygren/following{/other_user}", - "events_url": "https://api.github.com/users/enygren/events{/privacy}", - "organizations_url": "https://api.github.com/users/enygren/orgs", - "url": "https://api.github.com/users/enygren", - "gists_url": "https://api.github.com/users/enygren/gists{/gist_id}", - "html_url": "https://github.com/enygren", - "subscriptions_url": "https://api.github.com/users/enygren/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/6840678?v=4", - "repos_url": "https://api.github.com/users/enygren/repos", - "received_events_url": "https://api.github.com/users/enygren/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/enygren/starred{/owner}{/repo}", - "site_admin": false, - "login": "enygren", - "type": "User", - "id": 6840678, - "followers_url": "https://api.github.com/users/enygren/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/332", - "created_at": "2017-04-21T22:09:00Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 331, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-31T06:43:45Z", - "id": 223504720, - "title": "Origin set definition (and port interaction with Alt-Svc)", - "comments": 8, - "state": "closed", - "body": "Some potential (editorial?) issues with the Origin Set definition (Section 2.3):\r\n\r\n* For Host we may wish to use a better term than \"the value sent in Server Name Indication\". In particular, this could cause problems in the future for any SNI-masking work. This also has potentially weird interactions with DANE as it specifies that the SNI should be the terminal CNAME or SRV record target.\r\n\r\n* For Port, there is a weird interaction with Alt-Svc. In particular, the server's port may be different than the port of Origin. For example, an Alt-Svc for https://www.example.com to alt.example.com:8443 still has the origin of https://www.example.com:443 but given the current wording would have the incorrect initial origins set of https://www.example.com:8443\r\n\r\nWould it be better to have the implicit initial Origin Set from a client's perspective (when an ORIGIN frame is first received) be \"the origin (as per [RFC6454]) that resulted in the successful establishment of the connection\" ? \r\n\r\nThis is ambiguous from the servers' perspective but perhaps much cleaner and simpler from the client's perspective.\r\n\r\nAnother ambiguity: if a 421 is received for the last origin in the Origin Set, does it become empty or return to uninitialized? (Should we clarify the former, and that clients may wish to soon close out the connection if no new origin additions are received soon?)\r\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/331/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/331/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/331/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/331", - "updated_at": "2017-07-31T06:43:45Z", - "user": { - "following_url": "https://api.github.com/users/enygren/following{/other_user}", - "events_url": "https://api.github.com/users/enygren/events{/privacy}", - "organizations_url": "https://api.github.com/users/enygren/orgs", - "url": "https://api.github.com/users/enygren", - "gists_url": "https://api.github.com/users/enygren/gists{/gist_id}", - "html_url": "https://github.com/enygren", - "subscriptions_url": "https://api.github.com/users/enygren/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/6840678?v=4", - "repos_url": "https://api.github.com/users/enygren/repos", - "received_events_url": "https://api.github.com/users/enygren/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/enygren/starred{/owner}{/repo}", - "site_admin": false, - "login": "enygren", - "type": "User", - "id": 6840678, - "followers_url": "https://api.github.com/users/enygren/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/331", - "created_at": "2017-04-21T21:42:32Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 330, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-09-12T00:42:58Z", - "id": 223500360, - "title": "Consulting the DNS on expanding ORIGIN set?", - "comments": 25, - "state": "closed", - "body": "The current ORIGIN frame draft (as of the changes introduced from #212) now prohibits consulting DNS when establishing a connection's authority, as long as the TLS certificate is consulted:\r\n\r\n> Clients MUST NOT consult DNS to establish the connection's authority for new requests. The TLS certificate MUST stil be used to do so, as described in [RFC7540] Section 9.1.1.\r\n\r\nAs @MikeBishop pointed out during discussion in Chicago, this is the first draft that explicitly removes DNS from the loop as a factor, rather than just delegating DNS. I did not get the sense that strong consensus exists yet for removing DNS as a factor without an additional authenticator.\r\n\r\nParticular concerns (some of which are highlighted in the Security Considerations) include:\r\n\r\n* When a cert (or validation behavior) is compromised, currently active MitM or DNS poisoning is required to exploit. This new behavior enables vulnerabilities here to be exploited by simply getting a client to follow a link to a malicious server that can expand the ORIGIN set to cover the origins it wants to hijack (and which are covered by the compromised cert or compromised validation behavior).\r\n* This has the change has potential to significantly change the operational behavior of clients. Rather than clients always following DNS, clients may now aggregate origins onto a connection to a server that was never handed out in the DNS for that name. This may have unintended consequences, such as allowing a non-production server sharing a cert with a production name to accidentally hijack production traffic; or otherwise giving a server operator with a cert covering a name the power to pull in client traffic for that name without this being explicitly configured through the DNS.\r\n\r\nThis change (to not follow the DNS) also becomes much more powerful (and more useful and more potentially perilous) when combined with any future pushed certificate functionality. I'm not convinced that the having to follow the DNS name is \"onerous\" enough to justify the security impact.\r\n\r\nSome options appear to be:\r\n\r\n1) Remove this \"Clients MUST NOT consult DNS\" clause. This doesn't prohibit the expansion of ORIGIN sets, but does mean that existing DNS service discovery and DNS following behavior must still be followed. This change could be introduced in a subsequent draft that much more explicitly worked through the security considerations and mitigations.\r\n2) Leave the language as-is, possibly expand on security considerations, and do a more detailed security analysis (especially for how this might interact with future pushed server certs).\r\n3) Specify additional mitigations that should replace consulting DNS, such as a pushed DNSSEC record chain terminating in the server IP, signed Alt-Service records, or similar. Most of these would require subsequent drafts to define in-detail, along with a corresponding security analysis.\r\n\r\n(Regardless, we may wish to clarify the subsequent bullet to make it clear that clients MAY consult the DNS to determine whether an existing connection can be reused or whether a new connection should be established. While the existing \"MUST NOT consult DNS\" phrasing does not prohibit this, it is misleading on a first reading.)\r\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/330/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/330/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/330/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/330", - "updated_at": "2017-09-12T00:42:58Z", - "user": { - "following_url": "https://api.github.com/users/enygren/following{/other_user}", - "events_url": "https://api.github.com/users/enygren/events{/privacy}", - "organizations_url": "https://api.github.com/users/enygren/orgs", - "url": "https://api.github.com/users/enygren", - "gists_url": "https://api.github.com/users/enygren/gists{/gist_id}", - "html_url": "https://github.com/enygren", - "subscriptions_url": "https://api.github.com/users/enygren/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/6840678?v=4", - "repos_url": "https://api.github.com/users/enygren/repos", - "received_events_url": "https://api.github.com/users/enygren/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/enygren/starred{/owner}{/repo}", - "site_admin": false, - "login": "enygren", - "type": "User", - "id": 6840678, - "followers_url": "https://api.github.com/users/enygren/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/330", - "created_at": "2017-04-21T21:21:11Z", - "assignees": [] - }, - { - "labels": [], - "number": 329, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-04-21T00:23:21Z", - "id": 223074054, - "title": "Two editorial nits.", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/329", - "diff_url": "https://github.com/httpwg/http-extensions/pull/329.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/329", - "patch_url": "https://github.com/httpwg/http-extensions/pull/329.patch" - }, - "comments": 1, - "state": "closed", - "body": "1. Fix one typo.\r\n2. Technically, a set is always a subset of itself. Therefore current wording implies that if two connections have identical Origin Sets, then neither should be used for new requests, and both should be closed. Fix this by saying \"proper subset\" instead of \"subset\".", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/329/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/329/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/329/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/329", - "updated_at": "2017-04-21T00:23:26Z", - "user": { - "following_url": "https://api.github.com/users/bencebeky/following{/other_user}", - "events_url": "https://api.github.com/users/bencebeky/events{/privacy}", - "organizations_url": "https://api.github.com/users/bencebeky/orgs", - "url": "https://api.github.com/users/bencebeky", - "gists_url": "https://api.github.com/users/bencebeky/gists{/gist_id}", - "html_url": "https://github.com/bencebeky", - "subscriptions_url": "https://api.github.com/users/bencebeky/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/6144440?v=4", - "repos_url": "https://api.github.com/users/bencebeky/repos", - "received_events_url": "https://api.github.com/users/bencebeky/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/bencebeky/starred{/owner}{/repo}", - "site_admin": false, - "login": "bencebeky", - "type": "User", - "id": 6144440, - "followers_url": "https://api.github.com/users/bencebeky/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/329", - "created_at": "2017-04-20T13:50:17Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/early-hints", - "color": "fbca04", - "default": false, - "id": 533812593, - "name": "early-hints" - } - ], - "number": 328, - "assignee": { - "following_url": "https://api.github.com/users/kazuho/following{/other_user}", - "events_url": "https://api.github.com/users/kazuho/events{/privacy}", - "organizations_url": "https://api.github.com/users/kazuho/orgs", - "url": "https://api.github.com/users/kazuho", - "gists_url": "https://api.github.com/users/kazuho/gists{/gist_id}", - "html_url": "https://github.com/kazuho", - "subscriptions_url": "https://api.github.com/users/kazuho/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/41567?v=4", - "repos_url": "https://api.github.com/users/kazuho/repos", - "received_events_url": "https://api.github.com/users/kazuho/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/kazuho/starred{/owner}{/repo}", - "site_admin": false, - "login": "kazuho", - "type": "User", - "id": 41567, - "followers_url": "https://api.github.com/users/kazuho/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-16T02:20:42Z", - "id": 222598316, - "title": "Editorial suggestions", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/328", - "diff_url": "https://github.com/httpwg/http-extensions/pull/328.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/328", - "patch_url": "https://github.com/httpwg/http-extensions/pull/328.patch" - }, - "comments": 1, - "state": "closed", - "body": "... for your consideration; feel free to take, discard, or do whatever else you like :)\r\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/328/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/328/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/328/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/328", - "updated_at": "2017-05-16T02:20:45Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/328", - "created_at": "2017-04-19T02:26:42Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/kazuho/following{/other_user}", - "events_url": "https://api.github.com/users/kazuho/events{/privacy}", - "organizations_url": "https://api.github.com/users/kazuho/orgs", - "url": "https://api.github.com/users/kazuho", - "gists_url": "https://api.github.com/users/kazuho/gists{/gist_id}", - "html_url": "https://github.com/kazuho", - "subscriptions_url": "https://api.github.com/users/kazuho/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/41567?v=4", - "repos_url": "https://api.github.com/users/kazuho/repos", - "received_events_url": "https://api.github.com/users/kazuho/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/kazuho/starred{/owner}{/repo}", - "site_admin": false, - "login": "kazuho", - "type": "User", - "id": 41567, - "followers_url": "https://api.github.com/users/kazuho/followers" - } - ] - }, - { - "labels": [], - "number": 327, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-04-19T19:51:24Z", - "id": 222489169, - "title": "Update Expect-CT syntax to match convention", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/327", - "diff_url": "https://github.com/httpwg/http-extensions/pull/327.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/327", - "patch_url": "https://github.com/httpwg/http-extensions/pull/327.patch" - }, - "comments": 0, - "state": "closed", - "body": "This changes Expect-CT to be a comma-separated list of directives (which may be\r\nname=value pairs), and adds some examples.\r\n\r\nAlso allows the server to send multiple header fields so that they can be\r\ncombined, as per\r\nhttps://github.com/httpwg/http-extensions/issues/318#issuecomment-294369176\r\n\r\nFixes issue #318, #321 ", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/327/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/327/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/327/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/327", - "updated_at": "2017-04-19T19:51:24Z", - "user": { - "following_url": "https://api.github.com/users/estark37/following{/other_user}", - "events_url": "https://api.github.com/users/estark37/events{/privacy}", - "organizations_url": "https://api.github.com/users/estark37/orgs", - "url": "https://api.github.com/users/estark37", - "gists_url": "https://api.github.com/users/estark37/gists{/gist_id}", - "html_url": "https://github.com/estark37", - "subscriptions_url": "https://api.github.com/users/estark37/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/602511?v=4", - "repos_url": "https://api.github.com/users/estark37/repos", - "received_events_url": "https://api.github.com/users/estark37/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/estark37/starred{/owner}{/repo}", - "site_admin": false, - "login": "estark37", - "type": "User", - "id": 602511, - "followers_url": "https://api.github.com/users/estark37/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/327", - "created_at": "2017-04-18T17:28:32Z", - "assignees": [] - }, - { - "labels": [], - "number": 326, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 222359774, - "title": "Use stand_alone for markdown", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/326", - "diff_url": "https://github.com/httpwg/http-extensions/pull/326.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/326", - "patch_url": "https://github.com/httpwg/http-extensions/pull/326.patch" - }, - "comments": 1, - "state": "open", - "body": "This includes a common set of processing instructions for the markdown files. The results should be more consistent with other drafts in the repo. \r\n\r\nThis is partly selfish. I found that this is necessary on my machine because java is flaky and kramdown-rfc2629 creates entity references that it can't handle. ", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/326/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/326/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/326/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/326", - "updated_at": "2017-04-18T10:00:41Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/326", - "created_at": "2017-04-18T09:46:59Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/immutable", - "color": "fbca04", - "default": false, - "id": 517340868, - "name": "immutable" - } - ], - "number": 325, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-03T01:55:07Z", - "id": 221425851, - "title": "Incomplete responses and immutable", - "comments": 7, - "state": "closed", - "body": "Just wondering out loud -- should immutable have any consideration of whether the response is incomplete, or potentially incomplete (i.e., close-delimited, rather than byte-counted or chunked or h2)?\r\n\r\nOne of the reasons people hit 'reload' is when something on the page seems corrupted.\r\n\r\n@mcmanus any thoughts?", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/325/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/325/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/325/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/325", - "updated_at": "2017-05-03T01:55:07Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/325", - "created_at": "2017-04-13T00:21:31Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 324, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-04-19T01:34:14Z", - "id": 220811315, - "title": "frame type 0xb polluted by BLOCKED use 0xc for ORIGIN", - "comments": 0, - "state": "closed", - "body": "pull #323 ", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/324/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/324/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/324/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/324", - "updated_at": "2017-04-19T01:34:14Z", - "user": { - "following_url": "https://api.github.com/users/mcmanus/following{/other_user}", - "events_url": "https://api.github.com/users/mcmanus/events{/privacy}", - "organizations_url": "https://api.github.com/users/mcmanus/orgs", - "url": "https://api.github.com/users/mcmanus", - "gists_url": "https://api.github.com/users/mcmanus/gists{/gist_id}", - "html_url": "https://github.com/mcmanus", - "subscriptions_url": "https://api.github.com/users/mcmanus/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/260531?v=4", - "repos_url": "https://api.github.com/users/mcmanus/repos", - "received_events_url": "https://api.github.com/users/mcmanus/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mcmanus/starred{/owner}{/repo}", - "site_admin": false, - "login": "mcmanus", - "type": "User", - "id": 260531, - "followers_url": "https://api.github.com/users/mcmanus/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/324", - "created_at": "2017-04-11T01:06:19Z", - "assignees": [] - }, - { - "labels": [], - "number": 323, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-04-11T04:09:40Z", - "id": 220811181, - "title": "change frame type of origin to 0xc to avoid conflict", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/323", - "diff_url": "https://github.com/httpwg/http-extensions/pull/323.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/323", - "patch_url": "https://github.com/httpwg/http-extensions/pull/323.patch" - }, - "comments": 3, - "state": "closed", - "body": "While testing firefox's implementation of this draft Vlad determined that some versions of Chrome throw PROTOCOL_ERROR and close the connection if it receives a type 0xB frame with a non zero length on stream 0.\r\n\r\nOther frame type numbers, such as 0xC do not seem to have that problem.\r\n\r\ntesting indicates this is fixed in version 59 and is a problem previous to that. (57 is in release as I write this).\r\n\r\npresumably this is related to historical code around BLOCKED which was proposed to use 0xB.\r\n\r\nPrudence says to just use a different code point for the moment.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/323/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/323/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/323/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/323", - "updated_at": "2017-04-18T08:39:48Z", - "user": { - "following_url": "https://api.github.com/users/mcmanus/following{/other_user}", - "events_url": "https://api.github.com/users/mcmanus/events{/privacy}", - "organizations_url": "https://api.github.com/users/mcmanus/orgs", - "url": "https://api.github.com/users/mcmanus", - "gists_url": "https://api.github.com/users/mcmanus/gists{/gist_id}", - "html_url": "https://github.com/mcmanus", - "subscriptions_url": "https://api.github.com/users/mcmanus/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/260531?v=4", - "repos_url": "https://api.github.com/users/mcmanus/repos", - "received_events_url": "https://api.github.com/users/mcmanus/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mcmanus/starred{/owner}{/repo}", - "site_admin": false, - "login": "mcmanus", - "type": "User", - "id": 260531, - "followers_url": "https://api.github.com/users/mcmanus/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/323", - "created_at": "2017-04-11T01:05:05Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/expect-ct", - "color": "fbca04", - "default": false, - "id": 533812693, - "name": "expect-ct" - } - ], - "number": 322, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-04-14T21:50:51Z", - "id": 218956031, - "title": "Expect CT: includeSubDomains", - "comments": 2, - "state": "closed", - "body": "Should the `Expect CT` header also have a `includeSubDomains` directive?\r\n\r\nIn the same way that [Strict-Transport-Security](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) and [Public-Key-Pins](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Public-Key-Pins) has this feature.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/322/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/322/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/322/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/322", - "updated_at": "2017-04-14T21:50:51Z", - "user": { - "following_url": "https://api.github.com/users/craigfrancis/following{/other_user}", - "events_url": "https://api.github.com/users/craigfrancis/events{/privacy}", - "organizations_url": "https://api.github.com/users/craigfrancis/orgs", - "url": "https://api.github.com/users/craigfrancis", - "gists_url": "https://api.github.com/users/craigfrancis/gists{/gist_id}", - "html_url": "https://github.com/craigfrancis", - "subscriptions_url": "https://api.github.com/users/craigfrancis/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1296695?v=4", - "repos_url": "https://api.github.com/users/craigfrancis/repos", - "received_events_url": "https://api.github.com/users/craigfrancis/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/craigfrancis/starred{/owner}{/repo}", - "site_admin": false, - "login": "craigfrancis", - "type": "User", - "id": 1296695, - "followers_url": "https://api.github.com/users/craigfrancis/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/322", - "created_at": "2017-04-03T14:42:22Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/expect-ct", - "color": "fbca04", - "default": false, - "id": 533812693, - "name": "expect-ct" - } - ], - "number": 321, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-04-20T17:00:42Z", - "id": 218920281, - "title": "Expect CT: Add an example", - "comments": 0, - "state": "closed", - "body": "Would it be possible to include an example in the spec?\r\n\r\nSomething like...\r\n\r\n Expect-CT: enforce; max-age=3600; report-uri=\"https://example.com/expect-ct-report\"\r\n\r\nAs I believe most developers like to work with examples, rather than just using the spec definition as found under the heading \"Response Header Field Syntax\".\r\n\r\n:-)", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/321/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/321/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/321/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/321", - "updated_at": "2017-04-20T17:00:42Z", - "user": { - "following_url": "https://api.github.com/users/craigfrancis/following{/other_user}", - "events_url": "https://api.github.com/users/craigfrancis/events{/privacy}", - "organizations_url": "https://api.github.com/users/craigfrancis/orgs", - "url": "https://api.github.com/users/craigfrancis", - "gists_url": "https://api.github.com/users/craigfrancis/gists{/gist_id}", - "html_url": "https://github.com/craigfrancis", - "subscriptions_url": "https://api.github.com/users/craigfrancis/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1296695?v=4", - "repos_url": "https://api.github.com/users/craigfrancis/repos", - "received_events_url": "https://api.github.com/users/craigfrancis/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/craigfrancis/starred{/owner}{/repo}", - "site_admin": false, - "login": "craigfrancis", - "type": "User", - "id": 1296695, - "followers_url": "https://api.github.com/users/craigfrancis/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/321", - "created_at": "2017-04-03T12:39:59Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 320, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-03T02:26:54Z", - "id": 218543161, - "title": "client hints generally uses \"headers\" to refer to \"header fields\"", - "comments": 1, - "state": "closed", - "body": "The WG drafts that extend HTTP/1 should be consistent with the terminology of RFC7230 and RFC7231. That means `s/headers/header fields/g;`.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/320/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/320/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/320/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/320", - "updated_at": "2017-05-03T02:26:54Z", - "user": { - "following_url": "https://api.github.com/users/royfielding/following{/other_user}", - "events_url": "https://api.github.com/users/royfielding/events{/privacy}", - "organizations_url": "https://api.github.com/users/royfielding/orgs", - "url": "https://api.github.com/users/royfielding", - "gists_url": "https://api.github.com/users/royfielding/gists{/gist_id}", - "html_url": "https://github.com/royfielding", - "subscriptions_url": "https://api.github.com/users/royfielding/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/1724757?v=4", - "repos_url": "https://api.github.com/users/royfielding/repos", - "received_events_url": "https://api.github.com/users/royfielding/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/royfielding/starred{/owner}{/repo}", - "site_admin": false, - "login": "royfielding", - "type": "User", - "id": 1724757, - "followers_url": "https://api.github.com/users/royfielding/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/320", - "created_at": "2017-03-31T15:51:47Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/early-hints", - "color": "fbca04", - "default": false, - "id": 533812593, - "name": "early-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 319, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-18T01:19:39Z", - "id": 218536805, - "title": "EARLY-hints requirement on \"client MUST NOT process\" headers needs better wording", - "comments": 2, - "state": "closed", - "body": "Regarding \r\n```\r\n A client MAY speculatively evaluate the headers included in the\r\n informational response while waiting for the final response. For\r\n example, a client may recognize the link header of type preload and\r\n start fetching the resource. However, the evaluation MUST NOT affect\r\n how the final response is processed; the client must behave as if it\r\n had not seen the informational response. A client MUST NOT process\r\n the headers included in the response as if they belonged to the\r\n informational response.\r\n```\r\nThe requirement in the last sentence needs to be re-worded, since `process` includes parsing and the client is clearly parsing those header fields and using them.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/319/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/319/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/319/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/319", - "updated_at": "2017-05-18T01:19:39Z", - "user": { - "following_url": "https://api.github.com/users/royfielding/following{/other_user}", - "events_url": "https://api.github.com/users/royfielding/events{/privacy}", - "organizations_url": "https://api.github.com/users/royfielding/orgs", - "url": "https://api.github.com/users/royfielding", - "gists_url": "https://api.github.com/users/royfielding/gists{/gist_id}", - "html_url": "https://github.com/royfielding", - "subscriptions_url": "https://api.github.com/users/royfielding/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/1724757?v=4", - "repos_url": "https://api.github.com/users/royfielding/repos", - "received_events_url": "https://api.github.com/users/royfielding/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/royfielding/starred{/owner}{/repo}", - "site_admin": false, - "login": "royfielding", - "type": "User", - "id": 1724757, - "followers_url": "https://api.github.com/users/royfielding/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/319", - "created_at": "2017-03-31T15:29:47Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/expect-ct", - "color": "fbca04", - "default": false, - "id": 533812693, - "name": "expect-ct" - } - ], - "number": 318, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-04-20T17:00:48Z", - "id": 218526441, - "title": "Definition of Expect-CT is a little unclear", - "comments": 10, - "state": "closed", - "body": "The convention for HTTP is to define header fields as follows:\r\n\r\n```\r\n = #-fields\r\n```\r\n\r\nWhich leads to me suggesting:\r\n\r\n```abnf\r\nExpect-CT = #Expect-CT-Directives\r\nExpect-CT-Directives = [ parameter *( OWS \";\" OWS parameter ) ]\r\n```\r\n\r\nNote that this doesn't follow the common structure, which uses:\r\n\r\n```abnf\r\ncommon-structure = 1* ( identifier dictionary )\r\n```\r\n\r\nIgnore the obvious errors in the common structure syntax, the intent is to have a list of identifiers followed by dictionaries.\r\n\r\nI've marked this as editorial, I think that the outcome will not affect the wire syntax at all.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/318/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/318/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/318/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/318", - "updated_at": "2017-04-20T17:00:48Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/318", - "created_at": "2017-03-31T14:53:48Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/expect-ct", - "color": "fbca04", - "default": false, - "id": 533812693, - "name": "expect-ct" - } - ], - "number": 317, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-04-18T02:05:38Z", - "id": 218521609, - "title": "Request header for Expect-CT", - "comments": 12, - "state": "closed", - "body": "A request header for Expect-CT would allow servers to know how many clients actually support Expect-CT and might allow us to deprecate this header in the future. \r\n\r\nSpecifying that you MUST send Expect-CT response unless the header is sent might be nice as well.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/317/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/317/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/317/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/317", - "updated_at": "2017-04-18T02:05:38Z", - "user": { - "following_url": "https://api.github.com/users/siyengar/following{/other_user}", - "events_url": "https://api.github.com/users/siyengar/events{/privacy}", - "organizations_url": "https://api.github.com/users/siyengar/orgs", - "url": "https://api.github.com/users/siyengar", - "gists_url": "https://api.github.com/users/siyengar/gists{/gist_id}", - "html_url": "https://github.com/siyengar", - "subscriptions_url": "https://api.github.com/users/siyengar/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/1054756?v=4", - "repos_url": "https://api.github.com/users/siyengar/repos", - "received_events_url": "https://api.github.com/users/siyengar/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/siyengar/starred{/owner}{/repo}", - "site_admin": false, - "login": "siyengar", - "type": "User", - "id": 1054756, - "followers_url": "https://api.github.com/users/siyengar/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/317", - "created_at": "2017-03-31T14:37:17Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/expect-ct", - "color": "fbca04", - "default": false, - "id": 533812693, - "name": "expect-ct" - } - ], - "number": 316, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-03-31T14:43:02Z", - "id": 218520392, - "title": "Expect-CT uses cookie syntax", - "comments": 7, - "state": "closed", - "body": "Roy noted that the header syntax is copied from Cookies, which is an abomination.\r\n\r\nWe have the header-structure draft, which this could follow. Many of the other recent header fields that use comma-separated lists with semi-colon-separated parameter maps could serve as an example.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/316/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/316/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/316/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/316", - "updated_at": "2017-03-31T14:58:44Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/316", - "created_at": "2017-03-31T14:33:14Z", - "assignees": [] - } - ], - [ - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 315, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-03-21T00:22:24Z", - "id": 215589949, - "title": "origin frames and 0-RTT", - "comments": 1, - "state": "closed", - "body": "Do we want to allow clients to remember origin sets for when they resume? Coalescing for 0-RTT could be a significant win.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/315/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/315/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/315/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/315", - "updated_at": "2017-03-21T00:22:24Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/315", - "created_at": "2017-03-20T23:53:16Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 314, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-04-20T00:34:19Z", - "id": 215441464, - "title": "origin frame race condition (not the obvious one)", - "comments": 8, - "state": "closed", - "body": "7540 has coalescing rules that are overruled by Origin frames - we all know that can't take effect until the origin frame(s) have been received at the client - so that's the basic race condition that we're comfortable with.\r\n\r\nBut because the origin set is done one origin in one frame at a time, and there is no End-of-Set marker on it, the set can become initialized before it is complete upon receipt of the first frame. Initialization means any origin that will soon be in the set but has not yet been processed will not be coalesced onto this connection even if it meets the rules of 7540.. that's the state that is intended at the end of origin set processing, but this interim state seems counterproductive.\r\n\r\nThe easiest thing to do seems to be to create some kind of checkpoint flag that means 'generation done for now'.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/314/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/314/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/314/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/314", - "updated_at": "2017-04-20T00:34:19Z", - "user": { - "following_url": "https://api.github.com/users/mcmanus/following{/other_user}", - "events_url": "https://api.github.com/users/mcmanus/events{/privacy}", - "organizations_url": "https://api.github.com/users/mcmanus/orgs", - "url": "https://api.github.com/users/mcmanus", - "gists_url": "https://api.github.com/users/mcmanus/gists{/gist_id}", - "html_url": "https://github.com/mcmanus", - "subscriptions_url": "https://api.github.com/users/mcmanus/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/260531?v=4", - "repos_url": "https://api.github.com/users/mcmanus/repos", - "received_events_url": "https://api.github.com/users/mcmanus/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mcmanus/starred{/owner}{/repo}", - "site_admin": false, - "login": "mcmanus", - "type": "User", - "id": 260531, - "followers_url": "https://api.github.com/users/mcmanus/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/314", - "created_at": "2017-03-20T14:40:43Z", - "assignees": [] - }, - { - "labels": [], - "number": 313, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-03-26T17:31:00Z", - "id": 215137782, - "title": "define Accept-CH-Lifetime", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/313", - "diff_url": "https://github.com/httpwg/http-extensions/pull/313.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/313", - "patch_url": "https://github.com/httpwg/http-extensions/pull/313.patch" - }, - "comments": 3, - "state": "closed", - "body": "Closes #307 and #306.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/313/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/313/labels{/name}", - "author_association": "MEMBER", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/313/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/313", - "updated_at": "2017-03-26T17:31:00Z", - "user": { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/313", - "created_at": "2017-03-17T22:28:03Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/expect-ct", - "color": "fbca04", - "default": false, - "id": 533812693, - "name": "expect-ct" - } - ], - "number": 312, - "assignee": { - "following_url": "https://api.github.com/users/estark37/following{/other_user}", - "events_url": "https://api.github.com/users/estark37/events{/privacy}", - "organizations_url": "https://api.github.com/users/estark37/orgs", - "url": "https://api.github.com/users/estark37", - "gists_url": "https://api.github.com/users/estark37/gists{/gist_id}", - "html_url": "https://github.com/estark37", - "subscriptions_url": "https://api.github.com/users/estark37/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/602511?v=4", - "repos_url": "https://api.github.com/users/estark37/repos", - "received_events_url": "https://api.github.com/users/estark37/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/estark37/starred{/owner}{/repo}", - "site_admin": false, - "login": "estark37", - "type": "User", - "id": 602511, - "followers_url": "https://api.github.com/users/estark37/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-22T22:52:22Z", - "id": 214211486, - "title": "Expect-CT report-uri should be quoted", - "comments": 2, - "state": "closed", - "body": "The report-uri syntax in Section 2.1.1 should quote the `absolute-URI`. This would most closely match HPKP, for which the report-uri syntax is not specified but all given examples are quoted. (https://tools.ietf.org/html/rfc7469#section-2.1.5)", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/312/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/312/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/312/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/312", - "updated_at": "2017-05-22T22:52:22Z", - "user": { - "following_url": "https://api.github.com/users/estark37/following{/other_user}", - "events_url": "https://api.github.com/users/estark37/events{/privacy}", - "organizations_url": "https://api.github.com/users/estark37/orgs", - "url": "https://api.github.com/users/estark37", - "gists_url": "https://api.github.com/users/estark37/gists{/gist_id}", - "html_url": "https://github.com/estark37", - "subscriptions_url": "https://api.github.com/users/estark37/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/602511?v=4", - "repos_url": "https://api.github.com/users/estark37/repos", - "received_events_url": "https://api.github.com/users/estark37/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/estark37/starred{/owner}{/repo}", - "site_admin": false, - "login": "estark37", - "type": "User", - "id": 602511, - "followers_url": "https://api.github.com/users/estark37/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/312", - "created_at": "2017-03-14T21:25:44Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/estark37/following{/other_user}", - "events_url": "https://api.github.com/users/estark37/events{/privacy}", - "organizations_url": "https://api.github.com/users/estark37/orgs", - "url": "https://api.github.com/users/estark37", - "gists_url": "https://api.github.com/users/estark37/gists{/gist_id}", - "html_url": "https://github.com/estark37", - "subscriptions_url": "https://api.github.com/users/estark37/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/602511?v=4", - "repos_url": "https://api.github.com/users/estark37/repos", - "received_events_url": "https://api.github.com/users/estark37/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/estark37/starred{/owner}{/repo}", - "site_admin": false, - "login": "estark37", - "type": "User", - "id": 602511, - "followers_url": "https://api.github.com/users/estark37/followers" - } - ] - }, - { - "labels": [], - "number": 311, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-03-13T20:00:23Z", - "id": 213878244, - "title": "immutable: fix typo", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/311", - "diff_url": "https://github.com/httpwg/http-extensions/pull/311.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/311", - "patch_url": "https://github.com/httpwg/http-extensions/pull/311.patch" - }, - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/311/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/311/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/311/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/311", - "updated_at": "2017-03-13T20:00:25Z", - "user": { - "following_url": "https://api.github.com/users/vfaronov/following{/other_user}", - "events_url": "https://api.github.com/users/vfaronov/events{/privacy}", - "organizations_url": "https://api.github.com/users/vfaronov/orgs", - "url": "https://api.github.com/users/vfaronov", - "gists_url": "https://api.github.com/users/vfaronov/gists{/gist_id}", - "html_url": "https://github.com/vfaronov", - "subscriptions_url": "https://api.github.com/users/vfaronov/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/300211?v=4", - "repos_url": "https://api.github.com/users/vfaronov/repos", - "received_events_url": "https://api.github.com/users/vfaronov/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/vfaronov/starred{/owner}{/repo}", - "site_admin": false, - "login": "vfaronov", - "type": "User", - "id": 300211, - "followers_url": "https://api.github.com/users/vfaronov/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/311", - "created_at": "2017-03-13T19:51:24Z", - "assignees": [] - }, - { - "labels": [], - "number": 310, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-03-13T00:12:28Z", - "id": 213544451, - "title": "RFC 7515 (base64url) is only used in examples and can be moved to informative", - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/310/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/310/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/310/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/310", - "updated_at": "2017-03-13T00:12:28Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/310", - "created_at": "2017-03-11T17:40:37Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - } - ], - "number": 309, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-03-14T08:03:05Z", - "id": 211842869, - "title": "Editorial cleanup and improvements", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/309", - "diff_url": "https://github.com/httpwg/http-extensions/pull/309.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/309", - "patch_url": "https://github.com/httpwg/http-extensions/pull/309.patch" - }, - "comments": 2, - "state": "closed", - "body": "Closes https://github.com/httpwg/http-extensions/issues/308.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/309/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/309/labels{/name}", - "author_association": "MEMBER", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/309/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/309", - "updated_at": "2017-03-17T21:23:26Z", - "user": { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/309", - "created_at": "2017-03-04T01:20:22Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 308, - "assignee": { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-03-14T08:03:05Z", - "id": 211287561, - "title": "CH editorial", - "comments": 3, - "state": "closed", - "body": "Taking a run through the spec before we sent it upstairs, a few suggestions --\r\n\r\n* In the abstract, `s/clients/user agents/g` (proxies aren't going to generate them, and shouldn't try)\r\n* Introduction - you might get complaints about the \"UA\" abbreviation; spell out as `User-Agent`?\r\n* Section 2 - \"Each one conveys a list of client preferences\" -- are they all list-based?\r\n* 2.2 - \"Servers respond with an optimized response based on one or more received hints from the client.\" -- awkward; suggest: \"When presented with a request that contains one or more client hint headers, servers can optimise the response based upon the information in them.\"\r\n* 2.2 - \"used hint\" --> \"hint used\"\r\n* 2.2 - \"emit\" --> \"generate\" (has meaning in HTTP)\r\n* 2.2 \"confirm the property of the response, such that the client can adjust its processing\" --> \"convey related values to aid client processing\"\r\n* Sections 3-7: These feel like they should all be in their own subsection. Also, would you consider changing \"client hint\" in each title to \"header field\"? That will emphasise that they're just regular headers, not some new class of thing (I continue to be concerned that people think these are magical because they are called Client Hints).\r\n* Section 7: \"New token and extension token values can only be defined by revisions of this specification\" --> \"New token and extension token values can be defined by updates to this specification.\" (IETF-specific wording)\r\n* Section 9: \"Client Hints defined in this specification do not expose new information about the user\u2019s environment beyond what is already available to, and can be communicated by, the application at runtime via JavaScript and CSS.\" --> \"The request header fields defined in this specification expose information that is already available to Web applications in the browser runtime itself (e.g., using JavaScript and CSS).\"\r\n* Section 9: \"However, implementors should consider the privacy implications of various methods to enable delivery of Client Hints - see \u201cSending Client Hints\u201d section.\" --> \"However, servers that gather this information through such mechanisms are typically observable (e.g., you can see that they're using JavaScript to gather it), whereas servers' use of the header fields introduced by this specification is not observable. Section 2.1 discusses potential mitigations.\" \r\n* Section 9: \"might reduce such fingerprinting risks\" --> \"can help mitigate the risk of such fingerprinting.\"\r\n* Section 9: \"The implementers can...\" --> \"Implementers ought to...\"\r\n* Section 9: \"...advertised: require...\" --> \"...advertised. For example, they could require...\"", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/308/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/308/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/308/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/308", - "updated_at": "2017-03-14T08:03:05Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/308", - "created_at": "2017-03-02T04:37:29Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 307, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-03-26T17:31:00Z", - "id": 211284232, - "title": "Scoping of Accept-CH", - "comments": 10, - "state": "closed", - "body": "The `Accept-CH` response header is defined as:\r\n\r\n> When a client receives Accept-CH, or if it is capable of processing the HTML response and finds an equivalent HTML meta element, it can treat it as a signal that the server is interested in receiving the Client-Hint header fields that match the advertised field-values; subsequent requests initiated to the same server and, optionally any subresource requests initiated as a result of processing the response from the server that includes the Accept-CH opt-in, can include the Client-Hint header fields that match the advertised field-values.\r\n>\r\n> For example, based on Accept-CH example above, a user agent could append DPR, Width, Viewport-Width, and Downlink header fields to all subresource requests initiated by the page constructed from the response. Alternatively, a client can treat advertised support as a persistent origin preference and append same header fields on all future requests initiated to and by the resources associated with that origin.\r\n\r\n\"All future requests\" is a long time indeed. While of course the client isn't going to literally do that (eventually it'll be garbage collected, or the user will reset state, or the machine will be recycled), from a server-side perspective, it'd be nice to have *some* level of control over how bloated your requests get.\r\n\r\nAdditionally, having `Accept-CH` possibly indicate that future references *to* **and** *from* this origin seems like a pretty broad brush to be painting with. While Chrome might make some reasonable decisions about tradeoffs here (and probably needs some wiggle room), if this ever does get implemented elsewhere, this broadness and freedom is a recipe for bad interop and worse server-side headaches.\r\n\r\nSo, can we nail this down at all? \r\n\r\nThe most conservative approach is:\r\n\r\n\"Send CH headers on subrequests generated by this content, please.\"\r\n\r\nHowever, the above also says \"subsequent requests initiated to the same server\" in the primary spot; the case above is relegated to \"optionally.\"\r\n\r\nPersonally, my preference would be to drop \"subsequent requests initiated to the same server and, optionally\" and the corresponding text in the example below it. The primary use case for CH as I understand it is serving appropriate subresources, NOT dynamically modifying HTML, so that should do the trick.\r\n\r\nAm I missing something, @igrigorik?\r\n\r\nRegardless of that, \"server\" is used very loosely above; I think you mean \"origin\", right? And \"can\" should probably be \"MAY\".\r\n\r\nCC @yoavweiss", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/307/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/307/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/307/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/307", - "updated_at": "2017-04-10T09:55:02Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/307", - "created_at": "2017-03-02T04:09:39Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 306, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-03-26T17:31:40Z", - "id": 210405491, - "title": "Allow servers to specify max-age in the client hints header", - "comments": 10, - "state": "closed", - "body": "The [Accept-CH](http://httpwg.org/http-extensions/client-hints.html) header is currently included by origin servers in HTTP responses if they are interested in receiving client hints from the browser (e.g., DPR). The spec currently does not require browsers to persist the opt-in across browser restarts. This means that if the origins are interested in receiving hints on all requests, then they need to include the Accept-CH header on all responses. This has two disadvantages: (i) Browsers currently fail to include the hints on the first request after the browser restart; and, (ii) It may not be possible for the origin servers to include the Accept-CH header on all responses due to responses being served out of different endpoints (CDNs etc.).\r\n\r\nTo fix this: The Accept-CH header should also support a [max-age](http://wicg.github.io/reporting/#max-age-member) header value which indicates for how long should the browser remember this opt-in (including across browser restarts). A value of max-age set to 0 should cause the browser to stop sending client-hints to the origin. As an example,\r\n\r\n`Accept-CH: feature1, feature2, max-age=86400`\r\n\r\nwould imply that the browser should include hints `feature1` and `feature2` for next 86400 seconds for that origin.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/306/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/306/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/306/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/306", - "updated_at": "2017-03-26T17:31:40Z", - "user": { - "following_url": "https://api.github.com/users/tarunban/following{/other_user}", - "events_url": "https://api.github.com/users/tarunban/events{/privacy}", - "organizations_url": "https://api.github.com/users/tarunban/orgs", - "url": "https://api.github.com/users/tarunban", - "gists_url": "https://api.github.com/users/tarunban/gists{/gist_id}", - "html_url": "https://github.com/tarunban", - "subscriptions_url": "https://api.github.com/users/tarunban/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/25577361?v=4", - "repos_url": "https://api.github.com/users/tarunban/repos", - "received_events_url": "https://api.github.com/users/tarunban/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/tarunban/starred{/owner}{/repo}", - "site_admin": false, - "login": "tarunban", - "type": "User", - "id": 25577361, - "followers_url": "https://api.github.com/users/tarunban/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/306", - "created_at": "2017-02-27T07:17:05Z", - "assignees": [] - }, - { - "labels": [], - "number": 305, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-27T05:48:30Z", - "id": 210111759, - "title": "Incorporate feedback on httpbis-client-hints-03", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/305", - "diff_url": "https://github.com/httpwg/http-extensions/pull/305.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/305", - "patch_url": "https://github.com/httpwg/http-extensions/pull/305.patch" - }, - "comments": 2, - "state": "closed", - "body": "Related discussions:\r\n- https://lists.w3.org/Archives/Public/ietf-http-wg/2017JanMar/thread.html#msg143\r\n- https://github.com/httpwg/http-extensions/issues/284", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/305/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/305/labels{/name}", - "author_association": "MEMBER", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/305/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/305", - "updated_at": "2017-02-27T06:01:55Z", - "user": { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/305", - "created_at": "2017-02-24T17:37:59Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 304, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 210062331, - "title": "partition: numbering issue", - "comments": 0, - "state": "open", - "body": "> If header_value is less than segment_value when they are numerically compared, skip to step 7.\r\n\r\nThis should probably refer to step 8 (\"Return segment_id.\")\r\n\r\n\"For each segment_value in segment_list:\" should get the number 7 in the markdown file (6 is already 'Create a list segment_list by splitting parameter_value on \":\" characters.').", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/304/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/304/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/304/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/304", - "updated_at": "2017-02-27T00:52:55Z", - "user": { - "following_url": "https://api.github.com/users/waldbaerkoch/following{/other_user}", - "events_url": "https://api.github.com/users/waldbaerkoch/events{/privacy}", - "organizations_url": "https://api.github.com/users/waldbaerkoch/orgs", - "url": "https://api.github.com/users/waldbaerkoch", - "gists_url": "https://api.github.com/users/waldbaerkoch/gists{/gist_id}", - "html_url": "https://github.com/waldbaerkoch", - "subscriptions_url": "https://api.github.com/users/waldbaerkoch/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/3583116?v=4", - "repos_url": "https://api.github.com/users/waldbaerkoch/repos", - "received_events_url": "https://api.github.com/users/waldbaerkoch/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/waldbaerkoch/starred{/owner}{/repo}", - "site_admin": false, - "login": "waldbaerkoch", - "type": "User", - "id": 3583116, - "followers_url": "https://api.github.com/users/waldbaerkoch/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/304", - "created_at": "2017-02-24T14:30:21Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 303, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 210059163, - "title": "div: removing all WSP characters?", - "comments": 1, - "state": "open", - "body": "In the section about div:\r\n> 4. Remove all WSP characters from header_value.\r\n> 5. If header_value does not match the div ABNF rule, fail parameter processing ({{fail-param}}).\r\n\r\nSo a header value\r\n```\r\n23 45\r\n```\r\nwill become\r\n```\r\n2345\r\n```\r\nwhich matches `1*DIGIT`; everything is fine? Or is the intention to **trim** the header value?", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/303/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/303/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/303/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/303", - "updated_at": "2017-02-27T00:52:07Z", - "user": { - "following_url": "https://api.github.com/users/waldbaerkoch/following{/other_user}", - "events_url": "https://api.github.com/users/waldbaerkoch/events{/privacy}", - "organizations_url": "https://api.github.com/users/waldbaerkoch/orgs", - "url": "https://api.github.com/users/waldbaerkoch", - "gists_url": "https://api.github.com/users/waldbaerkoch/gists{/gist_id}", - "html_url": "https://github.com/waldbaerkoch", - "subscriptions_url": "https://api.github.com/users/waldbaerkoch/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/3583116?v=4", - "repos_url": "https://api.github.com/users/waldbaerkoch/repos", - "received_events_url": "https://api.github.com/users/waldbaerkoch/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/waldbaerkoch/starred{/owner}{/repo}", - "site_admin": false, - "login": "waldbaerkoch", - "type": "User", - "id": 3583116, - "followers_url": "https://api.github.com/users/waldbaerkoch/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/303", - "created_at": "2017-02-24T14:17:14Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 302, - "assignee": { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-08-07T13:08:54Z", - "id": 209619212, - "title": "Typo in SameSite cookie algorithm (?)", - "comments": 1, - "state": "closed", - "body": "Step 5 of Section 2.1.1 of https://tools.ietf.org/html/draft-ietf-httpbis-cookie-same-site-00#section-2.1.1 says `return \"top-site\"`, but \"top-site\" isn't defined anywhere. I think it's supposed to be the registerable domain of \"top-origin\"?\r\n\r\ncc @scotthelme", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/302/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/302/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/302/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/302", - "updated_at": "2017-08-07T13:09:18Z", - "user": { - "following_url": "https://api.github.com/users/estark37/following{/other_user}", - "events_url": "https://api.github.com/users/estark37/events{/privacy}", - "organizations_url": "https://api.github.com/users/estark37/orgs", - "url": "https://api.github.com/users/estark37", - "gists_url": "https://api.github.com/users/estark37/gists{/gist_id}", - "html_url": "https://github.com/estark37", - "subscriptions_url": "https://api.github.com/users/estark37/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/602511?v=4", - "repos_url": "https://api.github.com/users/estark37/repos", - "received_events_url": "https://api.github.com/users/estark37/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/estark37/starred{/owner}{/repo}", - "site_admin": false, - "login": "estark37", - "type": "User", - "id": 602511, - "followers_url": "https://api.github.com/users/estark37/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/302", - "created_at": "2017-02-22T23:49:30Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - } - ] - }, - { - "labels": [], - "number": 301, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-21T02:42:50Z", - "id": 209014583, - "title": "Make the intro to http2-encryption clearer about the scope", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/301", - "diff_url": "https://github.com/httpwg/http-extensions/pull/301.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/301", - "patch_url": "https://github.com/httpwg/http-extensions/pull/301.patch" - }, - "comments": 2, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/301/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/301/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/301/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/301", - "updated_at": "2017-02-21T02:42:50Z", - "user": { - "following_url": "https://api.github.com/users/paulehoffman/following{/other_user}", - "events_url": "https://api.github.com/users/paulehoffman/events{/privacy}", - "organizations_url": "https://api.github.com/users/paulehoffman/orgs", - "url": "https://api.github.com/users/paulehoffman", - "gists_url": "https://api.github.com/users/paulehoffman/gists{/gist_id}", - "html_url": "https://github.com/paulehoffman", - "subscriptions_url": "https://api.github.com/users/paulehoffman/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/638939?v=4", - "repos_url": "https://api.github.com/users/paulehoffman/repos", - "received_events_url": "https://api.github.com/users/paulehoffman/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/paulehoffman/starred{/owner}{/repo}", - "site_admin": false, - "login": "paulehoffman", - "type": "User", - "id": 638939, - "followers_url": "https://api.github.com/users/paulehoffman/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/301", - "created_at": "2017-02-21T00:55:32Z", - "assignees": [] - }, - { - "labels": [], - "number": 300, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-19T22:36:52Z", - "id": 208737150, - "title": "fix series info for XMLENC", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/300", - "diff_url": "https://github.com/httpwg/http-extensions/pull/300.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/300", - "patch_url": "https://github.com/httpwg/http-extensions/pull/300.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/300/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/300/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/300/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/300", - "updated_at": "2017-02-19T22:36:52Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/300", - "created_at": "2017-02-19T18:46:39Z", - "assignees": [] - }, - { - "labels": [], - "number": 299, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-19T22:36:13Z", - "id": 208736227, - "title": "update FIPS180-4 reference", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/299", - "diff_url": "https://github.com/httpwg/http-extensions/pull/299.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/299", - "patch_url": "https://github.com/httpwg/http-extensions/pull/299.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/299/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/299/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/299/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/299", - "updated_at": "2017-02-20T05:30:32Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/299", - "created_at": "2017-02-19T18:33:45Z", - "assignees": [] - }, - { - "labels": [], - "number": 298, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-19T22:35:53Z", - "id": 208735030, - "title": "align the descriptions", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/298", - "diff_url": "https://github.com/httpwg/http-extensions/pull/298.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/298", - "patch_url": "https://github.com/httpwg/http-extensions/pull/298.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/298/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/298/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/298/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/298", - "updated_at": "2017-02-19T22:35:56Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/298", - "created_at": "2017-02-19T18:17:34Z", - "assignees": [] - }, - { - "labels": [], - "number": 297, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-04-28T01:34:43Z", - "id": 207962697, - "title": "Updated Opp-Sec writeup", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/297", - "diff_url": "https://github.com/httpwg/http-extensions/pull/297.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/297", - "patch_url": "https://github.com/httpwg/http-extensions/pull/297.patch" - }, - "comments": 0, - "state": "closed", - "body": "For git tracking purposes, even though I'm uploading directly to Datatracker as well.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/297/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/297/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/297/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/297", - "updated_at": "2017-04-28T01:34:43Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/297", - "created_at": "2017-02-15T23:29:41Z", - "assignees": [] - }, - { - "labels": [], - "number": 296, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-13T22:44:11Z", - "id": 207238775, - "title": "incorrect content length in example", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/296", - "diff_url": "https://github.com/httpwg/http-extensions/pull/296.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/296", - "patch_url": "https://github.com/httpwg/http-extensions/pull/296.patch" - }, - "comments": 0, - "state": "closed", - "body": "header = 16 +4 + 1 +2 = 23\r\ntwo records of 25 bytes = 50\r\n\r\nsum is 73", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/296/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/296/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/296/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/296", - "updated_at": "2017-02-13T22:44:11Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/296", - "created_at": "2017-02-13T14:49:04Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 295, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-08-07T13:08:54Z", - "id": 207194199, - "title": "clarify round-tripping of double quotes around cookie value", - "comments": 1, - "state": "closed", - "body": "See discussion in -- I believe the spec needs to be clearer about this.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/295/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/295/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/295/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/295", - "updated_at": "2017-08-07T13:09:18Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/295", - "created_at": "2017-02-13T11:46:51Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/expect-ct", - "color": "fbca04", - "default": false, - "id": 533812693, - "name": "expect-ct" - } - ], - "number": 294, - "assignee": { - "following_url": "https://api.github.com/users/estark37/following{/other_user}", - "events_url": "https://api.github.com/users/estark37/events{/privacy}", - "organizations_url": "https://api.github.com/users/estark37/orgs", - "url": "https://api.github.com/users/estark37", - "gists_url": "https://api.github.com/users/estark37/gists{/gist_id}", - "html_url": "https://github.com/estark37", - "subscriptions_url": "https://api.github.com/users/estark37/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/602511?v=4", - "repos_url": "https://api.github.com/users/estark37/repos", - "received_events_url": "https://api.github.com/users/estark37/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/estark37/starred{/owner}{/repo}", - "site_admin": false, - "login": "estark37", - "type": "User", - "id": 602511, - "followers_url": "https://api.github.com/users/estark37/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-25T03:36:48Z", - "id": 206358806, - "title": "Issues from old repo", - "comments": 2, - "state": "closed", - "body": "I want to address these issues that were filed in the old repo https://github.com/bifurcation/expect-ct/:\r\n\r\n- [x] https://github.com/bifurcation/expect-ct/issues/18\r\n- [x] https://github.com/bifurcation/expect-ct/issues/16\r\n- [x] https://github.com/bifurcation/expect-ct/issues/7\r\n- [x] https://github.com/bifurcation/expect-ct/issues/6\r\n- [x] https://github.com/bifurcation/expect-ct/issues/4", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/294/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/294/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/294/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/294", - "updated_at": "2017-05-25T03:36:48Z", - "user": { - "following_url": "https://api.github.com/users/estark37/following{/other_user}", - "events_url": "https://api.github.com/users/estark37/events{/privacy}", - "organizations_url": "https://api.github.com/users/estark37/orgs", - "url": "https://api.github.com/users/estark37", - "gists_url": "https://api.github.com/users/estark37/gists{/gist_id}", - "html_url": "https://github.com/estark37", - "subscriptions_url": "https://api.github.com/users/estark37/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/602511?v=4", - "repos_url": "https://api.github.com/users/estark37/repos", - "received_events_url": "https://api.github.com/users/estark37/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/estark37/starred{/owner}{/repo}", - "site_admin": false, - "login": "estark37", - "type": "User", - "id": 602511, - "followers_url": "https://api.github.com/users/estark37/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/294", - "created_at": "2017-02-08T23:31:57Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/estark37/following{/other_user}", - "events_url": "https://api.github.com/users/estark37/events{/privacy}", - "organizations_url": "https://api.github.com/users/estark37/orgs", - "url": "https://api.github.com/users/estark37", - "gists_url": "https://api.github.com/users/estark37/gists{/gist_id}", - "html_url": "https://github.com/estark37", - "subscriptions_url": "https://api.github.com/users/estark37/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/602511?v=4", - "repos_url": "https://api.github.com/users/estark37/repos", - "received_events_url": "https://api.github.com/users/estark37/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/estark37/starred{/owner}{/repo}", - "site_admin": false, - "login": "estark37", - "type": "User", - "id": 602511, - "followers_url": "https://api.github.com/users/estark37/followers" - } - ] - }, - { - "labels": [], - "number": 293, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-08T20:38:15Z", - "id": 206314767, - "title": "don't cite RFC 2616, it's obsolete", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/293", - "diff_url": "https://github.com/httpwg/http-extensions/pull/293.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/293", - "patch_url": "https://github.com/httpwg/http-extensions/pull/293.patch" - }, - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/293/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/293/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/293/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/293", - "updated_at": "2017-02-08T20:38:19Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/293", - "created_at": "2017-02-08T20:27:53Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/expect-ct", - "color": "fbca04", - "default": false, - "id": 533812693, - "name": "expect-ct" - } - ], - "number": 292, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 205871464, - "title": "Cite a recent HTML spec", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/292", - "diff_url": "https://github.com/httpwg/http-extensions/pull/292.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/292", - "patch_url": "https://github.com/httpwg/http-extensions/pull/292.patch" - }, - "comments": 0, - "state": "open", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/292/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/292/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/292/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/292", - "updated_at": "2017-08-08T12:09:47Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/292", - "created_at": "2017-02-07T12:21:35Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 291, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-04-19T01:33:30Z", - "id": 205061137, - "title": "Persistence", - "comments": 5, - "state": "closed", - "body": "Dare we specify that clients MAY/SHOULD persist origin information for a given endpoint beyond the lifetime of the connection?", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/291/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/291/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/291/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/291", - "updated_at": "2017-04-19T01:33:30Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/291", - "created_at": "2017-02-03T03:08:17Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/immutable", - "color": "fbca04", - "default": false, - "id": 517340868, - "name": "immutable" - } - ], - "number": 290, - "assignee": { - "following_url": "https://api.github.com/users/mcmanus/following{/other_user}", - "events_url": "https://api.github.com/users/mcmanus/events{/privacy}", - "organizations_url": "https://api.github.com/users/mcmanus/orgs", - "url": "https://api.github.com/users/mcmanus", - "gists_url": "https://api.github.com/users/mcmanus/gists{/gist_id}", - "html_url": "https://github.com/mcmanus", - "subscriptions_url": "https://api.github.com/users/mcmanus/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/260531?v=4", - "repos_url": "https://api.github.com/users/mcmanus/repos", - "received_events_url": "https://api.github.com/users/mcmanus/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mcmanus/starred{/owner}{/repo}", - "site_admin": false, - "login": "mcmanus", - "type": "User", - "id": 260531, - "followers_url": "https://api.github.com/users/mcmanus/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-03-13T16:29:02Z", - "id": 205055465, - "title": "About Intermediaries", - "comments": 1, - "state": "closed", - "body": "> An immutable response has the same semantic meaning for proxy clients as it does for User-Agent based clients and they therefore MAY also presume a conditional revalidation for a response marked immutable would return 304. A proxy client who uses immutable to anticipate a 304 response may choose whether to reply with a 304 or 200 to its requesting client.\r\n\r\nParse error :) What are you trying to do?", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/290/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/290/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/290/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/290", - "updated_at": "2017-03-13T16:29:02Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/290", - "created_at": "2017-02-03T02:22:18Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mcmanus/following{/other_user}", - "events_url": "https://api.github.com/users/mcmanus/events{/privacy}", - "organizations_url": "https://api.github.com/users/mcmanus/orgs", - "url": "https://api.github.com/users/mcmanus", - "gists_url": "https://api.github.com/users/mcmanus/gists{/gist_id}", - "html_url": "https://github.com/mcmanus", - "subscriptions_url": "https://api.github.com/users/mcmanus/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/260531?v=4", - "repos_url": "https://api.github.com/users/mcmanus/repos", - "received_events_url": "https://api.github.com/users/mcmanus/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mcmanus/starred{/owner}{/repo}", - "site_admin": false, - "login": "mcmanus", - "type": "User", - "id": 260531, - "followers_url": "https://api.github.com/users/mcmanus/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/immutable", - "color": "fbca04", - "default": false, - "id": 517340868, - "name": "immutable" - } - ], - "number": 289, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-03-13T16:29:46Z", - "id": 205055270, - "title": "immutable definition", - "comments": 1, - "state": "closed", - "body": "The definition of `immutable`s semantics are a bit weird:\r\n\r\n> When present in an HTTP response, the `immutable` Cache-Control extension indicates that the origin server MUST NOT update the representation of that resource during the freshness lifetime of the response.\r\n\r\nI think it should be defined in terms of client operation, rather than server operation. E.g.,\r\n\r\n> When present in an HTTP response, the `immutable` Cache-Control extension indicates that clients SHOULD NOT issue a conditional request during the response's freshness lifetime (e.g., upon a \"reload\"), unless explicitly overridden by the user (e.g., a \"force reload\").\r\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/289/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/289/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/289/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/289", - "updated_at": "2017-03-13T16:29:46Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/289", - "created_at": "2017-02-03T02:20:37Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/immutable", - "color": "fbca04", - "default": false, - "id": 517340868, - "name": "immutable" - } - ], - "number": 288, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-03-14T00:16:21Z", - "id": 205054843, - "title": "The inverse of immutable", - "comments": 2, - "state": "closed", - "body": "Chrome currently implements the semantics of `immutable` using a browser heuristic rather than an explicit signal from the server.\r\n\r\nif we define a complimentary CC extension with the inverse semantics of `immutable` -- i.e., roughly, \"always refresh this when the user hits reload\" -- it would allow Chrome to continue using a heuristic, but override it with an explicit signal from the server when the server cares about it.\r\n\r\nIf we do that, I think the CC extension name should be short (e.g., one or two characters).", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/288/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/288/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/288/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/288", - "updated_at": "2017-03-14T00:16:21Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/288", - "created_at": "2017-02-03T02:17:10Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/immutable", - "color": "fbca04", - "default": false, - "id": 517340868, - "name": "immutable" - } - ], - "number": 287, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-03-13T16:31:46Z", - "id": 205054399, - "title": "Immutable editorial", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/287", - "diff_url": "https://github.com/httpwg/http-extensions/pull/287.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/287", - "patch_url": "https://github.com/httpwg/http-extensions/pull/287.patch" - }, - "comments": 1, - "state": "closed", - "body": "Editorial stuff, mostly line wrapping and adjusting terminology. Happy to chat through it if you like.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/287/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/287/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/287/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/287", - "updated_at": "2017-03-13T16:32:00Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/287", - "created_at": "2017-02-03T02:13:38Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/immutable", - "color": "fbca04", - "default": false, - "id": 517340868, - "name": "immutable" - } - ], - "number": 286, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-03T01:55:05Z", - "id": 205051831, - "title": "Editorial suggestions", - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/286/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/286/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/286/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/286", - "updated_at": "2017-02-03T01:55:05Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/286", - "created_at": "2017-02-03T01:53:21Z", - "assignees": [] - } - ], - [ - { - "labels": [], - "number": 285, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-13T05:25:23Z", - "id": 204508554, - "title": "DNS relaxation, smaller initial Origin Set", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/285", - "diff_url": "https://github.com/httpwg/http-extensions/pull/285.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/285", - "patch_url": "https://github.com/httpwg/http-extensions/pull/285.patch" - }, - "comments": 1, - "state": "closed", - "body": "- Relax DNS requirements when ORIGIN is received\r\n- Change the initial origin set to just SNI", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/285/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/285/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/285/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/285", - "updated_at": "2017-02-13T05:25:23Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/285", - "created_at": "2017-02-01T06:40:41Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 284, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-27T05:48:57Z", - "id": 204222255, - "title": "Requiring Accept-CH", - "comments": 19, - "state": "closed", - "body": "As discussed on list, a formal requirement to see `Accept-CH` before sending hints might be desirable, to reduce fingerprinting surface.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/284/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/284/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/284/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/284", - "updated_at": "2017-02-27T05:48:57Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/284", - "created_at": "2017-01-31T07:26:26Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/encryption", - "color": "fbca04", - "default": false, - "id": 302951285, - "name": "encryption" - } - ], - "number": 283, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-12T23:31:42Z", - "id": 203927386, - "title": "Move to using padding that is more like TLS", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/283", - "diff_url": "https://github.com/httpwg/http-extensions/pull/283.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/283", - "patch_url": "https://github.com/httpwg/http-extensions/pull/283.patch" - }, - "comments": 1, - "state": "closed", - "body": "Following the discussion on the list.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/283/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/283/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/283/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/283", - "updated_at": "2017-02-12T23:31:42Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/283", - "created_at": "2017-01-30T04:51:27Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/header-structure", - "color": "fbca04", - "default": false, - "id": 499581321, - "name": "header-structure" - } - ], - "number": 282, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 201167562, - "title": "Normalization for parameters", - "comments": 4, - "state": "open", - "body": "Are the following header fields considered equal or equivalent or are they different?\r\n\r\n```\r\nHeader: value; p=pval\r\nHeader: value; p=\"pval\"\r\nHeader: value; p=\"Pval\"\r\nHeader: value; P=\"Pval\"\r\n```\r\n\r\nSome specializations of the header syntax permit both `quoted-string` and `token` for parameter values. If the string value after removal of quotes is the same as the token, is it the same value?\r\n\r\nWhat about case folding for parameter names? Do we do that?", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/282/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/282/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/282/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/282", - "updated_at": "2017-02-01T13:07:37Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/282", - "created_at": "2017-01-17T03:27:57Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/header-structure", - "color": "fbca04", - "default": false, - "id": 499581321, - "name": "header-structure" - } - ], - "number": 281, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-01T13:08:34Z", - "id": 199098919, - "title": "Can dictionary keys repeat?", - "comments": 3, - "state": "closed", - "body": "We need clear rules about whether this is OK\r\n\r\n```\r\nHeader: identifier;v=1;v=2\r\n```", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/281/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/281/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/281/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/281", - "updated_at": "2017-03-31T14:43:19Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/281", - "created_at": "2017-01-06T00:56:22Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 280, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-01T04:59:46Z", - "id": 198395648, - "title": "Clarify paragraph on requirements for alt-svc", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/280", - "diff_url": "https://github.com/httpwg/http-extensions/pull/280.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/280", - "patch_url": "https://github.com/httpwg/http-extensions/pull/280.patch" - }, - "comments": 1, - "state": "closed", - "body": "This was getting unwieldy. Change it so that there are two musts and two supporting statements.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/280/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/280/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/280/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/280", - "updated_at": "2017-02-01T04:59:46Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/280", - "created_at": "2017-01-03T00:46:58Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 279, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-01T04:57:27Z", - "id": 198390701, - "title": "More clarification on authenticated opportunistic responses", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/279", - "diff_url": "https://github.com/httpwg/http-extensions/pull/279.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/279", - "patch_url": "https://github.com/httpwg/http-extensions/pull/279.patch" - }, - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/279/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/279/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/279/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/279", - "updated_at": "2017-02-01T04:57:27Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/279", - "created_at": "2017-01-02T23:24:56Z", - "assignees": [] - }, - { - "labels": [], - "number": 278, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-12-22T03:38:49Z", - "id": 194822087, - "title": "prune boilerplate", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/278", - "diff_url": "https://github.com/httpwg/http-extensions/pull/278.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/278", - "patch_url": "https://github.com/httpwg/http-extensions/pull/278.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/278/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/278/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/278/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/278", - "updated_at": "2016-12-22T03:38:49Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/278", - "created_at": "2016-12-11T09:31:54Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/header-structure", - "color": "fbca04", - "default": false, - "id": 499581321, - "name": "header-structure" - } - ], - "number": 277, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 194539488, - "title": "make title consistent with WG terminology", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/277", - "diff_url": "https://github.com/httpwg/http-extensions/pull/277.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/277", - "patch_url": "https://github.com/httpwg/http-extensions/pull/277.patch" - }, - "comments": 1, - "state": "open", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/277/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/277/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/277/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/277", - "updated_at": "2017-02-01T13:05:19Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/277", - "created_at": "2016-12-09T08:30:39Z", - "assignees": [] - }, - { - "labels": [], - "number": 276, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-07T05:27:31Z", - "id": 194432005, - "title": "fix typo bit -> be", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/276", - "diff_url": "https://github.com/httpwg/http-extensions/pull/276.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/276", - "patch_url": "https://github.com/httpwg/http-extensions/pull/276.patch" - }, - "comments": 0, - "state": "closed", - "body": "I think this is correct, since it doesn't quite seem to make sense otherwise.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/276/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/276/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/276/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/276", - "updated_at": "2017-02-07T05:27:31Z", - "user": { - "following_url": "https://api.github.com/users/ghedo/following{/other_user}", - "events_url": "https://api.github.com/users/ghedo/events{/privacy}", - "organizations_url": "https://api.github.com/users/ghedo/orgs", - "url": "https://api.github.com/users/ghedo", - "gists_url": "https://api.github.com/users/ghedo/gists{/gist_id}", - "html_url": "https://github.com/ghedo", - "subscriptions_url": "https://api.github.com/users/ghedo/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/117643?v=4", - "repos_url": "https://api.github.com/users/ghedo/repos", - "received_events_url": "https://api.github.com/users/ghedo/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/ghedo/starred{/owner}{/repo}", - "site_admin": false, - "login": "ghedo", - "type": "User", - "id": 117643, - "followers_url": "https://api.github.com/users/ghedo/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/276", - "created_at": "2016-12-08T20:09:12Z", - "assignees": [] - }, - { - "labels": [], - "number": 275, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-07T05:29:07Z", - "id": 194426523, - "title": "spell Golomb correctly", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/275", - "diff_url": "https://github.com/httpwg/http-extensions/pull/275.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/275", - "patch_url": "https://github.com/httpwg/http-extensions/pull/275.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/275/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/275/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/275/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/275", - "updated_at": "2017-02-07T05:29:07Z", - "user": { - "following_url": "https://api.github.com/users/ghedo/following{/other_user}", - "events_url": "https://api.github.com/users/ghedo/events{/privacy}", - "organizations_url": "https://api.github.com/users/ghedo/orgs", - "url": "https://api.github.com/users/ghedo", - "gists_url": "https://api.github.com/users/ghedo/gists{/gist_id}", - "html_url": "https://github.com/ghedo", - "subscriptions_url": "https://api.github.com/users/ghedo/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/117643?v=4", - "repos_url": "https://api.github.com/users/ghedo/repos", - "received_events_url": "https://api.github.com/users/ghedo/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/ghedo/starred{/owner}{/repo}", - "site_admin": false, - "login": "ghedo", - "type": "User", - "id": 117643, - "followers_url": "https://api.github.com/users/ghedo/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/275", - "created_at": "2016-12-08T19:45:12Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/encryption", - "color": "fbca04", - "default": false, - "id": 302951285, - "name": "encryption" - } - ], - "number": 274, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-01-06T00:55:20Z", - "id": 193978191, - "title": "Record size (rs) should be of ciphertext, not padded-plaintext", - "comments": 5, - "state": "closed", - "body": "It would be better to define the 'rs' (record size) parameter as the size of each ciphertext record (including the 16 byte tag for AEAD_AES_128_GCM).\r\n\r\nThat way a receiver can split the body into records without needing to add the algorithm-specific tag length. Then pass the bytes to a crypto library that does know details such as the tag length for a given alg.\r\n\r\nThis spec doesn't absolutely need alg agility as other algs would define their own content-encoding label. But it would be cleaner (& safer) if future algs could follow exactly the same pattern and same body format by simply defining a new content-encoding label. The format is very close, with the need to add 16 to 'rs' being the only wart.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/274/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/274/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/274/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/274", - "updated_at": "2017-01-23T04:08:58Z", - "user": { - "following_url": "https://api.github.com/users/manger/following{/other_user}", - "events_url": "https://api.github.com/users/manger/events{/privacy}", - "organizations_url": "https://api.github.com/users/manger/orgs", - "url": "https://api.github.com/users/manger", - "gists_url": "https://api.github.com/users/manger/gists{/gist_id}", - "html_url": "https://github.com/manger", - "subscriptions_url": "https://api.github.com/users/manger/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/3963658?v=4", - "repos_url": "https://api.github.com/users/manger/repos", - "received_events_url": "https://api.github.com/users/manger/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/manger/starred{/owner}{/repo}", - "site_admin": false, - "login": "manger", - "type": "User", - "id": 3963658, - "followers_url": "https://api.github.com/users/manger/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/274", - "created_at": "2016-12-07T07:37:43Z", - "assignees": [] - }, - { - "labels": [], - "number": 273, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-12-22T03:31:38Z", - "id": 190613822, - "title": "Remove Crypto-Key header field", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/273", - "diff_url": "https://github.com/httpwg/http-extensions/pull/273.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/273", - "patch_url": "https://github.com/httpwg/http-extensions/pull/273.patch" - }, - "comments": 3, - "state": "closed", - "body": "Closes #265, #210.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/273/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/273/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/273/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/273", - "updated_at": "2017-02-13T22:43:45Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/273", - "created_at": "2016-11-21T04:05:54Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/encryption", - "color": "fbca04", - "default": false, - "id": 302951285, - "name": "encryption" - } - ], - "number": 272, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-12-22T03:34:21Z", - "id": 190612837, - "title": "Advice on padding strategy", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/272", - "diff_url": "https://github.com/httpwg/http-extensions/pull/272.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/272", - "patch_url": "https://github.com/httpwg/http-extensions/pull/272.patch" - }, - "comments": 1, - "state": "closed", - "body": "Closes #260 ", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/272/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/272/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/272/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/272", - "updated_at": "2016-12-22T03:34:21Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/272", - "created_at": "2016-11-21T03:55:22Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/5987bis", - "color": "fbca04", - "default": false, - "id": 267140103, - "name": "5987bis" - } - ], - "number": 271, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-03-03T04:05:31Z", - "id": 190607567, - "title": "5987bis writeup", - "comments": 3, - "state": "closed", - "body": "A few things I noticed / need to ask:\r\n\r\n* Is the Abstract still suitable? I note it doesn't mention 5987.\r\n\r\n* Is the intended status really Internet Standard? Given that 2026 requires \"a high degree of technical maturity and by a generally held belief that the specified protocol or service provides significant benefit to the Internet community\" and in light of the doubt around the use of this format, it seems like Proposed Standard might be more appropriate. Also, we'd need to document the implementations.\r\n\r\n* @reschke - If you have direct, personal knowledge of any IPR related to this document, has it already been disclosed?", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/271/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/271/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/271/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/271", - "updated_at": "2017-03-03T04:05:31Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/271", - "created_at": "2016-11-21T03:00:00Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 270, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-12-22T03:36:09Z", - "id": 190604231, - "title": "Don't allow clients to send http and https requests coalesced.", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/270", - "diff_url": "https://github.com/httpwg/http-extensions/pull/270.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/270", - "patch_url": "https://github.com/httpwg/http-extensions/pull/270.patch" - }, - "comments": 1, - "state": "closed", - "body": "This is kinda silly, but it seems like adding support for coalescing is\r\nsomething we could fix later.\r\n\r\nCloses #269 with the nuclear option.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/270/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/270/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/270/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/270", - "updated_at": "2016-12-22T03:36:09Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/270", - "created_at": "2016-11-21T02:23:20Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 269, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-12-22T03:36:09Z", - "id": 190604170, - "title": "mixed schemes", - "comments": 0, - "state": "closed", - "body": "Can we coalesce http and https? The implication from everything we've said is \"yes\", but Erik remains reluctant.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/269/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/269/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/269/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/269", - "updated_at": "2016-12-22T03:36:09Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/269", - "created_at": "2016-11-21T02:22:38Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/cache-digest", - "color": "fbca04", - "default": false, - "id": 418128526, - "name": "cache-digest" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 268, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-07-28T01:42:04Z", - "id": 190039700, - "title": "Enabling O(1) removal from digest", - "comments": 12, - "state": "closed", - "body": "Current spec is using Golomb-coded sets as the algorithm to create digests.\r\n\r\nWhile they show great space-efficiency, Golomb-coded sets do not enable O(1) removal from the digest, which means from a browser implementation perspective, the browser would have to calculate the hash for each host upon connection creation.\r\n\r\nThat poses a couple of issues from an implementation perspective:\r\n\r\n* Calculating the hash on each connection establishment may be expensive. That part seems inherent to the algorithm and not likely to be optimized away.\r\n* Calculating the hash requires per-host indexing. That part is just a limitation of many current cache implementations.\r\n\r\nA cache digest algorithm that enables O(1) removal (as well as addition) to the digest would enable us to move away from those limitations:\r\n\r\n* Browsers can calculate a per-host digest once, then keep updating it as resources are added to the cache as well as when resources are removed from the cache. No need for per-host indexing.\r\n - In order to do that, browsers would need to persist digests along with the cache\r\n* Upon connection establishment, the browser can just send the ready-made digest to the server. Win!\r\n\r\nDuring the HTTPWS, counting bloom filters were mentioned as an O(1) removal algorithm, but they are extremely inefficient when it comes to space. (~4 times bigger than bloom filters)\r\n\r\nTurns out, [Cuckoo filters](https://www.cs.cmu.edu/~binfan/papers/login_cuckoofilter.pdf) enable O(1) removal while being more space efficient than bloom filters. While they are slightly bigger than Golomb-coded sets based digests, the cheaper runtime costs can make up for that deficiency.\r\n\r\n/cc @kazuho @mnot @cbentzel @mcmanus\r\n\r\n\r\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/268/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/268/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/268/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/268", - "updated_at": "2017-08-14T08:32:43Z", - "user": { - "following_url": "https://api.github.com/users/yoavweiss/following{/other_user}", - "events_url": "https://api.github.com/users/yoavweiss/events{/privacy}", - "organizations_url": "https://api.github.com/users/yoavweiss/orgs", - "url": "https://api.github.com/users/yoavweiss", - "gists_url": "https://api.github.com/users/yoavweiss/gists{/gist_id}", - "html_url": "https://github.com/yoavweiss", - "subscriptions_url": "https://api.github.com/users/yoavweiss/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/786187?v=4", - "repos_url": "https://api.github.com/users/yoavweiss/repos", - "received_events_url": "https://api.github.com/users/yoavweiss/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/yoavweiss/starred{/owner}{/repo}", - "site_admin": false, - "login": "yoavweiss", - "type": "User", - "id": 786187, - "followers_url": "https://api.github.com/users/yoavweiss/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/268", - "created_at": "2016-11-17T12:55:53Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/5987bis", - "color": "fbca04", - "default": false, - "id": 267140103, - "name": "5987bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 267, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-03-03T04:09:29Z", - "id": 189607204, - "title": "Give us something to hang onto", - "comments": 11, - "state": "closed", - "body": "In working on RFC5988bis, I'm referring to this spec, and finding it's difficult to talk about the concepts, because so much has been pared back.\r\n\r\nIn particular:\r\n\r\n* [ ] There isn't any prose reference to the \"*\" form of the attribute name; it only occurs in examples. One would assume that this is the normative way to invoke this encoding, but it isn't specified.\r\n* [ ] A distinct name for the encoding would help; right now, the best I can do is \"the encoding specified in RFC5987bis\".\r\n* [ ] The examples of how to use this in header specifications needs to be deeper.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/267/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/267/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/267/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/267", - "updated_at": "2017-03-03T04:09:29Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/267", - "created_at": "2016-11-16T06:40:41Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/5987bis", - "color": "fbca04", - "default": false, - "id": 267140103, - "name": "5987bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 266, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-11-17T00:43:40Z", - "id": 189605811, - "title": "'parmname'", - "comments": 1, - "state": "closed", - "body": "... occurs twice in the current draft, without much context. Should it be removed?", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/266/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/266/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/266/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/266", - "updated_at": "2016-11-17T00:43:40Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/266", - "created_at": "2016-11-16T06:33:04Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/encryption", - "color": "fbca04", - "default": false, - "id": 302951285, - "name": "encryption" - } - ], - "number": 265, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-12-22T03:31:38Z", - "id": 189298782, - "title": "Remove Crypto-Key", - "comments": 0, - "state": "closed", - "body": "@ekr suggests that we remove this. This is probably justified by recent developments. Simplicity suggests that it is worth cutting as well.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/265/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/265/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/265/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/265", - "updated_at": "2016-12-22T03:31:38Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/265", - "created_at": "2016-11-15T04:43:29Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/cache-digest", - "color": "fbca04", - "default": false, - "id": 418128526, - "name": "cache-digest" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 264, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-04-26T03:29:24Z", - "id": 188976670, - "title": "Overhead in cache digest algorithm", - "comments": 3, - "state": "closed", - "body": "(Originally misfiled at https://github.com/mnot/I-D/issues/204)\r\n\r\nI believe the algorithm may be improved to increase speed and reduce digest size.\r\n\r\n#### De-dupe URLs before hashing them\r\n\r\nWastes time sorting and skipping through the list in a later stage.\r\nInflates value of N, needlessly increasing size of the entire digest.\r\n\r\n#### Trim URL origin\r\n\r\nEvery URL has identical origin. Hashing this repetitive data is wasted effort.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/264/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/264/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/264/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/264", - "updated_at": "2017-04-26T03:29:24Z", - "user": { - "following_url": "https://api.github.com/users/sebdeckers/following{/other_user}", - "events_url": "https://api.github.com/users/sebdeckers/events{/privacy}", - "organizations_url": "https://api.github.com/users/sebdeckers/orgs", - "url": "https://api.github.com/users/sebdeckers", - "gists_url": "https://api.github.com/users/sebdeckers/gists{/gist_id}", - "html_url": "https://github.com/sebdeckers", - "subscriptions_url": "https://api.github.com/users/sebdeckers/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/78718?v=4", - "repos_url": "https://api.github.com/users/sebdeckers/repos", - "received_events_url": "https://api.github.com/users/sebdeckers/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/sebdeckers/starred{/owner}{/repo}", - "site_admin": false, - "login": "sebdeckers", - "type": "User", - "id": 78718, - "followers_url": "https://api.github.com/users/sebdeckers/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/264", - "created_at": "2016-11-13T15:40:28Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - } - ], - "number": 263, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-12-25T17:19:07Z", - "id": 187927157, - "title": "Client hints: add support for hinting Display Gamut / Color Profile", - "comments": 15, - "state": "closed", - "body": "Add Client hints support for the following:\r\n\r\n`Viewport-Color-Gamut`\r\nhttps://drafts.csswg.org/mediaqueries-4/#color-gamut\r\n\r\n`Viewport-Color-Profile`\r\nhttps://www.w3.org/TR/css-color-4/#at-ruledef-profile", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/263/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/263/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/263/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/263", - "updated_at": "2017-09-20T08:48:02Z", - "user": { - "following_url": "https://api.github.com/users/gunta/following{/other_user}", - "events_url": "https://api.github.com/users/gunta/events{/privacy}", - "organizations_url": "https://api.github.com/users/gunta/orgs", - "url": "https://api.github.com/users/gunta", - "gists_url": "https://api.github.com/users/gunta/gists{/gist_id}", - "html_url": "https://github.com/gunta", - "subscriptions_url": "https://api.github.com/users/gunta/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/657059?v=4", - "repos_url": "https://api.github.com/users/gunta/repos", - "received_events_url": "https://api.github.com/users/gunta/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/gunta/starred{/owner}{/repo}", - "site_admin": false, - "login": "gunta", - "type": "User", - "id": 657059, - "followers_url": "https://api.github.com/users/gunta/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/263", - "created_at": "2016-11-08T08:12:09Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 262, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-11-21T02:10:32Z", - "id": 186976913, - "title": "Exclude HTTP/1.1", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/262", - "diff_url": "https://github.com/httpwg/http-extensions/pull/262.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/262", - "patch_url": "https://github.com/httpwg/http-extensions/pull/262.patch" - }, - "comments": 1, - "state": "closed", - "body": "I tried to make this work, but @mcmanus is right: this is entirely a transport decision and given that our best option was to violate a MUST in RFC 7230, that's too hard. This just says that HTTP/1.1 is no good because we can't include the scheme (because RFC 7230 says we can't). I almost made this h2-specific, but then remembered that there might be another protocol that has favourable properties.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/262/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/262/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/262/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/262", - "updated_at": "2016-11-21T02:10:32Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/262", - "created_at": "2016-11-03T04:28:33Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 261, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-11-21T02:10:54Z", - "id": 186835922, - "title": "https origins are no longer relevant for http-opportunistic resources", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/261", - "diff_url": "https://github.com/httpwg/http-extensions/pull/261.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/261", - "patch_url": "https://github.com/httpwg/http-extensions/pull/261.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/261/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/261/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/261/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/261", - "updated_at": "2016-11-21T02:10:54Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/261", - "created_at": "2016-11-02T15:36:08Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/encryption", - "color": "fbca04", - "default": false, - "id": 302951285, - "name": "encryption" - } - ], - "number": 260, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-12-22T03:36:36Z", - "id": 186702531, - "title": "padding is hard", - "comments": 1, - "state": "closed", - "body": "We should provide some advice, along the lines of:\r\n\r\n1. padding is hard\r\n2. padding doesn't stop side channels from processing data\r\n3. should pad the entire message\r\n4. might want to distribute padding evenly", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/260/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/260/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/260/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/260", - "updated_at": "2016-12-22T03:36:36Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/260", - "created_at": "2016-11-02T03:16:13Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/encryption", - "color": "fbca04", - "default": false, - "id": 302951285, - "name": "encryption" - } - ], - "number": 259, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-11-15T04:45:31Z", - "id": 186689036, - "title": "Fix examples", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/259", - "diff_url": "https://github.com/httpwg/http-extensions/pull/259.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/259", - "patch_url": "https://github.com/httpwg/http-extensions/pull/259.patch" - }, - "comments": 2, - "state": "closed", - "body": "Somehow I managed to mess up the examples royally. They were kinda valid, but the rs and id fields didn't match the rest of the example.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/259/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/259/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/259/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/259", - "updated_at": "2016-11-15T04:45:31Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/259", - "created_at": "2016-11-02T01:13:44Z", - "assignees": [] - }, - { - "labels": [], - "number": 258, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-11-01T12:24:34Z", - "id": 186502995, - "title": "remove bogus \"!\"", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/258", - "diff_url": "https://github.com/httpwg/http-extensions/pull/258.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/258", - "patch_url": "https://github.com/httpwg/http-extensions/pull/258.patch" - }, - "comments": 2, - "state": "closed", - "body": "it leads to kramdown warnings (\"overwriting RFC....\").", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/258/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/258/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/258/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/258", - "updated_at": "2016-11-02T03:25:19Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/258", - "created_at": "2016-11-01T10:31:39Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 257, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-11-03T04:12:42Z", - "id": 186464516, - "title": "Try to explain and justify the use of the absolute form in HTTP/1.1", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/257", - "diff_url": "https://github.com/httpwg/http-extensions/pull/257.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/257", - "patch_url": "https://github.com/httpwg/http-extensions/pull/257.patch" - }, - "comments": 0, - "state": "closed", - "body": "Based on the discussion on-list, the requirement to use the absolute form is a little hard. This tries to justify it on the basis that the secure server is acting as a proxy. Maybe that's dishonest, but I think that it's accurate. I would rather finagle this than have an experimental document update a standards-track one.", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/257/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/257/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/257/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/257", - "updated_at": "2016-11-03T04:12:42Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/257", - "created_at": "2016-11-01T05:52:24Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/cache-digest", - "color": "fbca04", - "default": false, - "id": 418128526, - "name": "cache-digest" - } - ], - "number": 256, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-06-19T23:59:38Z", - "id": 186430948, - "title": "Advice for ServiceWorker implementation", - "comments": 1, - "state": "closed", - "body": "Perhaps we should add an appendix to help people do this?", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/256/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/256/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/256/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/256", - "updated_at": "2017-06-19T23:59:38Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/256", - "created_at": "2016-10-31T23:50:02Z", - "assignees": [] - } - ], - [ - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/cache-digest", - "color": "fbca04", - "default": false, - "id": 418128526, - "name": "cache-digest" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 255, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-06-20T00:00:13Z", - "id": 186427595, - "title": "Flags", - "comments": 2, - "state": "closed", - "body": "We need to evaluate and possibly pare down / adjust the flags in the frame, based upon real-world use cases.\r\n\r\nSee Kazuho's evaluation:\r\n https://github.com/HTTPWorkshop/workshop2016/blob/master/talks/cache-digests.pdf", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/255/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/255/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/255/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/255", - "updated_at": "2017-06-20T00:00:14Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/255", - "created_at": "2016-10-31T23:26:57Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 254, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-11-01T05:44:29Z", - "id": 186180370, - "title": "Simplify opportunistic encryption", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/254", - "diff_url": "https://github.com/httpwg/http-extensions/pull/254.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/254", - "patch_url": "https://github.com/httpwg/http-extensions/pull/254.patch" - }, - "comments": 0, - "state": "closed", - "body": "We've been circling an answer to this for a while. The entire gamut of possible solutions is broad, and we haven't had much luck in reaching clarity here.\n\nOne the one end of the scale, it should be perfectly OK to send a request for an `http` origin over an authenticated TLS connection. But we still have the (entirely legitimate) concern there is that some servers might get themselves confused by this.\n\nThe other end of the scale is the bells and whistles JSON stuff. @mcmanus seemed OK with this based on his implementation experience, but it is a little complicated. We found too many corner cases for me to be happy that it implementations wouldn't end up busted. And now that we insist on authentication for the server, many of the features didn't make sense.\n\nWe've also considered an HTTP/2 setting. That's appealing, but it does limit the applicability a little.\n## This proposal\n\nThis change aims more to the conservative end of that scale. It keeps the `/.well-known/` resource, but simplifies it, reducing it to a flat list of origins. The client only needs to acquire this from the authenticated server.\n\nThis doesn't defend against Alt-Svc attacks mounted by attackers with the ability to both send header fields and run an authenticated server, but we're in a very strange place if this is the sort of capabilities we ascribe to our attackers in our threat models.\n## Other changes\n\nI've explicitly added `http/1.1` here. I believe that's reflective of consensus, but that part is easy to revert.\n\nThe text about client certificates is now clearer.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/254/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/254/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/254/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/254", - "updated_at": "2016-11-01T05:44:29Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/254", - "created_at": "2016-10-31T01:00:24Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/encryption", - "color": "fbca04", - "default": false, - "id": 302951285, - "name": "encryption" - } - ], - "number": 253, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-10-30T23:57:27Z", - "id": 186165094, - "title": "Update acknowledgments", - "comments": 1, - "state": "closed", - "body": "Just a reminder to update the list since we've had a fair bit of new input on this recently.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/253/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/253/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/253/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/253", - "updated_at": "2016-10-30T23:57:27Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/253", - "created_at": "2016-10-30T21:19:01Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/encryption", - "color": "fbca04", - "default": false, - "id": 302951285, - "name": "encryption" - } - ], - "number": 252, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-11-01T05:44:53Z", - "id": 186073026, - "title": "Remove Encryption header field", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/252", - "diff_url": "https://github.com/httpwg/http-extensions/pull/252.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/252", - "patch_url": "https://github.com/httpwg/http-extensions/pull/252.patch" - }, - "comments": 2, - "state": "closed", - "body": "This moves the values that were in the Encryption header field to\nthe start of the payload. This provides a meagre efficiency gain\nas well as removing the need to have two correlated header fields.\n\nThis should go most of the way to address WGLC comments.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/252/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/252/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/252/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/252", - "updated_at": "2016-11-01T05:44:53Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/252", - "created_at": "2016-10-29T11:12:23Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/jfv", - "color": "fbca04", - "default": false, - "id": 397643745, - "name": "jfv" - } - ], - "number": 251, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-10-27T10:32:41Z", - "id": 185619218, - "title": "sender requirements for JSON need to address control characters in strings", - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/251/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/251/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/251/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/251", - "updated_at": "2016-10-27T10:32:41Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/251", - "created_at": "2016-10-27T09:37:19Z", - "assignees": [] - }, - { - "labels": [], - "number": 250, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-10-20T06:17:36Z", - "id": 184093756, - "title": "clarify Accept-CH", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/250", - "diff_url": "https://github.com/httpwg/http-extensions/pull/250.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/250", - "patch_url": "https://github.com/httpwg/http-extensions/pull/250.patch" - }, - "comments": 2, - "state": "closed", - "body": "See\nhttps://lists.w3.org/Archives/Public/ietf-http-wg/2016OctDec/0146.html\n\n@reschke ptal. \n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/250/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/250/labels{/name}", - "author_association": "MEMBER", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/250/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/250", - "updated_at": "2016-10-20T06:17:43Z", - "user": { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/250", - "created_at": "2016-10-19T22:48:48Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/encryption", - "color": "fbca04", - "default": false, - "id": 302951285, - "name": "encryption" - } - ], - "number": 249, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-11-01T05:46:30Z", - "id": 183861642, - "title": "Julian ec review", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/249", - "diff_url": "https://github.com/httpwg/http-extensions/pull/249.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/249", - "patch_url": "https://github.com/httpwg/http-extensions/pull/249.patch" - }, - "comments": 1, - "state": "closed", - "body": "I think that these are all editorial.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/249/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/249/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/249/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/249", - "updated_at": "2016-11-01T05:46:30Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/249", - "created_at": "2016-10-19T04:12:16Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 248, - "assignee": { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-08-07T13:08:55Z", - "id": 182440184, - "title": "[6265bis] Add double-keying policy example to \"Third-party cookies\" section", - "comments": 8, - "state": "closed", - "body": "Firefox and Tor Browser are introducing an [option](https://www.torproject.org/projects/torbrowser/design/#idp55056352) to \"double-key\" cookies by (origin-domain|first-party-domain). (The first-party domain is defined as domain of the top-level document, visible to the user as the domain in the URL bar at the top of the browser.)\n\nWith double keying, it is possible for third-party cookies to be stored and retrieved, these third-party cookies cannot be used for tracking across websites.\n\nI think this policy is notable in that it keeps third-party cookies enabled but also prevents tracking. Thus third-party cookies function properly for many use cases. I would like to suggest adding this policy to the discussion of examples in RFC6265 section 7.1, \"Third-party cookies.\" After the sentence, \n\n> Others refuse to process the Set-Cookie header in responses to third-party requests.\n\nit might be of helpful to add something like\n\n> Still others store third-party cookies loaded by different first-party domains into separate cookie databases, to prevent cross-site tracking.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/248/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/248/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/248/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/248", - "updated_at": "2017-08-07T17:54:22Z", - "user": { - "following_url": "https://api.github.com/users/arthuredelstein/following{/other_user}", - "events_url": "https://api.github.com/users/arthuredelstein/events{/privacy}", - "organizations_url": "https://api.github.com/users/arthuredelstein/orgs", - "url": "https://api.github.com/users/arthuredelstein", - "gists_url": "https://api.github.com/users/arthuredelstein/gists{/gist_id}", - "html_url": "https://github.com/arthuredelstein", - "subscriptions_url": "https://api.github.com/users/arthuredelstein/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/355566?v=4", - "repos_url": "https://api.github.com/users/arthuredelstein/repos", - "received_events_url": "https://api.github.com/users/arthuredelstein/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/arthuredelstein/starred{/owner}{/repo}", - "site_admin": false, - "login": "arthuredelstein", - "type": "User", - "id": 355566, - "followers_url": "https://api.github.com/users/arthuredelstein/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/248", - "created_at": "2016-10-12T05:41:53Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 247, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-10-12T07:53:14Z", - "id": 182222085, - "title": "need to update IANA section", - "comments": 0, - "state": "closed", - "body": "1) \"The permanent message header field registry (see [RFC3864]) has been updated with the following registrations.\" -> \"The permanent message header field registry (see [RFC3864]) needs to be updated with the following registrations.\"\n\n2) Remove the entries related to Set-Cookie2.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/247/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/247/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/247/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/247", - "updated_at": "2016-10-12T07:53:14Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/247", - "created_at": "2016-10-11T09:53:34Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - } - ], - "number": 246, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-10-12T07:53:14Z", - "id": 182220545, - "title": "broken ABNF", - "comments": 0, - "state": "closed", - "body": "FWIW, I believe this change:\n\nOld:\n\n token = \n\nNew:\n\n token = token\n ; defined in [RFC2616], Section 2.2\n\nis a bad idea; it makes the ABNF invalid.\n\n(similar changes have been made to other imports)\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/246/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/246/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/246/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/246", - "updated_at": "2016-10-12T07:53:14Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/246", - "created_at": "2016-10-11T09:46:52Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 245, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-08-07T11:58:30Z", - "id": 182220402, - "title": "document needs a \"Changes from RFC 6265\" appendix.", - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/245/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/245/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/245/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/245", - "updated_at": "2017-08-07T11:58:30Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/245", - "created_at": "2016-10-11T09:46:13Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - } - ], - "number": 244, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-07T05:29:26Z", - "id": 182217890, - "title": "incorrect IPR", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/244", - "diff_url": "https://github.com/httpwg/http-extensions/pull/244.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/244", - "patch_url": "https://github.com/httpwg/http-extensions/pull/244.patch" - }, - "comments": 0, - "state": "closed", - "body": "we can't change the IPR clause from RFC 6265\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/244/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/244/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/244/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/244", - "updated_at": "2017-02-07T05:29:26Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/244", - "created_at": "2016-10-11T09:34:46Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 243, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-10-11T08:22:56Z", - "id": 182175167, - "title": "List nesting", - "comments": 1, - "state": "closed", - "body": "From Kari on-list:\n\n5.1.3. Domain Matching\nhttps://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-00#section-5.1.3\n\nThere is some nested lists lost.\n\n| o The domain string and the string are identical. (Note that both\n| the domain string and the string will have been canonicalized to\n| lower case at this point.)\n| o All of the following conditions hold:\n| o The domain string is a suffix of the string.\n| o The last character of the string that is not included in the\n| domain string is a %x2E (\".\") character.\n| o The string is a host name (i.e., not an IP address\n\nThese should be on nested list, I think:\n\n| o The domain string is a suffix of the string.\n| o The last character of the string that is not included in the\n| domain string is a %x2E (\".\") character.\n| o The string is a host name (i.e., not an IP address\n\nRFC 6265 was\n\n5.1.3. Domain Matching\nhttps://tools.ietf.org/html/rfc6265#section-5.1.3\n\n| o The domain string and the string are identical. (Note that both\n| the domain string and the string will have been canonicalized to\n| lower case at this point.)\n|\n| o All of the following conditions hold:\n|\n| \\* The domain string is a suffix of the string.\n|\n| \\* The last character of the string that is not included in the\n| domain string is a %x2E (\".\") character.\n|\n| \\* The string is a host name (i.e., not an IP address).\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/243/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/243/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/243/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/243", - "updated_at": "2016-10-11T08:23:28Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/243", - "created_at": "2016-10-11T05:10:00Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 242, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-11-21T02:11:31Z", - "id": 181942546, - "title": "The \"mixed-scheme\" field is probably needed when you make any request\u2026", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/242", - "diff_url": "https://github.com/httpwg/http-extensions/pull/242.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/242", - "patch_url": "https://github.com/httpwg/http-extensions/pull/242.patch" - }, - "comments": 1, - "state": "closed", - "body": "\u2026 over a connection that might be used for \"https\" resources. After all, ordering of request in \"h2\" is\nsomewhat nebulous.\n\nAs discussed on-list.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/242/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/242/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/242/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/242", - "updated_at": "2016-11-21T02:11:31Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/242", - "created_at": "2016-10-10T06:09:24Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - } - ], - "number": 241, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-11-23T18:29:50Z", - "id": 181650341, - "title": "consistency in IANA considerations", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/241", - "diff_url": "https://github.com/httpwg/http-extensions/pull/241.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/241", - "patch_url": "https://github.com/httpwg/http-extensions/pull/241.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/241/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/241/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/241/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/241", - "updated_at": "2016-11-23T18:29:50Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/241", - "created_at": "2016-10-07T11:54:15Z", - "assignees": [] - }, - { - "labels": [], - "number": 240, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-10-07T15:07:23Z", - "id": 181646870, - "title": "netinfo isn't a dated document, so do not pretend it is", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/240", - "diff_url": "https://github.com/httpwg/http-extensions/pull/240.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/240", - "patch_url": "https://github.com/httpwg/http-extensions/pull/240.patch" - }, - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/240/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/240/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/240/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/240", - "updated_at": "2016-10-07T15:07:33Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/240", - "created_at": "2016-10-07T11:34:13Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - } - ], - "number": 239, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-12-02T18:05:15Z", - "id": 181646574, - "title": "update reference to CR-css-values-3", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/239", - "diff_url": "https://github.com/httpwg/http-extensions/pull/239.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/239", - "patch_url": "https://github.com/httpwg/http-extensions/pull/239.patch" - }, - "comments": 2, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/239/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/239/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/239/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/239", - "updated_at": "2016-12-02T18:05:15Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/239", - "created_at": "2016-10-07T11:32:37Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 238, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 181074087, - "title": "rfc6265bis: cookies set with or without leading dot in domain attribute", - "comments": 0, - "state": "open", - "body": "... are they two distinct cookies and in which order should they be sent?\n\n[on the list](https://lists.w3.org/Archives/Public/ietf-http-wg/2016OctDec/0046.html)\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/238/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/238/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/238/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/238", - "updated_at": "2017-03-03T04:08:54Z", - "user": { - "following_url": "https://api.github.com/users/bagder/following{/other_user}", - "events_url": "https://api.github.com/users/bagder/events{/privacy}", - "organizations_url": "https://api.github.com/users/bagder/orgs", - "url": "https://api.github.com/users/bagder", - "gists_url": "https://api.github.com/users/bagder/gists{/gist_id}", - "html_url": "https://github.com/bagder", - "subscriptions_url": "https://api.github.com/users/bagder/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/177011?v=4", - "repos_url": "https://api.github.com/users/bagder/repos", - "received_events_url": "https://api.github.com/users/bagder/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/bagder/starred{/owner}{/repo}", - "site_admin": false, - "login": "bagder", - "type": "User", - "id": 177011, - "followers_url": "https://api.github.com/users/bagder/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/238", - "created_at": "2016-10-05T06:24:35Z", - "assignees": [] - }, - { - "labels": [], - "number": 237, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-09-28T06:23:08Z", - "id": 179488808, - "title": "type the artwork", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/237", - "diff_url": "https://github.com/httpwg/http-extensions/pull/237.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/237", - "patch_url": "https://github.com/httpwg/http-extensions/pull/237.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/237/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/237/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/237/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/237", - "updated_at": "2016-09-28T06:23:08Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/237", - "created_at": "2016-09-27T13:11:32Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 236, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-09-28T03:09:05Z", - "id": 175601745, - "title": "remove tls-commit", - "comments": 0, - "state": "closed", - "body": "3] get rid of tls-commit (i.e. the latch to opp sec) as this plays very poorly with alt-svc. The notion of alt-svc has always been that it is a shortcut route (or dns name if your prefer) for the same content as supplied at the default origin. If for any reason you cannot get there, you can always go back to the default origin. All of the machinery around this (validating alternates, etc) can happen transparently and asynchronously in the background until they are ready to be used. A mechanism that requires a characteristic of a route (auth'd TLS) but not the route itself doesn't play well - its far too easy to brick your site for an extended period of time and really ceases to be opportunistic in any meaningful sense. If you're up to managing this, then you're probably up to the fight of running https:// and using HSTS which at least has the benefit of not bringing a whole second technology (alt-svc) into play.\n\n[there is further discussion on list]\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/236/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/236/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/236/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/236", - "updated_at": "2016-09-28T03:09:05Z", - "user": { - "following_url": "https://api.github.com/users/mcmanus/following{/other_user}", - "events_url": "https://api.github.com/users/mcmanus/events{/privacy}", - "organizations_url": "https://api.github.com/users/mcmanus/orgs", - "url": "https://api.github.com/users/mcmanus", - "gists_url": "https://api.github.com/users/mcmanus/gists{/gist_id}", - "html_url": "https://github.com/mcmanus", - "subscriptions_url": "https://api.github.com/users/mcmanus/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/260531?v=4", - "repos_url": "https://api.github.com/users/mcmanus/repos", - "received_events_url": "https://api.github.com/users/mcmanus/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mcmanus/starred{/owner}{/repo}", - "site_admin": false, - "login": "mcmanus", - "type": "User", - "id": 260531, - "followers_url": "https://api.github.com/users/mcmanus/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/236", - "created_at": "2016-09-07T20:44:53Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 235, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-11-21T02:13:00Z", - "id": 175601608, - "title": "require .well-known/http-opportunistic", - "comments": 2, - "state": "closed", - "body": "2] /.well-known/http-opportunistic should always be required. The current doc is actually a little fuzzy on this, I think by accident. It refers to this as an \"additional mechanism\" in addition to authentication. But .wk does not really play the same role - it allows the server to opt-in to being an alternate for specific origins on specific ports. So if we're going to use it - we should always use it. (This has no bearing on https:// alt-svc, this is just about http:// as that is all this doc governs).\n\n[There is further discussion of this on list]\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/235/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/235/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/235/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/235", - "updated_at": "2016-11-21T21:44:32Z", - "user": { - "following_url": "https://api.github.com/users/mcmanus/following{/other_user}", - "events_url": "https://api.github.com/users/mcmanus/events{/privacy}", - "organizations_url": "https://api.github.com/users/mcmanus/orgs", - "url": "https://api.github.com/users/mcmanus", - "gists_url": "https://api.github.com/users/mcmanus/gists{/gist_id}", - "html_url": "https://github.com/mcmanus", - "subscriptions_url": "https://api.github.com/users/mcmanus/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/260531?v=4", - "repos_url": "https://api.github.com/users/mcmanus/repos", - "received_events_url": "https://api.github.com/users/mcmanus/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mcmanus/starred{/owner}{/repo}", - "site_admin": false, - "login": "mcmanus", - "type": "User", - "id": 260531, - "followers_url": "https://api.github.com/users/mcmanus/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/235", - "created_at": "2016-09-07T20:44:20Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 234, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-11-21T02:13:14Z", - "id": 175601371, - "title": "require tls auth", - "comments": 5, - "state": "closed", - "body": "1] opportunistic security should require TLS authentication. Any other approach undermines the opt-in mechanism of .wk. As the PKI market has matured to allow truly free and automated certs certificate availability is no longer the chief barrier to https, and so opportunistic security should feel comfortable requiring real authentication. (THERE IS NO PROPOSED CHANGE IN THE SECURITY MODEL - HTTP:// IS STILL HTTP:// AND NOT GRANTED HTTPS:// STATUS AT ALL). The biggest barrier to https:// at this point seems to be mixed content.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/234/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/234/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/234/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/234", - "updated_at": "2016-11-21T02:13:14Z", - "user": { - "following_url": "https://api.github.com/users/mcmanus/following{/other_user}", - "events_url": "https://api.github.com/users/mcmanus/events{/privacy}", - "organizations_url": "https://api.github.com/users/mcmanus/orgs", - "url": "https://api.github.com/users/mcmanus", - "gists_url": "https://api.github.com/users/mcmanus/gists{/gist_id}", - "html_url": "https://github.com/mcmanus", - "subscriptions_url": "https://api.github.com/users/mcmanus/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/260531?v=4", - "repos_url": "https://api.github.com/users/mcmanus/repos", - "received_events_url": "https://api.github.com/users/mcmanus/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mcmanus/starred{/owner}{/repo}", - "site_admin": false, - "login": "mcmanus", - "type": "User", - "id": 260531, - "followers_url": "https://api.github.com/users/mcmanus/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/234", - "created_at": "2016-09-07T20:43:13Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 233, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 172880884, - "title": "Integers", - "comments": 0, - "state": "open", - "body": "Define maximums; e.g., uint64_t? for DIV, PARTITION\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/233/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/233/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/233/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/233", - "updated_at": "2016-08-24T07:15:20Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/233", - "created_at": "2016-08-24T07:15:20Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 232, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 172880787, - "title": "Short Circuit", - "comments": 1, - "state": "open", - "body": "Some sort of syntax to denote that if a match is made, stop processing, to allow control over permutations.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/232/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/232/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/232/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/232", - "updated_at": "2017-08-22T17:46:30Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/232", - "created_at": "2016-08-24T07:14:45Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 231, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 172880614, - "title": "Allow alternation in substr", - "comments": 0, - "state": "open", - "body": "E.g., \n\n> substr=foo|bar\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/231/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/231/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/231/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/231", - "updated_at": "2016-08-24T07:13:37Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/231", - "created_at": "2016-08-24T07:13:37Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/cache-digest", - "color": "fbca04", - "default": false, - "id": 418128526, - "name": "cache-digest" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 230, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-10-31T23:40:14Z", - "id": 172877097, - "title": "Make Rice paper reference more prominent", - "comments": 0, - "state": "closed", - "body": "as per @martinthomson \n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/230/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/230/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/230/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/230", - "updated_at": "2016-10-31T23:40:14Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/230", - "created_at": "2016-08-24T06:49:22Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/cache-digest", - "color": "fbca04", - "default": false, - "id": 418128526, - "name": "cache-digest" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 229, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-25T07:29:58Z", - "id": 172245015, - "title": "Server opt-in", - "comments": 0, - "state": "closed", - "body": "Some mechanism to note that the server wants CD would be good.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/229/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/229/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/229/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/229", - "updated_at": "2017-05-25T07:29:58Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/229", - "created_at": "2016-08-20T01:01:47Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/cache-digest", - "color": "fbca04", - "default": false, - "id": 418128526, - "name": "cache-digest" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 228, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-02-07T05:06:38Z", - "id": 172244983, - "title": "Digest algorithm", - "comments": 11, - "state": "closed", - "body": "A few people have noted that SHA-1 is probably overkill.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/228/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/228/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/228/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/228", - "updated_at": "2017-02-07T05:06:38Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/228", - "created_at": "2016-08-20T01:01:13Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/5987bis", - "color": "fbca04", - "default": false, - "id": 267140103, - "name": "5987bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 227, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-10-11T05:46:38Z", - "id": 171838021, - "title": "Advice for new parameters / headers", - "comments": 6, - "state": "closed", - "body": "As per recent discussion, this draft should advise readers about whether or not it should be used for new headers, or new parameters on existing headers.\n\nStraw-man:\n- Change the Abstract to:\n\n> RFC5987 defines an encoding for non-ASCII payloads in HTTP header field value parameters, based upon the encoding defined in RFC2231. This document updates that definition and describes how it should (and should not) be used.\n- Change the first paragraph of Introduction to:\n\n> By default, header field values in HTTP messages ([RFC7230]) cannot directly carry characters outside the US-ASCII coded character set ([RFC0020]). RFC 2231 ([RFC2231]) defines an encoding mechanism for use in MIME headers. This specification documents a subset of that encoding that has been used in some HTTP header fields. Its use in new header fields, or new parameters on existing header fields, is NOT RECOMMENDED.\n- Remove section 4 contents (and subsections), replace with:\n\n> The convention defined by this specification allows a parameter fields that have two possible encodings (ASCII without the `*`, UTF-8 with it). This causes considerable complication in the use and implementation of those parameters, since they now have to handle both, and all of the possible permutations and edge conditions implied by this (e.g., how a header field value with both ought to be handled).\n> Furthermore, this encoding can only be used in parameter values, not in other parts of header field values.\n> As a result, use of this encoding is only RECOMMENDED where already defined; new header fields, as well as new parameters on existing header fields, SHOULD NOT use it when non-ASCII content is anticipated. Instead, they SHOULD mandate a character encoding of UTF-8, combined with escaping of non-ASCII characters using a well-defined convention (e.g., percent encoding, as per [RFC3986).\n- Optionally, move the existing contents of section 4 into an appendix, but clarify that they're there merely for the benefit of existing uses.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/227/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/227/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/227/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/227", - "updated_at": "2016-10-11T05:46:38Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/227", - "created_at": "2016-08-18T07:47:11Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - } - ], - "number": 226, - "assignee": { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 171237075, - "title": "Lax same-site cookies should allow ", - "comments": 12, - "state": "open", - "body": "Unless I'm misreading the spec, it seems like lax same-site cookies will only be sent for top-level browsing contexts. `` creates an auxiliary context.\n\nAs far as I know, the initiator doesn't get any additional information from a `_blank` link, so this restriction seems unnecessary.\n\n+@mikewest \n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/226/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/226/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/226/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/226", - "updated_at": "2016-10-11T06:23:09Z", - "user": { - "following_url": "https://api.github.com/users/jakearchibald/following{/other_user}", - "events_url": "https://api.github.com/users/jakearchibald/events{/privacy}", - "organizations_url": "https://api.github.com/users/jakearchibald/orgs", - "url": "https://api.github.com/users/jakearchibald", - "gists_url": "https://api.github.com/users/jakearchibald/gists{/gist_id}", - "html_url": "https://github.com/jakearchibald", - "subscriptions_url": "https://api.github.com/users/jakearchibald/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/93594?v=4", - "repos_url": "https://api.github.com/users/jakearchibald/repos", - "received_events_url": "https://api.github.com/users/jakearchibald/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/jakearchibald/starred{/owner}{/repo}", - "site_admin": false, - "login": "jakearchibald", - "type": "User", - "id": 93594, - "followers_url": "https://api.github.com/users/jakearchibald/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/226", - "created_at": "2016-08-15T18:59:37Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - } - ] - } - ], - [ - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/jfv", - "color": "fbca04", - "default": false, - "id": 397643745, - "name": "jfv" - } - ], - "number": 225, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-12-25T17:19:55Z", - "id": 170537461, - "title": "JFV + ECMA-262", - "comments": 21, - "state": "closed", - "body": "Based on the various discussion at [IETF](https://github.com/httpwg/wg-materials/blob/gh-pages/ietf96/minutes.md#jfv), HTTP Workshop, and [mailing lists](https://www.ietf.org/mail-archive/web/httpbisa/current/msg26788.html), JFV may not be the right long-term \"replacement\" header encoding format. However, while [sketches are being pushed around](https://lists.w3.org/Archives/Public/ietf-http-wg/2016JulSep/thread.html#msg292), it's not clear if and when such a format will come either\u2026 In the meantime, I believe we can shape JFV (with minor modifications) into a format that is immediately useful and addresses many of the current pain points for **new** header fields. Specifically: \n- UA's want a reusable and tested parser. Today we end up hand-rolling parsers for most every field (due to ABNF quirks, past implementation mistakes, etc), which leads to interop problems, security issues, and so on. Also, this is not a Chrome specific problem, all major UA's have the same pain points, and we all need to do better.\n- At the same time, all UA's have well-tested JSON parsers. Reusing existing code helps cut down on attack surface area, helps with interop, etc. As such, JFV format is a strong plus.\n- JSON parsers are easy to come by on the server side and all the same benefits and motivation is just as applicable.\n\nThat said, as others have already pointed out, we do need additional restrictions on JFV beyond what is currently in the spec. Also, it just so happens that browsers already follow the [ECMA-262 spec](http://www.ecma-international.org/ecma-262/6.0/index.html), which addresses most of the raised concerns:\n- Specify how to deal with repeated fields:\n - [InternalizeJSONProperty(holder, \n name)](http://www.ecma-international.org/ecma-262/6.0/#sec-internalizejsonproperty): \n _\"In the case where there are duplicate name Strings within an object, \n lexically preceding values for the same key shall be overwritten.\"_ All \n browsers already do this.\n- Specify number encoding format\n - [4.3.20 Number \n value](http://www.ecma-international.org/ecma-262/6.0/#sec-terms-and-definitions-number-value): \n Number value is primitive value corresponding to a double-precision 64-bit \n binary format IEEE 754-2008 value.\n - [11.8.3 Numeric \n Literals](http://www.ecma-international.org/ecma-262/6.0/#sec-literals-numeric-literals)\n- Specify date encoding format\n - [20.3.1.16 Date Time String \n Format](http://www.ecma-international.org/ecma-262/6.0/#sec-date-time-string-format), \n [Date.parse()](http://www.ecma-international.org/ecma-262/6.0/#sec-date.parse)\n - We can require ISO 8601 Extended format.\n- Specify character encoding\n - UTF-8 [[RFC3629](https://tools.ietf.org/html/rfc3629)]\n\nAre there other issues that were brought up that are not addressed above? \n\nMy proposal is that we update JFV to spec above ECMA-262 restrictions and requirements. Doing so would enable UA's to adopt JFV with minimal work.\n\n_p.s. in progress specs and browser features that plan on leveraging JFV: [Clear-Site-Data](https://www.w3.org/TR/clear-site-data/), [Feature Policy](http://wicg.github.io/feature-policy/), [Reporting](http://w3c.github.io/reporting/), [Network Error Logging](http://w3c.github.io/network-error-logging/), \u2026 and I'm sure we'll see more soon._\n\n/cc @reschke @mnot @mcmanus \n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/225/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/225/labels{/name}", - "author_association": "MEMBER", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/225/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/225", - "updated_at": "2016-12-25T17:19:55Z", - "user": { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/225", - "created_at": "2016-08-10T22:52:39Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - } - ], - "number": 224, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-08-18T00:04:00Z", - "id": 170323487, - "title": "Experimental", - "comments": 1, - "state": "closed", - "body": "Discuss taking CH to Experimental.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/224/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/224/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/224/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/224", - "updated_at": "2016-08-18T00:04:00Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/224", - "created_at": "2016-08-10T04:05:44Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - } - ], - "number": 223, - "assignee": { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-09-08T09:37:13Z", - "id": 170314997, - "title": "httpbis-cookie-alone breaks backwards compat", - "comments": 15, - "state": "closed", - "body": "In [section 3](https://tools.ietf.org/html/draft-ietf-httpbis-cookie-alone-00#section-3), after the line \"Before step 11, execute the following step\", the new step intentionally ignores the path. A note says that \"The intent is to allow the 'secure' flag to supercede the 'path' restrictions to protect sites against cookie fixing attacks.\" However this change breaks backwards compatibility in the following common scenario:\n1. https://example.com/login/ sets a Secure cookie named SESSIONID with the path /login/.\n2. http://example.com/foo/ sets a non-secure cookie named SESSIONID with the path /foo/, which will be ignored.\n\nThis is the cause of https://bugs.chromium.org/p/chromium/issues/detail?id=580770. If the draft is adopted as currently written, it will effectively force any website that hosts secure and insecure applications under the same host name to rename cookies in each application to avoid conflicts. To date, using path provided sufficient scoping to avoid cross-application conflicts.\n\nEven if the second cookie was allowed to be set in the scenario above, it would not have resulted in a fixation vulnerability because one path was not a path-match of the other. It might be possible to fine-tune the algorithm to only block non-secure cookies if and only if a secure cookie already exists that is a [path-match](https://tools.ietf.org/html/rfc6265#section-5.1.4) of the insecure cookie. However, that assumes that the cookie order algorithm in https://tools.ietf.org/html/rfc6265#section-5.4 is changed from SHOULD to MUST, and that servers only trust the first cookie. It also wouldn't help improve backwards compatibility in this scenario:\n1. https://example.com/ sets a Secure cookie named SESSIONID with the path /.\n2. http://example.com/foo/ sets a non-secure cookie named SESSIONID with the path /foo/, which will be ignored.\n\nBoth the draft as written, and the path-match variant proposed above suffer from fixation attacks when an HTTP resource is visited first. There are other ways that these types of attacks can be mitigated without breaking backwards compatibility, and cover more attack scenarios, at the expense of being opt-in by the server. These might include the __Secure- prefix (assuming no one is using this in the wild), or introducing a new cookie header, like Cookie-Attributes, that servers could inspect to determine whether or not to trust a cookie.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/223/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/223/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/223/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/223", - "updated_at": "2016-09-08T09:37:13Z", - "user": { - "following_url": "https://api.github.com/users/dvdckl/following{/other_user}", - "events_url": "https://api.github.com/users/dvdckl/events{/privacy}", - "organizations_url": "https://api.github.com/users/dvdckl/orgs", - "url": "https://api.github.com/users/dvdckl", - "gists_url": "https://api.github.com/users/dvdckl/gists{/gist_id}", - "html_url": "https://github.com/dvdckl", - "subscriptions_url": "https://api.github.com/users/dvdckl/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/5014935?v=4", - "repos_url": "https://api.github.com/users/dvdckl/repos", - "received_events_url": "https://api.github.com/users/dvdckl/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/dvdckl/starred{/owner}{/repo}", - "site_admin": false, - "login": "dvdckl", - "type": "User", - "id": 5014935, - "followers_url": "https://api.github.com/users/dvdckl/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/223", - "created_at": "2016-08-10T02:35:50Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 222, - "assignee": { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-08-07T13:08:54Z", - "id": 170216920, - "title": "Host cookie-prefix requires Path attribute", - "comments": 1, - "state": "closed", - "body": "https://github.com/httpwg/http-extensions/blob/master/draft-ietf-httpbis-cookie-prefixes.md contains the following text:\n\n```\n4. Sent to every request for a host. That is, a cookie named \"__Host-cookie1\" \n MUST contain a Path attribute with a value of \"/\".\n\nThe following cookies would always be rejected:\n\nSet-Cookie: __Host-SID=12345\nSet-Cookie: __Host-SID=12345; Secure\n```\n\nThe start of the sentence \"That is,\" implies that the only way to ensure a cookie is sent to every path is to explicitly include `Path=/` but this isn't the case; the cookie `Set-Cookie: __Host-SID=12345; Secure` will be sent to every path **if** the page containing this response header is served from the root of the server.\n\nLooking at [Chrome's code](https://cs.chromium.org/chromium/src/net/cookies/canonical_cookie.cc?sq=package:chromium&dr=C&rcl=1470626560&l=519), it appears that we explicitly _require_ the path attribute be present with a value of `Path=/`\n\nSo, proposed change (also optionally cleaning up parallelism for point 3):\n\n```\n3. Set without a Domain attribute. That is, a cookie set from https://example.com will therefore be sent only to example.com, and not to subdomain.example.com.\n\n4. Set with an explicit Path attribute with a value of \"/\".\n\nThe following cookies would always be rejected:\n\nSet-Cookie: __Host-SID=12345\nSet-Cookie: __Host-SID=12345; Secure\n```\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/222/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/222/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/222/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/222", - "updated_at": "2017-08-07T13:09:17Z", - "user": { - "following_url": "https://api.github.com/users/ericlaw1979/following{/other_user}", - "events_url": "https://api.github.com/users/ericlaw1979/events{/privacy}", - "organizations_url": "https://api.github.com/users/ericlaw1979/orgs", - "url": "https://api.github.com/users/ericlaw1979", - "gists_url": "https://api.github.com/users/ericlaw1979/gists{/gist_id}", - "html_url": "https://github.com/ericlaw1979", - "subscriptions_url": "https://api.github.com/users/ericlaw1979/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/4192774?v=4", - "repos_url": "https://api.github.com/users/ericlaw1979/repos", - "received_events_url": "https://api.github.com/users/ericlaw1979/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/ericlaw1979/starred{/owner}{/repo}", - "site_admin": false, - "login": "ericlaw1979", - "type": "User", - "id": 4192774, - "followers_url": "https://api.github.com/users/ericlaw1979/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/222", - "created_at": "2016-08-09T16:53:35Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - } - ], - "number": 221, - "assignee": { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-05-05T12:37:35Z", - "id": 170212784, - "title": "Explicitly note case-sensitivity of prefix", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/221", - "diff_url": "https://github.com/httpwg/http-extensions/pull/221.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/221", - "patch_url": "https://github.com/httpwg/http-extensions/pull/221.patch" - }, - "comments": 1, - "state": "closed", - "body": "As cookie attributes are case-insensitive, I think it makes sense to explicitly call out case-sensitivity of prefixes.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/221/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/221/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/221/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/221", - "updated_at": "2017-05-05T12:37:35Z", - "user": { - "following_url": "https://api.github.com/users/ericlaw1979/following{/other_user}", - "events_url": "https://api.github.com/users/ericlaw1979/events{/privacy}", - "organizations_url": "https://api.github.com/users/ericlaw1979/orgs", - "url": "https://api.github.com/users/ericlaw1979", - "gists_url": "https://api.github.com/users/ericlaw1979/gists{/gist_id}", - "html_url": "https://github.com/ericlaw1979", - "subscriptions_url": "https://api.github.com/users/ericlaw1979/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/4192774?v=4", - "repos_url": "https://api.github.com/users/ericlaw1979/repos", - "received_events_url": "https://api.github.com/users/ericlaw1979/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/ericlaw1979/starred{/owner}{/repo}", - "site_admin": false, - "login": "ericlaw1979", - "type": "User", - "id": 4192774, - "followers_url": "https://api.github.com/users/ericlaw1979/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/221", - "created_at": "2016-08-09T16:33:59Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - } - ], - "number": 220, - "assignee": { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 169872407, - "title": "Module workers can be fetched across origins", - "comments": 0, - "state": "open", - "body": "https://tools.ietf.org/html/draft-ietf-httpbis-cookie-same-site needs to account for that somehow.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/220/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/220/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/220/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/220", - "updated_at": "2016-08-16T08:42:46Z", - "user": { - "following_url": "https://api.github.com/users/annevk/following{/other_user}", - "events_url": "https://api.github.com/users/annevk/events{/privacy}", - "organizations_url": "https://api.github.com/users/annevk/orgs", - "url": "https://api.github.com/users/annevk", - "gists_url": "https://api.github.com/users/annevk/gists{/gist_id}", - "html_url": "https://github.com/annevk", - "subscriptions_url": "https://api.github.com/users/annevk/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1544111?v=4", - "repos_url": "https://api.github.com/users/annevk/repos", - "received_events_url": "https://api.github.com/users/annevk/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/annevk/starred{/owner}{/repo}", - "site_admin": false, - "login": "annevk", - "type": "User", - "id": 1544111, - "followers_url": "https://api.github.com/users/annevk/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/220", - "created_at": "2016-08-08T08:49:53Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/meta", - "color": "e99695", - "default": false, - "id": 506837003, - "name": "meta" - } - ], - "number": 219, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 169872265, - "title": "One repo per extension?", - "comments": 2, - "state": "open", - "body": "That would make it easier to watch and participate in just what is of interest to you.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/219/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/219/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/219/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/219", - "updated_at": "2016-12-25T17:21:03Z", - "user": { - "following_url": "https://api.github.com/users/annevk/following{/other_user}", - "events_url": "https://api.github.com/users/annevk/events{/privacy}", - "organizations_url": "https://api.github.com/users/annevk/orgs", - "url": "https://api.github.com/users/annevk", - "gists_url": "https://api.github.com/users/annevk/gists{/gist_id}", - "html_url": "https://github.com/annevk", - "subscriptions_url": "https://api.github.com/users/annevk/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1544111?v=4", - "repos_url": "https://api.github.com/users/annevk/repos", - "received_events_url": "https://api.github.com/users/annevk/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/annevk/starred{/owner}{/repo}", - "site_admin": false, - "login": "annevk", - "type": "User", - "id": 1544111, - "followers_url": "https://api.github.com/users/annevk/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/219", - "created_at": "2016-08-08T08:49:14Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/encryption", - "color": "fbca04", - "default": false, - "id": 302951285, - "name": "encryption" - } - ], - "number": 218, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-09-28T06:58:34Z", - "id": 169273194, - "title": "Remove DH", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/218", - "diff_url": "https://github.com/httpwg/http-extensions/pull/218.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/218", - "patch_url": "https://github.com/httpwg/http-extensions/pull/218.patch" - }, - "comments": 1, - "state": "closed", - "body": "This is only really needed by webpush and that spec can take the necessary pieces. This is a LOT simpler as a result of this change.\n\n[Preview the changes](http://httpwg.org/http-extensions/simple_base/draft-ietf-httpbis-encryption-encoding.html).\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/218/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/218/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/218/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/218", - "updated_at": "2016-09-28T06:58:35Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/218", - "created_at": "2016-08-04T01:45:15Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/encryption", - "color": "fbca04", - "default": false, - "id": 302951285, - "name": "encryption" - } - ], - "number": 217, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-09-28T06:58:18Z", - "id": 168763468, - "title": "Terminology in draft-ietf-httpbis-encryption-encoding", - "comments": 0, - "state": "closed", - "body": "minor editorial issue: draft-ietf-httpbis-encryption-encoding seems to be using \"Content Encoding\" and \"Content Coding\" and \"Content-Coding\" synonymously. maybe settle on one of those terms? \"Content Coding\" might be best because that's what RFC 7231 uses.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/217/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/217/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/217/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/217", - "updated_at": "2016-09-28T06:58:18Z", - "user": { - "following_url": "https://api.github.com/users/dret/following{/other_user}", - "events_url": "https://api.github.com/users/dret/events{/privacy}", - "organizations_url": "https://api.github.com/users/dret/orgs", - "url": "https://api.github.com/users/dret", - "gists_url": "https://api.github.com/users/dret/gists{/gist_id}", - "html_url": "https://github.com/dret", - "subscriptions_url": "https://api.github.com/users/dret/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/1848612?v=4", - "repos_url": "https://api.github.com/users/dret/repos", - "received_events_url": "https://api.github.com/users/dret/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/dret/starred{/owner}{/repo}", - "site_admin": false, - "login": "dret", - "type": "User", - "id": 1848612, - "followers_url": "https://api.github.com/users/dret/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/217", - "created_at": "2016-08-01T23:12:16Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/cache-digest", - "color": "fbca04", - "default": false, - "id": 418128526, - "name": "cache-digest" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 216, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-06-20T00:00:54Z", - "id": 167540754, - "title": "Cache digest and scoping", - "comments": 12, - "state": "closed", - "body": "In the draft it is unclear what the scope the digest will cover. Is it scoped to the hostname of the stream (authority header)? Is the scope limited to the resources referenced in the stream and the client would have to keep a data structure around for every page?\n\nThere are a few cases where I can see issues with scoping on hostnames:\n1. If a user goes to www.example.com, you might want to expand the cache digest to all of the resources for example.com.\n2. The first point doesn't make sense for a site like Tumblr where there are many blogs for *.tumblr.com and creating a digest might become large. Having a limit on the number of items in the digest and having the most used items in the cache digest might help.\n3. There are also issues for sites where there are multiple domain names referenced by the stream and being served by the same connection. This will happen with finance.yahoo.com where it has s.yimg.com resources and they are served by the same server.\n\nFor reference:\n\"A CACHE_DIGEST frame can be sent from a client to a server on any stream in the \"open\" state, and conveys a digest of the contents of the client's cache for associated stream.\"\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/216/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/216/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/216/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/216", - "updated_at": "2017-06-20T00:00:54Z", - "user": { - "following_url": "https://api.github.com/users/bryancall/following{/other_user}", - "events_url": "https://api.github.com/users/bryancall/events{/privacy}", - "organizations_url": "https://api.github.com/users/bryancall/orgs", - "url": "https://api.github.com/users/bryancall", - "gists_url": "https://api.github.com/users/bryancall/gists{/gist_id}", - "html_url": "https://github.com/bryancall", - "subscriptions_url": "https://api.github.com/users/bryancall/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/216749?v=4", - "repos_url": "https://api.github.com/users/bryancall/repos", - "received_events_url": "https://api.github.com/users/bryancall/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/bryancall/starred{/owner}{/repo}", - "site_admin": false, - "login": "bryancall", - "type": "User", - "id": 216749, - "followers_url": "https://api.github.com/users/bryancall/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/216", - "created_at": "2016-07-26T07:41:31Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 215, - "assignee": { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-10-04T18:25:52Z", - "id": 166084678, - "title": "security considerations regarding tracking", - "comments": 6, - "state": "closed", - "body": "I think the security considerations in draft 01 are not adequate. Client hints are presumably sent on all requests, not just within contexts that currently allow execution of javascript via UA or site-specific policies. Hence, a site that does not allow javascript within certain frames (e.g., third party ads) will have no ability to similarly constrain the sending of client hints.\n\nIn short, the section should seriously discuss the privacy concerns rather than make a rather flippant comparison to existing problems with javascript fingerprinting. Assume, for example, that the user has already configured their browser to prevent fingerprinting via other means and teach what ought to be done for CH to do the same.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/215/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/215/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/215/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/215", - "updated_at": "2016-10-04T18:25:52Z", - "user": { - "following_url": "https://api.github.com/users/royfielding/following{/other_user}", - "events_url": "https://api.github.com/users/royfielding/events{/privacy}", - "organizations_url": "https://api.github.com/users/royfielding/orgs", - "url": "https://api.github.com/users/royfielding", - "gists_url": "https://api.github.com/users/royfielding/gists{/gist_id}", - "html_url": "https://github.com/royfielding", - "subscriptions_url": "https://api.github.com/users/royfielding/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/1724757?v=4", - "repos_url": "https://api.github.com/users/royfielding/repos", - "received_events_url": "https://api.github.com/users/royfielding/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/royfielding/starred{/owner}{/repo}", - "site_admin": false, - "login": "royfielding", - "type": "User", - "id": 1724757, - "followers_url": "https://api.github.com/users/royfielding/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/215", - "created_at": "2016-07-18T12:42:52Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 214, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-04-20T02:38:50Z", - "id": 166082525, - "title": "Specify how origin frames interact with Altsvc", - "comments": 8, - "state": "closed", - "body": "It seems like we should filter against the original origin when using alt-svc and we should specify this in the origin frame draft\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/214/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/214/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/214/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/214", - "updated_at": "2017-04-22T13:31:28Z", - "user": { - "following_url": "https://api.github.com/users/siyengar/following{/other_user}", - "events_url": "https://api.github.com/users/siyengar/events{/privacy}", - "organizations_url": "https://api.github.com/users/siyengar/orgs", - "url": "https://api.github.com/users/siyengar", - "gists_url": "https://api.github.com/users/siyengar/gists{/gist_id}", - "html_url": "https://github.com/siyengar", - "subscriptions_url": "https://api.github.com/users/siyengar/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/1054756?v=4", - "repos_url": "https://api.github.com/users/siyengar/repos", - "received_events_url": "https://api.github.com/users/siyengar/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/siyengar/starred{/owner}{/repo}", - "site_admin": false, - "login": "siyengar", - "type": "User", - "id": 1054756, - "followers_url": "https://api.github.com/users/siyengar/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/214", - "created_at": "2016-07-18T12:30:10Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/5987bis", - "color": "fbca04", - "default": false, - "id": 267140103, - "name": "5987bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 213, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-11-17T00:46:03Z", - "id": 166080503, - "title": "Expand on motivation for the encoding", - "comments": 4, - "state": "closed", - "body": "Explain why you probably shouldn't just use UTF-8.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/213/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/213/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/213/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/213", - "updated_at": "2016-11-17T00:46:03Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/213", - "created_at": "2016-07-18T12:18:05Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 212, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-10-11T05:51:22Z", - "id": 165849450, - "title": "allow origin frame to expand not just contract set of origins", - "comments": 1, - "state": "closed", - "body": "we debated this a bit in BA - but didn't come to a resolution that I recall. opening an issue\n\n\" When received by a client, it can be used to inform HTTP/2 connection\n coalescing (see [RFC7540], Section 9.1.1), but does not relax the\n requirement there that the server is authoritative. \"\n\nessentially this means you can't advertise an origin that the client wouldn't have known to ask you for - doing so is obviously very powerful (in both good and scary ways).\n\nI think we want to allow it assuming the \"valid certificate for the origin\" logic is met. i.e. formally separate insecure routing from secure certificates. This dovetails with mike's secondary cert draft.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/212/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/212/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/212/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/212", - "updated_at": "2016-10-11T05:51:22Z", - "user": { - "following_url": "https://api.github.com/users/mcmanus/following{/other_user}", - "events_url": "https://api.github.com/users/mcmanus/events{/privacy}", - "organizations_url": "https://api.github.com/users/mcmanus/orgs", - "url": "https://api.github.com/users/mcmanus", - "gists_url": "https://api.github.com/users/mcmanus/gists{/gist_id}", - "html_url": "https://github.com/mcmanus", - "subscriptions_url": "https://api.github.com/users/mcmanus/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/260531?v=4", - "repos_url": "https://api.github.com/users/mcmanus/repos", - "received_events_url": "https://api.github.com/users/mcmanus/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mcmanus/starred{/owner}{/repo}", - "site_admin": false, - "login": "mcmanus", - "type": "User", - "id": 260531, - "followers_url": "https://api.github.com/users/mcmanus/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/212", - "created_at": "2016-07-15T18:27:22Z", - "assignees": [] - }, - { - "labels": [], - "number": 211, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-07-08T22:42:16Z", - "id": 164586370, - "title": "Opp-Sec Shepherd Write-up", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/211", - "diff_url": "https://github.com/httpwg/http-extensions/pull/211.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/211", - "patch_url": "https://github.com/httpwg/http-extensions/pull/211.patch" - }, - "comments": 1, - "state": "closed", - "body": "After much dancing to avoid sending you tens of \"merging httpwg/master\" commits....\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/211/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/211/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/211/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/211", - "updated_at": "2016-07-08T22:42:52Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/211", - "created_at": "2016-07-08T18:14:30Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/encryption", - "color": "fbca04", - "default": false, - "id": 302951285, - "name": "encryption" - } - ], - "number": 210, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-12-22T03:35:09Z", - "id": 163894754, - "title": "feat: Add an example of a composite Crypto-Key header", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/210", - "diff_url": "https://github.com/httpwg/http-extensions/pull/210.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/210", - "patch_url": "https://github.com/httpwg/http-extensions/pull/210.patch" - }, - "comments": 1, - "state": "closed", - "body": "Crypto-Key is a composite data field. Curretly both draft ECE and draft\nVAPID use Crypto-Key to store information. This has lead to some\nconfusion regarding how data should be stored and accessed.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/210/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/210/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/210/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/210", - "updated_at": "2016-12-22T03:35:09Z", - "user": { - "following_url": "https://api.github.com/users/jrconlin/following{/other_user}", - "events_url": "https://api.github.com/users/jrconlin/events{/privacy}", - "organizations_url": "https://api.github.com/users/jrconlin/orgs", - "url": "https://api.github.com/users/jrconlin", - "gists_url": "https://api.github.com/users/jrconlin/gists{/gist_id}", - "html_url": "https://github.com/jrconlin", - "subscriptions_url": "https://api.github.com/users/jrconlin/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/35755?v=4", - "repos_url": "https://api.github.com/users/jrconlin/repos", - "received_events_url": "https://api.github.com/users/jrconlin/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/jrconlin/starred{/owner}{/repo}", - "site_admin": false, - "login": "jrconlin", - "type": "User", - "id": 35755, - "followers_url": "https://api.github.com/users/jrconlin/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/210", - "created_at": "2016-07-05T16:41:44Z", - "assignees": [] - }, - { - "labels": [], - "number": 209, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-07-06T09:40:48Z", - "id": 163485704, - "title": "Subject-verb agreement", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/209", - "diff_url": "https://github.com/httpwg/http-extensions/pull/209.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/209", - "patch_url": "https://github.com/httpwg/http-extensions/pull/209.patch" - }, - "comments": 0, - "state": "closed", - "body": "The key phrase is \"Serving ... requires\", not \"URIs require\".\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/209/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/209/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/209/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/209", - "updated_at": "2016-07-06T09:40:48Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/209", - "created_at": "2016-07-01T22:43:05Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/meta", - "color": "e99695", - "default": false, - "id": 506837003, - "name": "meta" - } - ], - "number": 208, - "assignee": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 163064778, - "title": "Warning from clear-for-DTD", - "comments": 2, - "state": "open", - "body": "I get this warning.\n\n```\nWarning: at xsl:transform on line 42 column 2 of clean-for-DTD.xslt:\n Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor\n```\n\nDo we really need to use saxon here, or is `xsltproc` enough now?\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/208/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/208/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/208/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/208", - "updated_at": "2016-12-25T17:21:03Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/208", - "created_at": "2016-06-30T01:51:56Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 207, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-09-28T06:50:14Z", - "id": 163062303, - "title": "Making tls-commit and tls-ports mutually exclusive", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/207", - "diff_url": "https://github.com/httpwg/http-extensions/pull/207.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/207", - "patch_url": "https://github.com/httpwg/http-extensions/pull/207.patch" - }, - "comments": 4, - "state": "closed", - "body": "This probably isn't the end of this issue though. We require that an opportunistic upgrade uses the same hostname. The text I added here lifts the requirement regarding port numbers, but should it also say that the hostname needs to remain the same?\n\nI've left this open here, but I think that we probably should leave the hostname requirement in place. That way, we still retain some of the aspects of http:// authority.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/207/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/207/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/207/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/207", - "updated_at": "2016-09-28T07:06:55Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/207", - "created_at": "2016-06-30T01:25:48Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 206, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-10-11T06:22:29Z", - "id": 163061531, - "title": "Edits for Kari", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/206", - "diff_url": "https://github.com/httpwg/http-extensions/pull/206.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/206", - "patch_url": "https://github.com/httpwg/http-extensions/pull/206.patch" - }, - "comments": 1, - "state": "closed", - "body": "Kari raised several concerns on-list. They seem like editorial things.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/206/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/206/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/206/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/206", - "updated_at": "2016-10-11T06:22:29Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/206", - "created_at": "2016-06-30T01:17:39Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 205, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-11-21T02:13:28Z", - "id": 163061442, - "title": "Provide rules for handling duplicate keys", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/205", - "diff_url": "https://github.com/httpwg/http-extensions/pull/205.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/205", - "patch_url": "https://github.com/httpwg/http-extensions/pull/205.patch" - }, - "comments": 1, - "state": "closed", - "body": "Raised on list by Kari Hurtta. Option 6.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/205/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/205/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/205/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/205", - "updated_at": "2016-11-21T02:13:28Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/205", - "created_at": "2016-06-30T01:16:43Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 204, - "assignee": { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-08-07T13:08:54Z", - "id": 162756566, - "title": "enhance title of RFC6265 to include \"cookies\" term", - "comments": 4, - "state": "closed", - "body": "a suggestion for 6265bis' title such that the term \"cookies\" is included...\n\n```\nCookies: HTTP State Management Mechanism\n```\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/204/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/204/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/204/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/204", - "updated_at": "2017-08-07T13:09:17Z", - "user": { - "following_url": "https://api.github.com/users/equalsJeffH/following{/other_user}", - "events_url": "https://api.github.com/users/equalsJeffH/events{/privacy}", - "organizations_url": "https://api.github.com/users/equalsJeffH/orgs", - "url": "https://api.github.com/users/equalsJeffH", - "gists_url": "https://api.github.com/users/equalsJeffH/gists{/gist_id}", - "html_url": "https://github.com/equalsJeffH", - "subscriptions_url": "https://api.github.com/users/equalsJeffH/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/226571?v=4", - "repos_url": "https://api.github.com/users/equalsJeffH/repos", - "received_events_url": "https://api.github.com/users/equalsJeffH/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/equalsJeffH/starred{/owner}{/repo}", - "site_admin": false, - "login": "equalsJeffH", - "type": "User", - "id": 226571, - "followers_url": "https://api.github.com/users/equalsJeffH/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/204", - "created_at": "2016-06-28T18:40:07Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - } - ] - }, - { - "labels": [], - "number": 203, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-27T02:07:25Z", - "id": 162336701, - "title": "typo fix", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/203", - "diff_url": "https://github.com/httpwg/http-extensions/pull/203.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/203", - "patch_url": "https://github.com/httpwg/http-extensions/pull/203.patch" - }, - "comments": 0, - "state": "closed", - "body": "\"The record starts and ends on multiples of the record size\" sounds like a tautology.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/203/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/203/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/203/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/203", - "updated_at": "2016-06-27T02:07:25Z", - "user": { - "following_url": "https://api.github.com/users/ePaul/following{/other_user}", - "events_url": "https://api.github.com/users/ePaul/events{/privacy}", - "organizations_url": "https://api.github.com/users/ePaul/orgs", - "url": "https://api.github.com/users/ePaul", - "gists_url": "https://api.github.com/users/ePaul/gists{/gist_id}", - "html_url": "https://github.com/ePaul", - "subscriptions_url": "https://api.github.com/users/ePaul/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/645859?v=4", - "repos_url": "https://api.github.com/users/ePaul/repos", - "received_events_url": "https://api.github.com/users/ePaul/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/ePaul/starred{/owner}{/repo}", - "site_admin": false, - "login": "ePaul", - "type": "User", - "id": 645859, - "followers_url": "https://api.github.com/users/ePaul/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/203", - "created_at": "2016-06-26T17:01:45Z", - "assignees": [] - }, - { - "labels": [], - "number": 202, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-27T06:44:33Z", - "id": 161588059, - "title": "Magnus review encryption", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/202", - "diff_url": "https://github.com/httpwg/http-extensions/pull/202.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/202", - "patch_url": "https://github.com/httpwg/http-extensions/pull/202.patch" - }, - "comments": 0, - "state": "closed", - "body": "Updates based on Magnus Westerlund's review.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/202/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/202/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/202/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/202", - "updated_at": "2016-06-27T06:44:33Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/202", - "created_at": "2016-06-22T03:46:41Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 201, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-08-07T13:08:54Z", - "id": 161209491, - "title": "SameSite: Clarify user-triggered navigation behavior.", - "comments": 2, - "state": "closed", - "body": "If a user opens a new tab, and types in a URL, we ought to consider that same-site, as per step 1 of https://tools.ietf.org/html/draft-west-first-party-cookies-07#section-2.1. That definition is pretty opaque, however; adding a note in to clarify would be helpful.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/201/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/201/labels{/name}", - "author_association": "MEMBER", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/201/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/201", - "updated_at": "2017-08-07T13:09:17Z", - "user": { - "following_url": "https://api.github.com/users/mikewest/following{/other_user}", - "events_url": "https://api.github.com/users/mikewest/events{/privacy}", - "organizations_url": "https://api.github.com/users/mikewest/orgs", - "url": "https://api.github.com/users/mikewest", - "gists_url": "https://api.github.com/users/mikewest/gists{/gist_id}", - "html_url": "https://github.com/mikewest", - "subscriptions_url": "https://api.github.com/users/mikewest/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/1497?v=4", - "repos_url": "https://api.github.com/users/mikewest/repos", - "received_events_url": "https://api.github.com/users/mikewest/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mikewest/starred{/owner}{/repo}", - "site_admin": false, - "login": "mikewest", - "type": "User", - "id": 1497, - "followers_url": "https://api.github.com/users/mikewest/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/201", - "created_at": "2016-06-20T14:33:34Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - } - ], - "number": 200, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-08-19T04:57:36Z", - "id": 161014622, - "title": "normative reference to \"key\" spec", - "comments": 2, - "state": "closed", - "body": "The reference to draft-ietf-httpbis-key-01 is currently marked \"normative, yet:\n\n\"FYI - I've marked the status of the Key draft as \"Parked.\"\n\nAs discussed in B-A, while we have a few small issues on this draft, we really need implementation experience and feedback to validate the design.\n\nIf you are implementing Key or plan to, please do bring your thoughts to the WG.\" -- https://lists.w3.org/Archives/Public/ietf-http-wg/2016AprJun/0295.html\n\nIf the reference stays normative, this spec will be hold up until the key spec is ready, too.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/200/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/200/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/200/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/200", - "updated_at": "2016-08-19T04:57:36Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/200", - "created_at": "2016-06-18T08:50:49Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 199, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 160258344, - "title": "Change definition of unique cookie to include host-only-flag to match browser behavior", - "comments": 1, - "state": "open", - "body": "RFC 6265 section 5.3 defines a cookie by the name, domain, and path. However, given these two headers in a response from a request to http://contoso.com/:\n\nSet-Cookie: mycookie=nothostonly; domain=contoso.com\nSet-Cookie: mycookie=hostonly\n\nMost browsers will have two cookies since they include host-only-flag in their definition of a unique cookie. I'd like to update section 4.1.2 and 5.3 to reflect the behavior of modern browsers with regards to host-only-flag.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/199/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/199/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/199/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/199", - "updated_at": "2016-07-22T08:40:28Z", - "user": { - "following_url": "https://api.github.com/users/macoxms/following{/other_user}", - "events_url": "https://api.github.com/users/macoxms/events{/privacy}", - "organizations_url": "https://api.github.com/users/macoxms/orgs", - "url": "https://api.github.com/users/macoxms", - "gists_url": "https://api.github.com/users/macoxms/gists{/gist_id}", - "html_url": "https://github.com/macoxms", - "subscriptions_url": "https://api.github.com/users/macoxms/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/19936729?v=4", - "repos_url": "https://api.github.com/users/macoxms/repos", - "received_events_url": "https://api.github.com/users/macoxms/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/macoxms/starred{/owner}{/repo}", - "site_admin": false, - "login": "macoxms", - "type": "User", - "id": 19936729, - "followers_url": "https://api.github.com/users/macoxms/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/199", - "created_at": "2016-06-14T19:00:14Z", - "assignees": [] - }, - { - "labels": [], - "number": 198, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-22T03:47:32Z", - "id": 159119768, - "title": "Oops in the intro paragraph.", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/198", - "diff_url": "https://github.com/httpwg/http-extensions/pull/198.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/198", - "patch_url": "https://github.com/httpwg/http-extensions/pull/198.patch" - }, - "comments": 0, - "state": "closed", - "body": "Closes #195\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/198/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/198/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/198/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/198", - "updated_at": "2016-06-22T03:47:32Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/198", - "created_at": "2016-06-08T09:34:10Z", - "assignees": [] - }, - { - "labels": [], - "number": 197, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-22T06:28:40Z", - "id": 159119485, - "title": "Adding OWS", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/197", - "diff_url": "https://github.com/httpwg/http-extensions/pull/197.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/197", - "patch_url": "https://github.com/httpwg/http-extensions/pull/197.patch" - }, - "comments": 0, - "state": "closed", - "body": "Closes #194\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/197/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/197/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/197/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/197", - "updated_at": "2016-06-22T06:28:40Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/197", - "created_at": "2016-06-08T09:32:54Z", - "assignees": [] - }, - { - "labels": [], - "number": 196, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-22T06:30:40Z", - "id": 159068094, - "title": "PHK's keyid changes", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/196", - "diff_url": "https://github.com/httpwg/http-extensions/pull/196.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/196", - "patch_url": "https://github.com/httpwg/http-extensions/pull/196.patch" - }, - "comments": 0, - "state": "closed", - "body": "A few improvements, I hope.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/196/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/196/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/196/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/196", - "updated_at": "2016-06-22T06:30:40Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/196", - "created_at": "2016-06-08T02:51:04Z", - "assignees": [] - } - ], - [ - { - "labels": [], - "number": 195, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-22T03:47:32Z", - "id": 158881739, - "title": "Wrong registration of aesgcm", - "comments": 0, - "state": "closed", - "body": "`draft-ietf-httpbis-encryption-encoding.md`:\n\n> This memo registers the \"encrypted\" HTTP content-coding\n\nshould be:\n\n> This memo registers the \"aesgcm\" HTTP content-coding\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/195/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/195/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/195/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/195", - "updated_at": "2016-06-22T03:47:32Z", - "user": { - "following_url": "https://api.github.com/users/vfaronov/following{/other_user}", - "events_url": "https://api.github.com/users/vfaronov/events{/privacy}", - "organizations_url": "https://api.github.com/users/vfaronov/orgs", - "url": "https://api.github.com/users/vfaronov", - "gists_url": "https://api.github.com/users/vfaronov/gists{/gist_id}", - "html_url": "https://github.com/vfaronov", - "subscriptions_url": "https://api.github.com/users/vfaronov/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/300211?v=4", - "repos_url": "https://api.github.com/users/vfaronov/repos", - "received_events_url": "https://api.github.com/users/vfaronov/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/vfaronov/starred{/owner}{/repo}", - "site_admin": false, - "login": "vfaronov", - "type": "User", - "id": 300211, - "followers_url": "https://api.github.com/users/vfaronov/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/195", - "created_at": "2016-06-07T09:46:23Z", - "assignees": [] - }, - { - "labels": [], - "number": 194, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-22T06:28:40Z", - "id": 158881595, - "title": "Missing OWS in encryption_params and crypto_key_params", - "comments": 1, - "state": "closed", - "body": "`draft-ietf-httpbis-encryption-encoding.md`:\n\n> ```\n> encryption_params = [ parameter *( \";\" parameter ) ]\n> \n> crypto_key_params = [ parameter *( \";\" parameter ) ]\n> ```\n\nThese rules do not permit whitespace between a semicolon and a parameter, which was probably intended (judging from the examples and from similar rules elsewhere in HTTP). They should be rewritten as follows:\n\n> ```\n> encryption_params = [ parameter *( OWS \";\" OWS parameter ) ]\n> \n> crypto_key_params = [ parameter *( OWS \";\" OWS parameter ) ]\n> ```\n\nand the import of the `OWS` rule from RFC\u00a07230 should be noted in the preceding text (\u201cThe \"Encryption\" header field uses the extended ABNF syntax .\u00a0.\u00a0.\u201d and similarly for `Crypto-Key`).\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/194/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/194/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/194/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/194", - "updated_at": "2016-06-22T06:28:40Z", - "user": { - "following_url": "https://api.github.com/users/vfaronov/following{/other_user}", - "events_url": "https://api.github.com/users/vfaronov/events{/privacy}", - "organizations_url": "https://api.github.com/users/vfaronov/orgs", - "url": "https://api.github.com/users/vfaronov", - "gists_url": "https://api.github.com/users/vfaronov/gists{/gist_id}", - "html_url": "https://github.com/vfaronov", - "subscriptions_url": "https://api.github.com/users/vfaronov/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/300211?v=4", - "repos_url": "https://api.github.com/users/vfaronov/repos", - "received_events_url": "https://api.github.com/users/vfaronov/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/vfaronov/starred{/owner}{/repo}", - "site_admin": false, - "login": "vfaronov", - "type": "User", - "id": 300211, - "followers_url": "https://api.github.com/users/vfaronov/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/194", - "created_at": "2016-06-07T09:45:38Z", - "assignees": [] - }, - { - "labels": [], - "number": 193, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-21T02:31:51Z", - "id": 158287262, - "title": "A commitment, once made, requires both reasonable assurances and stro\u2026", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/193", - "diff_url": "https://github.com/httpwg/http-extensions/pull/193.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/193", - "patch_url": "https://github.com/httpwg/http-extensions/pull/193.patch" - }, - "comments": 2, - "state": "closed", - "body": "\u2026ng authentication\n\nCloses #191 if Erik is cool with it.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/193/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/193/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/193/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/193", - "updated_at": "2016-06-21T02:31:51Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/193", - "created_at": "2016-06-03T04:07:06Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 192, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-07-08T01:03:46Z", - "id": 158189766, - "title": "Prohibit client certs from being used with Opp-Sec", - "comments": 2, - "state": "closed", - "body": "Another post-WGLC feedback item that came up from one of our security researchers which\nis not covered in the doc is client certs. Do we need any guidance on them in the doc?\nShould we say that clients MUST NOT send them for connections being used for HTTP-scheme\nrequests? Or only send them after an origin has opted-in with a .well-known/http-encryption response\nover a strongly authenticated connection?\n\nThe risk comes from an unauthenticated active adversary Alt-Svc'ing a client to a server\nto which the client is sending client certs for HTTPS but where the server is not\nmulti-scheme aware and hasn't opted in. There is the potential for the server to\nhave a perception of HTTPS client-cert authenticated requests when the client may\nbe thinking it is making HTTP requests which may have had some cookies\nor other elements injected by the active MitM under the cleartext HTTP side.\n\nFrom @martinthomson on http-wg discussion:\n\n> I would be happy saying that you can't use client certs. That is,\n> unless you were using them for HTTPS requests and the connection\n> happened to be shared.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/192/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/192/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/192/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/192", - "updated_at": "2016-07-08T01:03:46Z", - "user": { - "following_url": "https://api.github.com/users/enygren/following{/other_user}", - "events_url": "https://api.github.com/users/enygren/events{/privacy}", - "organizations_url": "https://api.github.com/users/enygren/orgs", - "url": "https://api.github.com/users/enygren", - "gists_url": "https://api.github.com/users/enygren/gists{/gist_id}", - "html_url": "https://github.com/enygren", - "subscriptions_url": "https://api.github.com/users/enygren/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/6840678?v=4", - "repos_url": "https://api.github.com/users/enygren/repos", - "received_events_url": "https://api.github.com/users/enygren/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/enygren/starred{/owner}{/repo}", - "site_admin": false, - "login": "enygren", - "type": "User", - "id": 6840678, - "followers_url": "https://api.github.com/users/enygren/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/192", - "created_at": "2016-06-02T16:55:47Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 191, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-21T02:31:51Z", - "id": 158077496, - "title": "Strong Authentication and commit", - "comments": 0, - "state": "closed", - "body": "Erik raises in post-WGLC:\n\nThe text is still a little unclear on whether commit then requires subsequent connections to use \"strong authentication\" or just \"authentication\". In particular, Section 3 seems to add some confusion about whether \"reasonable assurances\" and \"server authentication\" are the same thing or not but then 5.2 sometimes uses \"authenticated without \"strongly authenticated\". For example, this paragraph is not particularly crisp on what the requirements are (strong authentication or something else):\n\n```\nA commitment is not bound to a particular alternative service.\nClients are able to use alternative services that they become aware\nof. However, once a valid and authenticated commitment has been\nreceived, clients SHOULD NOT use an unauthenticated alternative\nservice. Where there is an active commitment, clients SHOULD ignore\nadvertisements for unsecured alternative services. A client MAY send\nrequests to an unauthenticated origin in an attempt to discover\npotential alternative services, but these requests SHOULD be entirely\ngeneric and avoid including credentials.\n```\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/191/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/191/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/191/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/191", - "updated_at": "2016-06-21T02:31:51Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/191", - "created_at": "2016-06-02T07:38:59Z", - "assignees": [] - }, - { - "labels": [], - "number": 190, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-07T16:54:24Z", - "id": 158009139, - "title": "Address feedback on client-hints-01 draft", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/190", - "diff_url": "https://github.com/httpwg/http-extensions/pull/190.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/190", - "patch_url": "https://github.com/httpwg/http-extensions/pull/190.patch" - }, - "comments": 2, - "state": "closed", - "body": "WIP.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/190/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/190/labels{/name}", - "author_association": "MEMBER", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/190/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/190", - "updated_at": "2016-06-07T16:54:25Z", - "user": { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/190", - "created_at": "2016-06-01T21:17:05Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 189, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-07T06:38:09Z", - "id": 157878866, - "title": "Client Hints: Accept-CH html meta http-equiv", - "comments": 6, - "state": "closed", - "body": "\"Servers can advertise support for Client Hints using the Accept-CH header field or an equivalent HTML meta element with http-equiv attribute ([W3C.REC-html5-20141028]).\"\n\nIn which case it should be added to https://wiki.whatwg.org/wiki/PragmaExtensions (like it or not).\n\n\"When a client receives Accept-CH, it SHOULD append the Client Hint header fields that match the advertised field-values. For example, based on Accept-CH example above, the client would append DPR, Width, Viewport-Width, and Downlink header fields to all subsequent requests.\"\n\nQ: does the SHOULD also apply to the HTML http-equiv variant?\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/189/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/189/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/189/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/189", - "updated_at": "2016-06-07T06:38:09Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/189", - "created_at": "2016-06-01T10:58:08Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 188, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-07-08T01:03:35Z", - "id": 157782494, - "title": "Don't mix secure and insecure schemes on a connection", - "comments": 3, - "state": "closed", - "body": "Using HTTP and HTTPS schemes on a single OppSec connection seems like asking for trouble, especially as the latter would be authenticated and the former might not. We should explicitly prohibit this (clients MUST NOT) and servers SHOULD presumably respond with a 4xx (421?) if mixing of schemes is detected. The exact vulnerabilities or ways to exploit are unclear, but mixing authenticated and unauthenticated (or secure and insecure) communications over a single TLS channel seems dangerous.\n\nIt may be reasonable to allow a server to advertise mixing HTTP and HTTPS under a strongly authenticated /.well-known/http-opportunistic (similar to commit), but mixing schemes shouldn't be the default.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/188/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/188/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/188/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/188", - "updated_at": "2016-07-08T01:03:35Z", - "user": { - "following_url": "https://api.github.com/users/enygren/following{/other_user}", - "events_url": "https://api.github.com/users/enygren/events{/privacy}", - "organizations_url": "https://api.github.com/users/enygren/orgs", - "url": "https://api.github.com/users/enygren", - "gists_url": "https://api.github.com/users/enygren/gists{/gist_id}", - "html_url": "https://github.com/enygren", - "subscriptions_url": "https://api.github.com/users/enygren/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/6840678?v=4", - "repos_url": "https://api.github.com/users/enygren/repos", - "received_events_url": "https://api.github.com/users/enygren/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/enygren/starred{/owner}{/repo}", - "site_admin": false, - "login": "enygren", - "type": "User", - "id": 6840678, - "followers_url": "https://api.github.com/users/enygren/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/188", - "created_at": "2016-05-31T22:12:21Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 187, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 157749112, - "title": "Lifetime of Key headers", - "comments": 1, - "state": "open", - "body": "It could be better for some implementers if the lifetime of the Key headers is the same as the Cache-Control: from the response wherein the Key header was seen. The spec today says that the Key header used should be the last one seen, but this can cause some complex, and/or performance expensive issues for certain cache implementations.\n\nUnless the intent here is that I can purge old variants from the cache, that are still fresh, by changing the Key header for subsequent variants?\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/187/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/187/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/187/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/187", - "updated_at": "2017-02-07T05:25:51Z", - "user": { - "following_url": "https://api.github.com/users/zwoop/following{/other_user}", - "events_url": "https://api.github.com/users/zwoop/events{/privacy}", - "organizations_url": "https://api.github.com/users/zwoop/orgs", - "url": "https://api.github.com/users/zwoop", - "gists_url": "https://api.github.com/users/zwoop/gists{/gist_id}", - "html_url": "https://github.com/zwoop", - "subscriptions_url": "https://api.github.com/users/zwoop/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/202131?v=4", - "repos_url": "https://api.github.com/users/zwoop/repos", - "received_events_url": "https://api.github.com/users/zwoop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/zwoop/starred{/owner}{/repo}", - "site_admin": false, - "login": "zwoop", - "type": "User", - "id": 202131, - "followers_url": "https://api.github.com/users/zwoop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/187", - "created_at": "2016-05-31T19:20:04Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 186, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-07T06:36:51Z", - "id": 157735133, - "title": "Client hints: wording on Save-Data", - "comments": 4, - "state": "closed", - "body": "`draft-ietf-httpbis-client-hints.md`:\n\n> The \"Save-Data\" request header field is a token that indicates\n\nshould be something like:\n\n> The \"Save-Data\" request header field is one or more tokens that indicate\n\nor maybe just:\n\n> The \"Save-Data\" request header field indicates\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/186/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/186/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/186/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/186", - "updated_at": "2016-06-07T06:36:51Z", - "user": { - "following_url": "https://api.github.com/users/vfaronov/following{/other_user}", - "events_url": "https://api.github.com/users/vfaronov/events{/privacy}", - "organizations_url": "https://api.github.com/users/vfaronov/orgs", - "url": "https://api.github.com/users/vfaronov", - "gists_url": "https://api.github.com/users/vfaronov/gists{/gist_id}", - "html_url": "https://github.com/vfaronov", - "subscriptions_url": "https://api.github.com/users/vfaronov/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/300211?v=4", - "repos_url": "https://api.github.com/users/vfaronov/repos", - "received_events_url": "https://api.github.com/users/vfaronov/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/vfaronov/starred{/owner}{/repo}", - "site_admin": false, - "login": "vfaronov", - "type": "User", - "id": 300211, - "followers_url": "https://api.github.com/users/vfaronov/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/186", - "created_at": "2016-05-31T18:10:45Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 185, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-07T06:36:27Z", - "id": 157734236, - "title": "Client hints: \u201clargest smallest\u201d", - "comments": 0, - "state": "closed", - "body": "`draft-ietf-httpbis-client-hints.md`:\n\n> rounded to the largest smallest following integer\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/185/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/185/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/185/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/185", - "updated_at": "2016-06-07T06:36:27Z", - "user": { - "following_url": "https://api.github.com/users/vfaronov/following{/other_user}", - "events_url": "https://api.github.com/users/vfaronov/events{/privacy}", - "organizations_url": "https://api.github.com/users/vfaronov/orgs", - "url": "https://api.github.com/users/vfaronov", - "gists_url": "https://api.github.com/users/vfaronov/gists{/gist_id}", - "html_url": "https://github.com/vfaronov", - "subscriptions_url": "https://api.github.com/users/vfaronov/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/300211?v=4", - "repos_url": "https://api.github.com/users/vfaronov/repos", - "received_events_url": "https://api.github.com/users/vfaronov/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/vfaronov/starred{/owner}{/repo}", - "site_admin": false, - "login": "vfaronov", - "type": "User", - "id": 300211, - "followers_url": "https://api.github.com/users/vfaronov/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/185", - "created_at": "2016-05-31T18:06:13Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 184, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-07T06:36:09Z", - "id": 157731864, - "title": "Client hints import unused ABNF rules", - "comments": 2, - "state": "closed", - "body": "`draft-ietf-httpbis-client-hints.md`:\n\n> It includes by reference the DIGIT rule from {{RFC5234}}; the OWS, field-name and quoted-string rules from {{RFC7230}}; and the parameter rule from {{RFC7231}}.\n\nThe `quoted-string` and `parameter` rules are not used in the document.\n\nThe `OWS` rule is not used in the document, unless you accept [my comment on `Save-Data`](https://github.com/httpwg/http-extensions/issues/168#issuecomment-222740727).\n\nThe `field-name` rule is not used in the document, but I think it can be useful to clarify the definition of `Accept-CH`, i.e.:\n\n```\nAccept-CH = #field-name\n```\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/184/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/184/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/184/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/184", - "updated_at": "2016-06-07T06:36:09Z", - "user": { - "following_url": "https://api.github.com/users/vfaronov/following{/other_user}", - "events_url": "https://api.github.com/users/vfaronov/events{/privacy}", - "organizations_url": "https://api.github.com/users/vfaronov/orgs", - "url": "https://api.github.com/users/vfaronov", - "gists_url": "https://api.github.com/users/vfaronov/gists{/gist_id}", - "html_url": "https://github.com/vfaronov", - "subscriptions_url": "https://api.github.com/users/vfaronov/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/300211?v=4", - "repos_url": "https://api.github.com/users/vfaronov/repos", - "received_events_url": "https://api.github.com/users/vfaronov/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/vfaronov/starred{/owner}{/repo}", - "site_admin": false, - "login": "vfaronov", - "type": "User", - "id": 300211, - "followers_url": "https://api.github.com/users/vfaronov/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/184", - "created_at": "2016-05-31T17:54:54Z", - "assignees": [] - }, - { - "labels": [], - "number": 183, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-30T01:39:36Z", - "id": 157585951, - "title": "Use monospace for span.tt", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/183", - "diff_url": "https://github.com/httpwg/http-extensions/pull/183.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/183", - "patch_url": "https://github.com/httpwg/http-extensions/pull/183.patch" - }, - "comments": 0, - "state": "closed", - "body": "Closes #182. Maybe.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/183/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/183/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/183/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/183", - "updated_at": "2016-06-30T01:39:36Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/183", - "created_at": "2016-05-31T04:04:23Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 182, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-05-31T04:28:42Z", - "id": 157585776, - "title": "Need style for ``", - "comments": 3, - "state": "closed", - "body": "These are being displayed in proportional font on gh-pages.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/182/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/182/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/182/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/182", - "updated_at": "2016-05-31T04:28:42Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/182", - "created_at": "2016-05-31T04:02:22Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 181, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-05-31T04:04:22Z", - "id": 157585674, - "title": "Commitment might exceed the freshness lifetime", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/181", - "diff_url": "https://github.com/httpwg/http-extensions/pull/181.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/181", - "patch_url": "https://github.com/httpwg/http-extensions/pull/181.patch" - }, - "comments": 0, - "state": "closed", - "body": "We make this decision explicitly, and we don't want to imply that just because you don't have a fresh \"http-opportunistic\" resource, any commitment is shortened as a result (which is a reasonable interpretation based on the current text).\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/181/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/181/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/181/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/181", - "updated_at": "2016-05-31T04:04:22Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/181", - "created_at": "2016-05-31T04:01:13Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 180, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-05-31T04:04:54Z", - "id": 157585197, - "title": "Mike Bishop and Stefan Eissing need acknowledgment.", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/180", - "diff_url": "https://github.com/httpwg/http-extensions/pull/180.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/180", - "patch_url": "https://github.com/httpwg/http-extensions/pull/180.patch" - }, - "comments": 0, - "state": "closed", - "body": "'specially Mike.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/180/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/180/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/180/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/180", - "updated_at": "2016-05-31T04:04:54Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/180", - "created_at": "2016-05-31T03:55:08Z", - "assignees": [] - }, - { - "labels": [], - "number": 179, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-05-31T14:27:16Z", - "id": 156866746, - "title": "make Save-Data extensible", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/179", - "diff_url": "https://github.com/httpwg/http-extensions/pull/179.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/179", - "patch_url": "https://github.com/httpwg/http-extensions/pull/179.patch" - }, - "comments": 4, - "state": "closed", - "body": "- only one \"on\" value is recognized today\n- allow parameters on token\n\nDiscussion: https://github.com/httpwg/http-extensions/issues/168\n\n@mnot @reschke can you please do a quick sanity check?\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/179/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/179/labels{/name}", - "author_association": "MEMBER", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/179/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/179", - "updated_at": "2016-05-31T14:27:16Z", - "user": { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/179", - "created_at": "2016-05-25T22:42:58Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 178, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2017-04-19T01:32:42Z", - "id": 155739692, - "title": "Wildcard names", - "comments": 7, - "state": "closed", - "body": "If an origin has a wildcard certificate, the origin frame allows it to narrow scope. But if we accept #177, then there is the potential for the origin to lose any claim to wildcards without enumerating the entire space (at high cost and with a privacy risk). One way to avoid that would be to support the use of a wildcard. The rules in RFC2818 are probably appropriate.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/178/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/178/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/178/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/178", - "updated_at": "2017-04-19T01:32:42Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/178", - "created_at": "2016-05-19T13:42:14Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 177, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-10-11T05:51:08Z", - "id": 155363131, - "title": "ORIGIN: Support deltas", - "comments": 3, - "state": "closed", - "body": "During the discussion of the Secondary Certs work, Nick S. raised the point that it would be interesting to be able to inform the client about dependent domains which are also served by this server as the server returns content that references it. In order to do this incrementally, an ORIGIN frame would need to be additive -- each successive frame augmenting the client's list of allowed domains. However, we still need to support the original case, scoping it down.\n\nI'd suggest changing the semantics to be additive and defining a flag whose presence/absence means that the existing list (initially inferred from the certificate) be discarded before processing this frame.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/177/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/177/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/177/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/177", - "updated_at": "2016-10-11T05:51:08Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/177", - "created_at": "2016-05-17T21:12:28Z", - "assignees": [] - }, - { - "labels": [], - "number": 176, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-05-12T00:16:38Z", - "id": 154242200, - "title": "ORIGIN Frame Minor edits", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/176", - "diff_url": "https://github.com/httpwg/http-extensions/pull/176.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/176", - "patch_url": "https://github.com/httpwg/http-extensions/pull/176.patch" - }, - "comments": 1, - "state": "closed", - "body": "Some rather minor edits to the ORIGIN frame spec\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/176/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/176/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/176/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/176", - "updated_at": "2016-05-12T00:16:42Z", - "user": { - "following_url": "https://api.github.com/users/LPardue/following{/other_user}", - "events_url": "https://api.github.com/users/LPardue/events{/privacy}", - "organizations_url": "https://api.github.com/users/LPardue/orgs", - "url": "https://api.github.com/users/LPardue", - "gists_url": "https://api.github.com/users/LPardue/gists{/gist_id}", - "html_url": "https://github.com/LPardue", - "subscriptions_url": "https://api.github.com/users/LPardue/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/6571445?v=4", - "repos_url": "https://api.github.com/users/LPardue/repos", - "received_events_url": "https://api.github.com/users/LPardue/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/LPardue/starred{/owner}{/repo}", - "site_admin": false, - "login": "LPardue", - "type": "User", - "id": 6571445, - "followers_url": "https://api.github.com/users/LPardue/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/176", - "created_at": "2016-05-11T13:22:05Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/origin-frame", - "color": "fbca04", - "default": false, - "id": 373607944, - "name": "origin-frame" - } - ], - "number": 175, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-05-10T06:01:40Z", - "id": 153928945, - "title": "Fix formatting", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/175", - "diff_url": "https://github.com/httpwg/http-extensions/pull/175.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/175", - "patch_url": "https://github.com/httpwg/http-extensions/pull/175.patch" - }, - "comments": 1, - "state": "closed", - "body": "Putting the meat of the document in Section 1.2 was a bit odd. Also, the fields descriptions were glommed together.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/175/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/175/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/175/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/175", - "updated_at": "2016-05-10T06:01:40Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/175", - "created_at": "2016-05-10T05:52:54Z", - "assignees": [] - }, - { - "labels": [], - "number": 174, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-04-26T02:58:20Z", - "id": 150084217, - "title": "HTTP/2 PUSH cache mechanism?", - "comments": 6, - "state": "closed", - "body": "Unsure if this is the right place to ask. Is there an existing effort to make a header for HTTP/2's PUSH promises able to sync dependency trees?\n\nConsider:\n\n``` html\n\n\n```\n\n``` js\n// a\nimport \"b\";\n```\n\n``` js\n// b\nimport \"c\";\n```\n\nAnd so on...\n\nRight now we can PUSH `a`, `b`, etc. when `index.html` is requested. However, when we receive an etag for `index.html` we are unsure what revision of dependencies are in the cache for `a`, `b`, etc.\n\nI saw CACHE_DIGEST, but was wondering if there was an effort to make dependency tree caching available to reduce chatter for PUSH of large/deep resources as are common in JS applications.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/174/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/174/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/174/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/174", - "updated_at": "2016-04-26T02:58:20Z", - "user": { - "following_url": "https://api.github.com/users/bmeck/following{/other_user}", - "events_url": "https://api.github.com/users/bmeck/events{/privacy}", - "organizations_url": "https://api.github.com/users/bmeck/orgs", - "url": "https://api.github.com/users/bmeck", - "gists_url": "https://api.github.com/users/bmeck/gists{/gist_id}", - "html_url": "https://github.com/bmeck", - "subscriptions_url": "https://api.github.com/users/bmeck/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/234659?v=4", - "repos_url": "https://api.github.com/users/bmeck/repos", - "received_events_url": "https://api.github.com/users/bmeck/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/bmeck/starred{/owner}{/repo}", - "site_admin": false, - "login": "bmeck", - "type": "User", - "id": 234659, - "followers_url": "https://api.github.com/users/bmeck/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/174", - "created_at": "2016-04-21T14:03:17Z", - "assignees": [] - }, - { - "labels": [], - "number": 173, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-04-20T14:04:11Z", - "id": 149756955, - "title": "fixing typo", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/173", - "diff_url": "https://github.com/httpwg/http-extensions/pull/173.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/173", - "patch_url": "https://github.com/httpwg/http-extensions/pull/173.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/173/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/173/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/173/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/173", - "updated_at": "2016-04-20T14:04:11Z", - "user": { - "following_url": "https://api.github.com/users/dret/following{/other_user}", - "events_url": "https://api.github.com/users/dret/events{/privacy}", - "organizations_url": "https://api.github.com/users/dret/orgs", - "url": "https://api.github.com/users/dret", - "gists_url": "https://api.github.com/users/dret/gists{/gist_id}", - "html_url": "https://github.com/dret", - "subscriptions_url": "https://api.github.com/users/dret/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/1848612?v=4", - "repos_url": "https://api.github.com/users/dret/repos", - "received_events_url": "https://api.github.com/users/dret/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/dret/starred{/owner}{/repo}", - "site_admin": false, - "login": "dret", - "type": "User", - "id": 1848612, - "followers_url": "https://api.github.com/users/dret/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/173", - "created_at": "2016-04-20T12:44:55Z", - "assignees": [] - }, - { - "labels": [], - "number": 172, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-05-10T06:02:15Z", - "id": 147135045, - "title": "CACHE_DIGEST: use a non-cryptographic hash", - "comments": 1, - "state": "closed", - "body": "Unless there are security problems with hash collisions, it would be better to use a non-cryptographic hash. Not only is this much faster, but it removes a need to migrate when SHA256 becomes weak and needs to be retired. If we stick with SHA256 due to security properties, a crypto hash negotiation scheme may be required in the frame.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/172/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/172/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/172/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/172", - "updated_at": "2016-05-10T06:02:16Z", - "user": { - "following_url": "https://api.github.com/users/enygren/following{/other_user}", - "events_url": "https://api.github.com/users/enygren/events{/privacy}", - "organizations_url": "https://api.github.com/users/enygren/orgs", - "url": "https://api.github.com/users/enygren", - "gists_url": "https://api.github.com/users/enygren/gists{/gist_id}", - "html_url": "https://github.com/enygren", - "subscriptions_url": "https://api.github.com/users/enygren/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/6840678?v=4", - "repos_url": "https://api.github.com/users/enygren/repos", - "received_events_url": "https://api.github.com/users/enygren/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/enygren/starred{/owner}{/repo}", - "site_admin": false, - "login": "enygren", - "type": "User", - "id": 6840678, - "followers_url": "https://api.github.com/users/enygren/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/172", - "created_at": "2016-04-09T14:52:44Z", - "assignees": [] - }, - { - "labels": [], - "number": 171, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-05-10T06:02:27Z", - "id": 147134760, - "title": "CACHE_DIGEST: clients should seed hash and send seed", - "comments": 2, - "state": "closed", - "body": "To avoid hot-spots with collisions across many clients, it would be good for clients to use a random seed to seed their hashes and to send this along.\n\nConsiderations:\n- This makes things somewhat more expensive for servers who have to recompute the hashes\n- Care should be taken to make sure the seed isn't persisted in a scope that allows it to be used for tracking (or the seed should be small enough to make this less of an issue).\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/171/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/171/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/171/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/171", - "updated_at": "2016-05-10T06:02:27Z", - "user": { - "following_url": "https://api.github.com/users/enygren/following{/other_user}", - "events_url": "https://api.github.com/users/enygren/events{/privacy}", - "organizations_url": "https://api.github.com/users/enygren/orgs", - "url": "https://api.github.com/users/enygren", - "gists_url": "https://api.github.com/users/enygren/gists{/gist_id}", - "html_url": "https://github.com/enygren", - "subscriptions_url": "https://api.github.com/users/enygren/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/6840678?v=4", - "repos_url": "https://api.github.com/users/enygren/repos", - "received_events_url": "https://api.github.com/users/enygren/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/enygren/starred{/owner}{/repo}", - "site_admin": false, - "login": "enygren", - "type": "User", - "id": 6840678, - "followers_url": "https://api.github.com/users/enygren/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/171", - "created_at": "2016-04-09T14:50:20Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - } - ], - "number": 170, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-22T06:38:25Z", - "id": 146740434, - "title": "Treat cookies that are set on http:// origins as ephemeral", - "comments": 3, - "state": "closed", - "body": "Note that the definition and scope of \"ephemeral\" is somewhat challenging given session restore capabilities.\n\nSee https://bugzilla.mozilla.org/show_bug.cgi?id=1160368#c10\n\nAnd http://mzl.la/1S62L0s\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/170/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/170/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/170/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/170", - "updated_at": "2016-06-22T06:38:25Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/170", - "created_at": "2016-04-07T21:00:57Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 169, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 146340452, - "title": "UA sniffing", - "comments": 2, - "state": "open", - "body": "In examples, the document shows how it can improve conneg when the server varies the response based on the \"User-Agent\" request header field. It would be good to insert a quick reminder that doing things like this is a last resort and ought to be avoided.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/169/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/169/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/169/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/169", - "updated_at": "2016-05-03T06:46:55Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/169", - "created_at": "2016-04-06T14:55:36Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - } - ], - "number": 168, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-05-31T14:43:46Z", - "id": 145784179, - "title": "save-data extensibility", - "comments": 9, - "state": "closed", - "body": "I understand that the current method has the save-data aspect of client hints as a simple on/off switch. I wonder, though, about the willingness to consider allowing for some extensibility. Right now, someone saying \"save-data=on\" is signing up for pretty much anything. Separating acceptance of data saving for different elements, e.g. agreeing to smaller video resources but not lower fidelity audio, seems like it may be useful. I suggest that the working group consider making this an extensible field with \"save-date=all\" as the default, with semantics matching the current \"save-data=on\". Then later extensions can be specified for more granular statements.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/168/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/168/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/168/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/168", - "updated_at": "2016-06-01T21:29:38Z", - "user": { - "following_url": "https://api.github.com/users/hardie/following{/other_user}", - "events_url": "https://api.github.com/users/hardie/events{/privacy}", - "organizations_url": "https://api.github.com/users/hardie/orgs", - "url": "https://api.github.com/users/hardie", - "gists_url": "https://api.github.com/users/hardie/gists{/gist_id}", - "html_url": "https://github.com/hardie", - "subscriptions_url": "https://api.github.com/users/hardie/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/1399780?v=4", - "repos_url": "https://api.github.com/users/hardie/repos", - "received_events_url": "https://api.github.com/users/hardie/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/hardie/starred{/owner}{/repo}", - "site_admin": false, - "login": "hardie", - "type": "User", - "id": 1399780, - "followers_url": "https://api.github.com/users/hardie/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/168", - "created_at": "2016-04-04T19:41:44Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 167, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-02T07:36:47Z", - "id": 145780333, - "title": "Confusion Regarding Request Scheme", - "comments": 3, - "state": "closed", - "body": "See https://lists.w3.org/Archives/Public/ietf-http-wg/2016JanMar/0531.html:\n\nWith the latest changes, this now reads:\n\n\"Some HTTP/1.1 implementations use ambient signals to determine if a \nrequest is for an https resource. For example, implementations might \nlook for TLS on the stack or a port number of 443. This is necessary in \nmany cases because the most common form of an HTTP/1.1 request does not \ncarry an explicit indication of the URI scheme. An implementation that \nis serving an opportunistically secured request SHOULD suppress these \nsignals for http resources.\n\nHTTP/1.1 MUST NOT be used to serve opportunistically secured requests. \nHTTP/1.1 can be used to discover an opportunistically secured \nalternative service.\"\n\nThe problem remains that this is not really specific to HTTP/1.1; for \ninstance, code running inside Apache over HTTP/2 may have exactly the \nsame problem (Stefan E. to confirm); so it's more a matter of HTTP \nserver internal APIs, not the on-the-wire protocol.\n\nI believe this needs to be rephrased to better explain the actual \nproblem; and I also remain unconvinced that the conclusion wrt HTTP/1.1 \nmakes sense.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/167/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/167/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/167/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/167", - "updated_at": "2016-06-02T07:36:47Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/167", - "created_at": "2016-04-04T19:25:15Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 166, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 145763740, - "title": "quoted-string handling for param directive", - "comments": 0, - "state": "open", - "body": "It appears that the processing steps for \"param\" do not handle values with quoted-string syntax, wrt (a) not splitting on \",\", (b) unescaping (removing DQUOTE and undoing quoted-pair escaping).\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/166/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/166/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/166/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/166", - "updated_at": "2016-04-04T18:19:03Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/166", - "created_at": "2016-04-04T18:19:03Z", - "assignees": [] - } - ], - [ - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 165, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-05-10T06:04:20Z", - "id": 145349018, - "title": "AUTH48 changes for alt-svc", - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/165/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/165/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/165/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/165", - "updated_at": "2016-05-10T06:04:20Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/165", - "created_at": "2016-04-02T08:00:12Z", - "assignees": [] - }, - { - "labels": [], - "number": 164, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-03-31T06:16:02Z", - "id": 144757116, - "title": "Julian's review", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/164", - "diff_url": "https://github.com/httpwg/http-extensions/pull/164.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/164", - "patch_url": "https://github.com/httpwg/http-extensions/pull/164.patch" - }, - "comments": 0, - "state": "closed", - "body": "I think that I caught everything in the first round of discussion. There aren't any substantial changes here, but it's a PR so that others can confirm.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/164/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/164/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/164/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/164", - "updated_at": "2016-03-31T06:16:02Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/164", - "created_at": "2016-03-31T00:41:33Z", - "assignees": [] - }, - { - "labels": [], - "number": 163, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-04-05T16:49:18Z", - "id": 144438146, - "title": "WIP: addressing CH feedback", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/163", - "diff_url": "https://github.com/httpwg/http-extensions/pull/163.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/163", - "patch_url": "https://github.com/httpwg/http-extensions/pull/163.patch" - }, - "comments": 6, - "state": "closed", - "body": "https://lists.w3.org/Archives/Public/ietf-http-wg/2016JanMar/0519.html\n\nOutstanding issues:\n- [x] reference User-Agent header field definition\n- [x] reference cookie spec\n- [x] make \"proactive content negotiation [RFC7231]\" reference more specific\n- [ ] most of the \"this document uses...\" references do not seem to be used; cleanup.\n- [x] drop \"common syntax\" leftover from previous drafts.\n- [x] make \"Vary\" reference more specific\n- [x] reference HTML spec\n- [x] include a reference to \"CSS px\"\n- [x] include a reference to \"layout viewport\"\n- [ ] clarify whether this is for user agents or all clients \n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/163/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/163/labels{/name}", - "author_association": "MEMBER", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/163/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/163", - "updated_at": "2016-04-05T16:49:18Z", - "user": { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/163", - "created_at": "2016-03-30T01:58:03Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 162, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-07-18T13:07:19Z", - "id": 141991505, - "title": "Separate lifetime from commitment element", - "comments": 13, - "state": "closed", - "body": "Kari has raised an interesting potential weakness with the dual use of .well-known/http-opportunistic. The presence of the resource indicates support for cross-port Alt-Svc without strong authentication. The presence of a commit member, however, indicates that only strongly-authenticated alternatives should be used (effectively, opting out of the weaker mode).\n\nHowever, since the commitment to strong auth has an explicitly stated lifetime, while the consent to cross-port doesn't, it's possible for the end result to be that a client believes the server has consented to weak cross-port alternatives after the commitment has expired.\n\nSeveral reasonable solutions exist:\n- Move the duration out to an explicit \"lifetime\" member which details the time for which the entire structure can be treated as valid; \"commit\" would effectively become a flag.\n- HTTP caching semantics might be used for the same purpose; \"commit\" still becomes a flag\n- Explicitly state a desired mode of behavior (strong-auth only, same-host only, same-host or strong auth, etc.) and optionally a lifetime. This is harder to extend in the future, but may be the clearest today.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/162/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/162/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/162/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/162", - "updated_at": "2016-07-18T13:07:19Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/162", - "created_at": "2016-03-18T22:20:00Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 161, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-02T07:37:46Z", - "id": 141989669, - "title": "Requirement to filter Alt-Svc header needs explicit normative text", - "comments": 5, - "state": "closed", - "body": "The resolution to #144 implies that the client can trust Alt-Svc headers from the server after finding a .well-known/http-opportunistic resource, but doesn't explain why that should be.\n\nLogically, the attack described depended on the attacker's ability, from hosted content, to inject a value for the Alt-Svc header. The original solution in the Alt-Svc draft, saying that servers just shouldn't allow this, placed a retroactive requirement on servers that don't support Alt-Svc. This well-known URI represents a clear signal that the server _does_ support Alt-Svc.\n\nI suggest we add the requirement that servers which advertise the .well-known/http-opportunistic resource MUST prohibit setting the Alt-Svc from unprivileged content. This is a reasonable implication from the current state of the text, but is not explicitly stated and could easily be missed by a server implementer.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/161/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/161/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/161/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/161", - "updated_at": "2016-06-02T07:37:46Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/161", - "created_at": "2016-03-18T22:07:06Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 160, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-02T07:37:53Z", - "id": 141746557, - "title": "Commit without same-host opt-in", - "comments": 2, - "state": "closed", - "body": "Kari raises in WGLC:\n\nIn [5.1. Opportunistic Commitment](https://tools.ietf.org/html/draft-ietf-httpbis-http2-encryption-04#section-5.1):\n\n> An origin can reduce the risk of attacks on opportunistically secured connections by committing to provide an secured, authenticated alternative service. This is done by including the optional \"commit\" member in the http-opportunistic well-known resource (see Section 6).\n\nThis does not make possible to specify \"commit\" without saying same time that there is also reasonable assurance for alternative services for on same host which does not provide strong authentication.\n\nThere should be possible to give \"commit\" for authenticated alternatives WITHOUT giving also reasonable assurances for non-authenticated alternatives (on same host that origin).\n\n`/.well-known/http-opportunistic` SHOULD include separate indication that for reasonable assurances. My suggestion for that parameter is same than for \"Attacks from the same host\".\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/160/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/160/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/160/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/160", - "updated_at": "2016-06-02T07:37:53Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/160", - "created_at": "2016-03-18T01:08:12Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/6265bis", - "color": "fbca04", - "default": false, - "id": 329793151, - "name": "6265bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 159, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 140988665, - "title": "Allow cookies without key or value.", - "comments": 2, - "state": "open", - "body": "As a part of discussion in whatwg/html#804 I've made a [research](http://inikulin.github.io/cookie-compat/) of the modern browsers compatibility with the RFC 6265. It appears that all browsers nowadays allows cookies without key or (in case of Safari) without value, thus making it de facto standard. However, it's debatable how cookies like `foo;` should be treated: as the cookie without value or without key. Thinking of cookie jar as some kind of key/value store makes it more logical to treat such cookie as cookies without value, but on the other hand, currently most implementers treats them as the cookies with the special empty key.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/159/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/159/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/159/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/159", - "updated_at": "2017-03-03T04:07:27Z", - "user": { - "following_url": "https://api.github.com/users/inikulin/following{/other_user}", - "events_url": "https://api.github.com/users/inikulin/events{/privacy}", - "organizations_url": "https://api.github.com/users/inikulin/orgs", - "url": "https://api.github.com/users/inikulin", - "gists_url": "https://api.github.com/users/inikulin/gists{/gist_id}", - "html_url": "https://github.com/inikulin", - "subscriptions_url": "https://api.github.com/users/inikulin/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/453071?v=4", - "repos_url": "https://api.github.com/users/inikulin/repos", - "received_events_url": "https://api.github.com/users/inikulin/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/inikulin/starred{/owner}{/repo}", - "site_admin": false, - "login": "inikulin", - "type": "User", - "id": 453071, - "followers_url": "https://api.github.com/users/inikulin/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/159", - "created_at": "2016-03-15T14:26:29Z", - "assignees": [] - }, - { - "labels": [], - "number": 158, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-03-17T00:57:12Z", - "id": 140571548, - "title": "Updated encryption examples", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/158", - "diff_url": "https://github.com/httpwg/http-extensions/pull/158.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/158", - "patch_url": "https://github.com/httpwg/http-extensions/pull/158.patch" - }, - "comments": 1, - "state": "closed", - "body": "Thanks to @beverloo for identifying the bug in my code that caused this to take so long.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/158/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/158/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/158/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/158", - "updated_at": "2016-03-17T00:57:12Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/158", - "created_at": "2016-03-14T04:25:46Z", - "assignees": [] - }, - { - "labels": [], - "number": 157, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-03-13T23:42:48Z", - "id": 140101992, - "title": "Refining the framing of the commitment", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/157", - "diff_url": "https://github.com/httpwg/http-extensions/pull/157.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/157", - "patch_url": "https://github.com/httpwg/http-extensions/pull/157.patch" - }, - "comments": 1, - "state": "closed", - "body": "Second round on this one, small tweaks and a small amount of restructuring.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/157/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/157/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/157/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/157", - "updated_at": "2016-03-13T23:42:48Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/157", - "created_at": "2016-03-11T06:35:47Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 156, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-08-19T04:59:35Z", - "id": 140101458, - "title": "Define more precisely which CH headers are sent by default", - "comments": 15, - "state": "closed", - "body": "The spec currently says that clients should send CH headers \"based on their default settings, user configuration and/or preferences\". This needs to be more precisely defined in order to not cause interoperability problems between browsers.\n\nI know that there's a tension between not sending too much header data which is commonly not used by servers, thus wasting bandwidth, while also sending enough information that servers can optimize their responses. However leaving the decision out of the spec and up to clients, doesn't make the problem simpler, it just pushes it onto someone else.\n\nWhat I propose is the following:\nFor \"document\" loads, i.e. when browsers make the request during navigation, send the information which is typically needed for websites to determine what markup to serve. So things that let the server choose which version of a responsive-design page to serve first. I'd think this includes things like \"viewport-width\", \"downlink\" and \"save-data\". (We might also want to send other information like, is the device touch-enabled, but that's a separate discussion I think).\n\nFor non-\"document\" loads, serve no CH headers by default and instead let the \"document\" response opt in to which headers should be served for the non-\"document\" requests within that document. See also issue #155.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/156/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/156/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/156/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/156", - "updated_at": "2016-08-19T04:59:35Z", - "user": { - "following_url": "https://api.github.com/users/sicking/following{/other_user}", - "events_url": "https://api.github.com/users/sicking/events{/privacy}", - "organizations_url": "https://api.github.com/users/sicking/orgs", - "url": "https://api.github.com/users/sicking", - "gists_url": "https://api.github.com/users/sicking/gists{/gist_id}", - "html_url": "https://github.com/sicking", - "subscriptions_url": "https://api.github.com/users/sicking/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/1831914?v=4", - "repos_url": "https://api.github.com/users/sicking/repos", - "received_events_url": "https://api.github.com/users/sicking/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/sicking/starred{/owner}{/repo}", - "site_admin": false, - "login": "sicking", - "type": "User", - "id": 1831914, - "followers_url": "https://api.github.com/users/sicking/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/156", - "created_at": "2016-03-11T06:31:23Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 155, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-05-04T15:26:10Z", - "id": 140096510, - "title": "Define `Accept-CH` more precisely", - "comments": 2, - "state": "closed", - "body": "The spec currently says that if a server sends `Accept-CH: DPR`, then the `DPR` header should be added \"to all subsequent requests\".\n\nHowever it is (as far as I can tell) completely undefined what a \"subsequent request\" is. Does it affect only future requests to the server which sent the `Accept-CH` header? If the header is sent with the response during a document load, does it affect all requests coming from that document, no matter which server the request goes to?\n\nGenerally speaking, if a CDN which servers images has to send a `Accept-CH: DPR` header before it will receive any `DPR` headers, that means that the first image will have to be served without DPR information. This seems unfortunate since ideally the first image that a page loads is the most important image.\n\nA better solution is that when a browser loads a \"document\" and receives a `Accept-CH` header in the response, that header would affect all the requests that are made from that document, no matter which server the request is going to. If desired, in the future we could add more complex syntax to `Accept-CH` which enables opting in to certain CH headers only for certain servers and/or only for certain resource types.\n\nWe could also add a header which enables a server to opt in to getting specific CH headers for all future requests to that same server. To for example allow an image server to opt in to certain headers even if the document-serving server has not yet adopted the `Accept-CH` header. But I'm not sure how popular such a solution would be given first-load the problem mentioned above.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/155/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/155/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/155/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/155", - "updated_at": "2016-05-04T15:26:10Z", - "user": { - "following_url": "https://api.github.com/users/sicking/following{/other_user}", - "events_url": "https://api.github.com/users/sicking/events{/privacy}", - "organizations_url": "https://api.github.com/users/sicking/orgs", - "url": "https://api.github.com/users/sicking", - "gists_url": "https://api.github.com/users/sicking/gists{/gist_id}", - "html_url": "https://github.com/sicking", - "subscriptions_url": "https://api.github.com/users/sicking/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/1831914?v=4", - "repos_url": "https://api.github.com/users/sicking/repos", - "received_events_url": "https://api.github.com/users/sicking/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/sicking/starred{/owner}{/repo}", - "site_admin": false, - "login": "sicking", - "type": "User", - "id": 1831914, - "followers_url": "https://api.github.com/users/sicking/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/155", - "created_at": "2016-03-11T05:55:18Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 154, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-03-22T05:04:51Z", - "id": 139424867, - "title": "IANA considerations are a giant list", - "comments": 1, - "state": "closed", - "body": "Which makes this section quite hard to follow.\n\nhttp://httpwg.org/http-extensions/client-hints.html#iana-considerations\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/154/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/154/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/154/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/154", - "updated_at": "2016-03-22T05:04:51Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/154", - "created_at": "2016-03-08T23:26:11Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 153, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-03-22T05:04:17Z", - "id": 139424150, - "title": "Network Information API needs citation", - "comments": 0, - "state": "closed", - "body": "A normative one.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/153/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/153/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/153/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/153", - "updated_at": "2016-03-22T05:04:17Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/153", - "created_at": "2016-03-08T23:23:03Z", - "assignees": [] - }, - { - "labels": [], - "number": 152, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-03-17T00:54:22Z", - "id": 139172791, - "title": "Wrap at 100", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/152", - "diff_url": "https://github.com/httpwg/http-extensions/pull/152.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/152", - "patch_url": "https://github.com/httpwg/http-extensions/pull/152.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/152/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/152/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/152/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/152", - "updated_at": "2016-03-17T00:54:22Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/152", - "created_at": "2016-03-08T03:56:03Z", - "assignees": [] - }, - { - "labels": [], - "number": 151, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-03-11T03:32:37Z", - "id": 139172625, - "title": "Adding `commit` member to JSON", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/151", - "diff_url": "https://github.com/httpwg/http-extensions/pull/151.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/151", - "patch_url": "https://github.com/httpwg/http-extensions/pull/151.patch" - }, - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/151/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/151/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/151/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/151", - "updated_at": "2016-03-11T03:32:47Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/151", - "created_at": "2016-03-08T03:54:26Z", - "assignees": [] - }, - { - "labels": [], - "number": 150, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-03-01T10:23:00Z", - "id": 136298026, - "title": "harmonize boilerplate", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/150", - "diff_url": "https://github.com/httpwg/http-extensions/pull/150.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/150", - "patch_url": "https://github.com/httpwg/http-extensions/pull/150.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/150/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/150/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/150/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/150", - "updated_at": "2016-03-01T10:23:00Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/150", - "created_at": "2016-02-25T06:44:16Z", - "assignees": [] - }, - { - "labels": [], - "number": 149, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-03-01T10:23:11Z", - "id": 136297976, - "title": "harmonize boilerplate", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/149", - "diff_url": "https://github.com/httpwg/http-extensions/pull/149.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/149", - "patch_url": "https://github.com/httpwg/http-extensions/pull/149.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/149/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/149/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/149/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/149", - "updated_at": "2016-03-01T10:23:11Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/149", - "created_at": "2016-02-25T06:43:51Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 148, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-05-10T06:17:40Z", - "id": 135021596, - "title": "Reasonable Assurances and H2C", - "comments": 0, - "state": "closed", - "body": "Brought up in LC, http://www.w3.org/mid/20160209182822.C37A959F@welho-filter2.welho.com.\n1. Examples contain h2c, although this document implies that's not allowed\n2. Examples should clarify that even on the same host, by default we don't allow h2c\n3. Do we need to define \"reasonable assurances\" more tightly, e.g., by requiring something to update this document?\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/148/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/148/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/148/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/148", - "updated_at": "2016-05-10T06:17:40Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/148", - "created_at": "2016-02-20T02:13:18Z", - "assignees": [] - }, - { - "labels": [], - "number": 147, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-02-07T20:56:51Z", - "id": 131961665, - "title": "type the artwork", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/147", - "diff_url": "https://github.com/httpwg/http-extensions/pull/147.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/147", - "patch_url": "https://github.com/httpwg/http-extensions/pull/147.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/147/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/147/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/147/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/147", - "updated_at": "2016-02-07T20:56:51Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/147", - "created_at": "2016-02-07T12:01:47Z", - "assignees": [] - }, - { - "labels": [], - "number": 146, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-02-07T00:03:20Z", - "id": 131841715, - "title": "type the artwork", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/146", - "diff_url": "https://github.com/httpwg/http-extensions/pull/146.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/146", - "patch_url": "https://github.com/httpwg/http-extensions/pull/146.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/146/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/146/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/146/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/146", - "updated_at": "2016-02-07T00:03:20Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/146", - "created_at": "2016-02-06T10:15:19Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 145, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-03-17T01:06:50Z", - "id": 131808028, - "title": "Requiring Use of TLS", - "comments": 1, - "state": "closed", - "body": "[Section 5](https://httpwg.github.io/http-extensions/encryption.html#http-tls) roughly sketches the `HTTP-TLS` header. \n\nWe need to decide if this should be included (is it implemented?).\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/145/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/145/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/145/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/145", - "updated_at": "2016-03-17T01:06:50Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/145", - "created_at": "2016-02-06T02:03:31Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 144, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-03-17T01:06:28Z", - "id": 131807970, - "title": "Attacks from same host", - "comments": 1, - "state": "closed", - "body": "When an attacker has the ability to:\n\n1) inject a HTTP header in any response from an origin\n2) listen to a port on the same host\n\nthey can effectively hijack the origin, for browsers that implement OppSec.\n\nE.g., someone on a shared Web host that also offers shell access.\n\nPreviously, Alt-Svc used the port number as a way to mitigate this; however, in #139 we dropped that, because on many systems this is no longer a meaningful way to segment privileged applications. \n\nIn discussion, it was suggested that the origin should opt into OppSec explicitly, e.g., with a `.well-known` file. \n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/144/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/144/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/144/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/144", - "updated_at": "2016-03-17T01:06:28Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/144", - "created_at": "2016-02-06T02:02:11Z", - "assignees": [] - }, - { - "labels": [], - "number": 143, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-02-06T01:34:32Z", - "id": 131759828, - "title": "type the artwork", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/143", - "diff_url": "https://github.com/httpwg/http-extensions/pull/143.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/143", - "patch_url": "https://github.com/httpwg/http-extensions/pull/143.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/143/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/143/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/143/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/143", - "updated_at": "2016-02-06T01:34:32Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/143", - "created_at": "2016-02-05T21:31:29Z", - "assignees": [] - }, - { - "labels": [], - "number": 142, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-02-04T23:31:53Z", - "id": 131378446, - "title": "type the artwork", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/142", - "diff_url": "https://github.com/httpwg/http-extensions/pull/142.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/142", - "patch_url": "https://github.com/httpwg/http-extensions/pull/142.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/142/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/142/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/142/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/142", - "updated_at": "2016-02-04T23:31:53Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/142", - "created_at": "2016-02-04T15:14:48Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - } - ], - "number": 141, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-05-04T15:20:10Z", - "id": 131202383, - "title": "Should CH headers be treated as simple headers?", - "comments": 5, - "state": "closed", - "body": "Migrating https://github.com/igrigorik/http-client-hints/issues/68. A quick summary:\n1. CH headers should be seen by ServiceWorker\n2. CH headers should not trigger CORS preflight if...\n 1. Set by the UA and not modified by the developer? \n 2. Set by the UA _or_ the developer? That is, treat them as [simple headers](https://fetch.spec.whatwg.org/#simple-header).\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/141/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/141/labels{/name}", - "author_association": "MEMBER", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/141/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/141", - "updated_at": "2016-05-04T15:20:11Z", - "user": { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/141", - "created_at": "2016-02-04T00:44:27Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/client-hints", - "color": "fbca04", - "default": false, - "id": 290789441, - "name": "client-hints" - } - ], - "number": 140, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-03-22T00:34:59Z", - "id": 131200969, - "title": "\"Original-Content-Length\" to indicate data savings", - "comments": 3, - "state": "closed", - "body": "This is not CH specific but the desire for such thing has come up a few times...\n1. Client advertises some content/quality/etc preference to the server (e.g. `Save-Data`)\n2. Server responds with an alternate response based on advertised preference (e.g. a \"light\" version of the page, an image with higher compression ratio, etc). \n - In addition to the `Content-Length` of the response, the server wants to advertise the \"Original content length\" of the response that would have been provided if the preference was not there.\n\nIn the context of `Save-Data` this is to enable user-reporting for amount of bytes saved - e.g. since you've enabled this mode, the browser fetched 100MB, which is 40% less than if you had this disabled.\n\nPopular proxies (e.g. Chrome's Data Saver) already do this via `X-Original-Content-Length`: the proxy reports the content length of before and after applying its optimization. Other popular proxy implementations offer similar functionality (Opera, Yandex, etc). It would be nice to have a standard way to do this, and to enable origins to report this as well. \n\nRelated discussions: \n- https://github.com/igrigorik/http-client-hints/pull/42\n- https://groups.google.com/a/chromium.org/forum/#!searchin/blink-dev/alternate/blink-dev/lj7wSXPBPWE/fE5UGl_2y1QJ\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/140/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/140/labels{/name}", - "author_association": "MEMBER", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/140/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/140", - "updated_at": "2016-03-22T00:34:59Z", - "user": { - "following_url": "https://api.github.com/users/igrigorik/following{/other_user}", - "events_url": "https://api.github.com/users/igrigorik/events{/privacy}", - "organizations_url": "https://api.github.com/users/igrigorik/orgs", - "url": "https://api.github.com/users/igrigorik", - "gists_url": "https://api.github.com/users/igrigorik/gists{/gist_id}", - "html_url": "https://github.com/igrigorik", - "subscriptions_url": "https://api.github.com/users/igrigorik/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/10652?v=4", - "repos_url": "https://api.github.com/users/igrigorik/repos", - "received_events_url": "https://api.github.com/users/igrigorik/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/igrigorik/starred{/owner}{/repo}", - "site_admin": false, - "login": "igrigorik", - "type": "User", - "id": 10652, - "followers_url": "https://api.github.com/users/igrigorik/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/140", - "created_at": "2016-02-04T00:33:52Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 139, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-02-04T07:12:41Z", - "id": 131019094, - "title": "security considerations wrt system ports", - "comments": 1, - "state": "closed", - "body": "From https://lists.w3.org/Archives/Public/ietf-http-wg/2015OctDec/0539.html:\n\n-- Section 9.1 --\nThe third paragraph assumes that system ports are inherently more secure\nthan user ports, and, as discussion during the development of RFC 6335\nraised, that hasn't been the case for some time. Many systems no longer\nmake a distinction, and no longet require root authority to listen on\nsystem ports.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/139/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/139/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/139/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/139", - "updated_at": "2016-02-04T07:12:41Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/139", - "created_at": "2016-02-03T13:05:12Z", - "assignees": [] - }, - { - "labels": [], - "number": 138, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-04-04T16:17:12Z", - "id": 129626275, - "title": "Documenting Refresh: HTTP header", - "comments": 11, - "state": "closed", - "body": "Maybe @reschke \n\nIn [RFC7538](http://tools.ietf.org/html/rfc7538#section-4) there is a mention of `meta refresh` in HTML. I have seen instances online of a `Refresh` HTTP header. I haven't found any documentation about it in the past (or maybe I missed the appropriate RFC). I [met the header again yesterday](https://bugzilla.mozilla.org/show_bug.cgi?id=668275#c52) in an instance of gmail Web site.\n\nWhen requesting\n`\u2192 http --print hH https://mail.google.com/ 'User-Agent:Mozilla/5.0 (Android 4.4.4; Mobile; rv:44.0) Gecko/44.0 Firefox/44.0' 'Accept-Language:en-US,en;q=0.5'`\n\n``` http\nHTTP/1.1 200 OK\nAlt-Svc: quic=\":443\"; ma=604800; v=\"30,29,28,27,26,25\"\nAlternate-Protocol: 443:quic,p=1\nCache-Control: private, max-age=604800\nContent-Length: 306\nContent-Type: application/xhtml+xml; charset=ISO-8859-1\nDate: Thu, 28 Jan 2016 00:57:39 GMT\nExpires: Thu, 28 Jan 2016 00:57:39 GMT\nRefresh: 0;URL=https://mail.google.com/mail/\nServer: GSE\nX-Content-Type-Options: nosniff\nX-Frame-Options: SAMEORIGIN\nX-XSS-Protection: 1; mode=block\n```\n\nYou might not be able to reproduce gmail has tons of versions depending on the location, devices, headers, etc.\n\nI have started to [test a bit and write about it last year](http://www.otsukare.info/2015/03/26/refresh-http-header). It seems implemented uniformly, but that would require a bit more test. \n\nWhat would be the best course of actions for documenting it? Maybe I can give it a shot. \n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/138/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/138/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/138/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/138", - "updated_at": "2016-04-04T16:34:02Z", - "user": { - "following_url": "https://api.github.com/users/karlcow/following{/other_user}", - "events_url": "https://api.github.com/users/karlcow/events{/privacy}", - "organizations_url": "https://api.github.com/users/karlcow/orgs", - "url": "https://api.github.com/users/karlcow", - "gists_url": "https://api.github.com/users/karlcow/gists{/gist_id}", - "html_url": "https://github.com/karlcow", - "subscriptions_url": "https://api.github.com/users/karlcow/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/505230?v=4", - "repos_url": "https://api.github.com/users/karlcow/repos", - "received_events_url": "https://api.github.com/users/karlcow/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/karlcow/starred{/owner}{/repo}", - "site_admin": false, - "login": "karlcow", - "type": "User", - "id": 505230, - "followers_url": "https://api.github.com/users/karlcow/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/138", - "created_at": "2016-01-29T00:25:15Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/encryption", - "color": "fbca04", - "default": false, - "id": 302951285, - "name": "encryption" - } - ], - "number": 137, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-02-14T03:58:15Z", - "id": 129478089, - "title": "Rename aesgcm128 to aesgcm to provide an update path", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/137", - "diff_url": "https://github.com/httpwg/http-extensions/pull/137.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/137", - "patch_url": "https://github.com/httpwg/http-extensions/pull/137.patch" - }, - "comments": 3, - "state": "closed", - "body": "In order to allow existing applications to update from one octet of\npadding per record to two (PR #136, Issue #135), this PR renames\n\"aesgcm128\" to \"aesgcm\" as the value for the Content-Encoding header,\nas well as the parameter name in the Crypto-Key header.\n\nThis also affects the context used for deriving the nonce and the\ncontent encryption key. Examples have been updated.\n\nWhat I did not update is the JWE mapping (currently \"A128GCM\"). Do\nwe wish to change that to \"AGCM\", which may be less descriptive?\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/137/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/137/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/137/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/137", - "updated_at": "2016-02-14T03:59:09Z", - "user": { - "following_url": "https://api.github.com/users/beverloo/following{/other_user}", - "events_url": "https://api.github.com/users/beverloo/events{/privacy}", - "organizations_url": "https://api.github.com/users/beverloo/orgs", - "url": "https://api.github.com/users/beverloo", - "gists_url": "https://api.github.com/users/beverloo/gists{/gist_id}", - "html_url": "https://github.com/beverloo", - "subscriptions_url": "https://api.github.com/users/beverloo/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/418835?v=4", - "repos_url": "https://api.github.com/users/beverloo/repos", - "received_events_url": "https://api.github.com/users/beverloo/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/beverloo/starred{/owner}{/repo}", - "site_admin": false, - "login": "beverloo", - "type": "User", - "id": 418835, - "followers_url": "https://api.github.com/users/beverloo/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/137", - "created_at": "2016-01-28T15:05:38Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/encryption", - "color": "fbca04", - "default": false, - "id": 302951285, - "name": "encryption" - } - ], - "number": 136, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-02-14T03:57:58Z", - "id": 129438584, - "title": "Use two octets to indicate record padding length in httpbis-encryption-encoding", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/136", - "diff_url": "https://github.com/httpwg/http-extensions/pull/136.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/136", - "patch_url": "https://github.com/httpwg/http-extensions/pull/136.patch" - }, - "comments": 1, - "state": "closed", - "body": "This is a proposal to address issue #135\n\n/cc @martinthomson \n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/136/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/136/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/136/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/136", - "updated_at": "2016-02-14T03:57:58Z", - "user": { - "following_url": "https://api.github.com/users/beverloo/following{/other_user}", - "events_url": "https://api.github.com/users/beverloo/events{/privacy}", - "organizations_url": "https://api.github.com/users/beverloo/orgs", - "url": "https://api.github.com/users/beverloo", - "gists_url": "https://api.github.com/users/beverloo/gists{/gist_id}", - "html_url": "https://github.com/beverloo", - "subscriptions_url": "https://api.github.com/users/beverloo/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/418835?v=4", - "repos_url": "https://api.github.com/users/beverloo/repos", - "received_events_url": "https://api.github.com/users/beverloo/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/beverloo/starred{/owner}{/repo}", - "site_admin": false, - "login": "beverloo", - "type": "User", - "id": 418835, - "followers_url": "https://api.github.com/users/beverloo/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/136", - "created_at": "2016-01-28T12:33:54Z", - "assignees": [] - } - ], - [ - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/encryption", - "color": "fbca04", - "default": false, - "id": 302951285, - "name": "encryption" - } - ], - "number": 135, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-04-04T19:22:44Z", - "id": 129438375, - "title": "encryption-encoding: use two octets to indicate record padding length", - "comments": 1, - "state": "closed", - "body": "Each record currently includes between 1 and 256 octets of padding, while the default record size is set to 4096 octets. This is in many cases not sufficient, for example in the pad-to-next-power-of-two case.\n\nExtending the padding length to two octets will allow up to 65537 octets (65KB) of padding.\n\nI raised this on the ietf-http-wg list here:\n https://lists.w3.org/Archives/Public/ietf-http-wg/2016JanMar/0171.html\n\nMartin [raises a good point](https://lists.w3.org/Archives/Public/ietf-http-wg/2016JanMar/0175.html) about an upgrade path for existing users. I'll reply on the mailing list to not split the discussion. \n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/135/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/135/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/135/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/135", - "updated_at": "2016-04-04T19:22:44Z", - "user": { - "following_url": "https://api.github.com/users/beverloo/following{/other_user}", - "events_url": "https://api.github.com/users/beverloo/events{/privacy}", - "organizations_url": "https://api.github.com/users/beverloo/orgs", - "url": "https://api.github.com/users/beverloo", - "gists_url": "https://api.github.com/users/beverloo/gists{/gist_id}", - "html_url": "https://github.com/beverloo", - "subscriptions_url": "https://api.github.com/users/beverloo/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/418835?v=4", - "repos_url": "https://api.github.com/users/beverloo/repos", - "received_events_url": "https://api.github.com/users/beverloo/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/beverloo/starred{/owner}{/repo}", - "site_admin": false, - "login": "beverloo", - "type": "User", - "id": 418835, - "followers_url": "https://api.github.com/users/beverloo/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/135", - "created_at": "2016-01-28T12:32:58Z", - "assignees": [] - }, - { - "labels": [], - "number": 134, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-02-04T00:45:18Z", - "id": 127833138, - "title": "Altsvc samehost", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/134", - "diff_url": "https://github.com/httpwg/http-extensions/pull/134.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/134", - "patch_url": "https://github.com/httpwg/http-extensions/pull/134.patch" - }, - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/134/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/134/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/134/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/134", - "updated_at": "2016-02-04T00:45:22Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/134", - "created_at": "2016-01-21T02:46:55Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/encryption", - "color": "fbca04", - "default": false, - "id": 302951285, - "name": "encryption" - } - ], - "number": 133, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-03T03:59:19Z", - "id": 126771978, - "title": "Crypto", - "comments": 2, - "state": "closed", - "body": "Get advice from CFRG on crypto choices.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/133/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/133/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/133/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/133", - "updated_at": "2016-06-03T03:59:19Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/133", - "created_at": "2016-01-14T23:24:24Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/encryption", - "color": "fbca04", - "default": false, - "id": 302951285, - "name": "encryption" - } - ], - "number": 132, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-06-02T07:33:54Z", - "id": 126769713, - "title": "Use Cases", - "comments": 1, - "state": "closed", - "body": "Feedback from @hadleybeeman during TAG discussion: it would be great if use cases were explored a bit in this document, because \"encrypted content\" covers a lot of ground.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/132/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/132/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/132/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/132", - "updated_at": "2016-06-02T07:33:54Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/132", - "created_at": "2016-01-14T23:09:58Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - } - ], - "number": 131, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-01-05T18:42:50Z", - "id": 125021564, - "title": "use RFC 7405 ABNF extension", - "comments": 0, - "state": "closed", - "body": "Barry in https://lists.w3.org/Archives/Public/ietf-http-wg/2015OctDec/0539.html:\n\n\"Please consider using RFC 7405 for the ABNF for \"clear\".\"\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/131/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/131/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/131/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/131", - "updated_at": "2016-01-05T18:42:50Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/131", - "created_at": "2016-01-05T18:15:46Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - } - ], - "number": 130, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-02-03T13:06:13Z", - "id": 124469345, - "title": "Alt-Svc AD Review Feedback", - "comments": 1, - "state": "closed", - "body": "See https://lists.w3.org/Archives/Public/ietf-http-wg/2015OctDec/0539.html\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/130/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/130/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/130/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/130", - "updated_at": "2016-02-03T13:06:13Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/130", - "created_at": "2015-12-31T13:06:32Z", - "assignees": [] - }, - { - "labels": [], - "number": 129, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-12-30T00:19:52Z", - "id": 123761128, - "title": "Initial draft of doc shepherd write-up", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/129", - "diff_url": "https://github.com/httpwg/http-extensions/pull/129.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/129", - "patch_url": "https://github.com/httpwg/http-extensions/pull/129.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/129/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/129/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/129/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/129", - "updated_at": "2015-12-30T00:19:52Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/129", - "created_at": "2015-12-24T05:44:44Z", - "assignees": [] - }, - { - "labels": [], - "number": 128, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-12-30T05:47:03Z", - "id": 123605796, - "title": "Merge encryption", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/128", - "diff_url": "https://github.com/httpwg/http-extensions/pull/128.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/128", - "patch_url": "https://github.com/httpwg/http-extensions/pull/128.patch" - }, - "comments": 0, - "state": "closed", - "body": "Need to check that this is OK first.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/128/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/128/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/128/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/128", - "updated_at": "2015-12-30T05:47:03Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/128", - "created_at": "2015-12-23T05:52:13Z", - "assignees": [] - }, - { - "labels": [], - "number": 127, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-12-23T06:36:13Z", - "id": 123539467, - "title": "Remove extraneous comma", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/127", - "diff_url": "https://github.com/httpwg/http-extensions/pull/127.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/127", - "patch_url": "https://github.com/httpwg/http-extensions/pull/127.patch" - }, - "comments": 0, - "state": "closed", - "body": "Even a pull request feels heavy-weight for this....\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/127/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/127/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/127/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/127", - "updated_at": "2015-12-23T06:36:13Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/127", - "created_at": "2015-12-22T19:11:36Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 126, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-12-14T08:11:18Z", - "id": 121930648, - "title": "clarify invalidation rules wrt altsvc frame", - "comments": 0, - "state": "closed", - "body": "From @hruellan in https://lists.w3.org/Archives/Public/ietf-http-wg/2015OctDec/0375.html:\n\nSection 3.1 defines the rule for invalidation. However, in my sense it \nis not crystal clear that it applies also to alternatives discovered \nthrough the ALTSVC frame.\nI'd suggest adding that the ALTSVC frame is just another way of \ntransmitting an Alt-SVC header field, and therefore all the rules \napplying to the header field also apply to the frame.\nWe may want to go a step further and say the rules defined for the \nAlt-SVC header field apply to any other possibility of discovering \nalternative services (including those not supported).\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/126/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/126/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/126/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/126", - "updated_at": "2015-12-14T08:11:18Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/126", - "created_at": "2015-12-13T16:58:18Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 125, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-12-13T17:18:39Z", - "id": 121930473, - "title": "alternative of alternatives vs invalidation", - "comments": 0, - "state": "closed", - "body": "From @hruellan in https://lists.w3.org/Archives/Public/ietf-http-wg/2015OctDec/0375.html:\n\nIn 2.4, the third paragraphs says that a client can become aware of \nmultiple alternative services, citing: \"or, an alternative service might \nitself advertise an alternative\".\n\nHowever, due to the invalidation rule, if an alternative service \nadvertise an alternative, this new alternative invalidates the previous \nlist of alternatives.\nSo if you have Origin -> alt1 -> alt2, then you keep only alt2 and don't \nhave a list.\nI therefore propose to remove the \"or, an alternative service might \nitself advertise an alternative\".\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/125/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/125/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/125/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/125", - "updated_at": "2015-12-13T17:18:39Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/125", - "created_at": "2015-12-13T16:53:25Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - } - ], - "number": 124, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-12-30T00:20:15Z", - "id": 120443896, - "title": "AltSvc WGLC Comments", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/124", - "diff_url": "https://github.com/httpwg/http-extensions/pull/124.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/124", - "patch_url": "https://github.com/httpwg/http-extensions/pull/124.patch" - }, - "comments": 0, - "state": "closed", - "body": "Various editorial proposal for AltSVC\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/124/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/124/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/124/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/124", - "updated_at": "2015-12-30T00:20:15Z", - "user": { - "following_url": "https://api.github.com/users/hruellan/following{/other_user}", - "events_url": "https://api.github.com/users/hruellan/events{/privacy}", - "organizations_url": "https://api.github.com/users/hruellan/orgs", - "url": "https://api.github.com/users/hruellan", - "gists_url": "https://api.github.com/users/hruellan/gists{/gist_id}", - "html_url": "https://github.com/hruellan", - "subscriptions_url": "https://api.github.com/users/hruellan/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/3206601?v=4", - "repos_url": "https://api.github.com/users/hruellan/repos", - "received_events_url": "https://api.github.com/users/hruellan/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/hruellan/starred{/owner}{/repo}", - "site_admin": false, - "login": "hruellan", - "type": "User", - "id": 3206601, - "followers_url": "https://api.github.com/users/hruellan/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/124", - "created_at": "2015-12-04T17:03:48Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 123, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-12-02T07:42:50Z", - "id": 119772651, - "title": "alt-svc: Question about parameters", - "comments": 2, - "state": "closed", - "body": "The Internet Draft specifies a syntax for parameters (Section 3), and an IANA registry to manage their name space (Section 7.3), but doesn't prescribe what parameters should be used for, except for the following fleeting reference:\n\n> ## 7.3. Alt-Svc Parameter Registry\n> \n> The HTTP Alt-Svc Parameter Registry defines the name space for the cache directives. ...\n\nIs the intention that parameters should only be used as cache directives, as implied by the above sentence? The two parameters specified in the Draft (\"ma\" and \"persist\") are certainly of that flavour. Or is the intention that parameters could be used for other purposes as well?\n\nIf the latter, perhaps the language in section 7.3 could be softened, e.g.\n\n> The HTTP Alt-Svc Parameter Registry defines the name space for parameter names. ...\n\nThe text at Section 3 currently launches into the following with no preamble:\n\n> # 3. The Alt-Svc HTTP Header Field\n> \n> ...\n> This specification defines two parameters: \"ma\" and \"persist\", defined in Section 3.1. Unknown parameters MUST be ignored, that is the values (alt-value) they appear in MUST be processed as if the unknown parameter was not present.\n> New parameters can be defined in extension specifications (see Section 7.3 for registration details).\n> ...\n\nHow about inserting a sentence along the following lines:\n\n> Each \"alt-value\" MAY be followed by a semicolon-separated list of additional parameters, each such \"parameter\" comprising a name and a value. This specification defines two parameters...\n\nOr, if you want to constrain the use of parameters in any way, you could do that here.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/123/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/123/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/123/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/123", - "updated_at": "2015-12-02T11:28:55Z", - "user": { - "following_url": "https://api.github.com/users/rjb1000/following{/other_user}", - "events_url": "https://api.github.com/users/rjb1000/events{/privacy}", - "organizations_url": "https://api.github.com/users/rjb1000/orgs", - "url": "https://api.github.com/users/rjb1000", - "gists_url": "https://api.github.com/users/rjb1000/gists{/gist_id}", - "html_url": "https://github.com/rjb1000", - "subscriptions_url": "https://api.github.com/users/rjb1000/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/9865771?v=4", - "repos_url": "https://api.github.com/users/rjb1000/repos", - "received_events_url": "https://api.github.com/users/rjb1000/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/rjb1000/starred{/owner}{/repo}", - "site_admin": false, - "login": "rjb1000", - "type": "User", - "id": 9865771, - "followers_url": "https://api.github.com/users/rjb1000/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/123", - "created_at": "2015-12-01T17:55:15Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 122, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-22T13:44:16Z", - "id": 118006180, - "title": "alt-svc: use of \"Alt-Svc header field\" term before it has been introduced", - "comments": 0, - "state": "closed", - "body": "[Section 2.2](https://httpwg.github.io/http-extensions/alt-svc.html#caching) \n\n> Mechanisms for discovering alternative services also associate a freshness lifetime with them; for example, the Alt-Svc header field uses the \"ma\" parameter. \n\nThe term `Alt-Svc header field` has not been introduced at this stage. It is indicated in Section 2 `This document describes two such mechanisms: an HTTP header field...`, however it may help to name it explicitly there, or somewhere before Section 2.2.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/122/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/122/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/122/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/122", - "updated_at": "2015-11-22T13:44:16Z", - "user": { - "following_url": "https://api.github.com/users/LPardue/following{/other_user}", - "events_url": "https://api.github.com/users/LPardue/events{/privacy}", - "organizations_url": "https://api.github.com/users/LPardue/orgs", - "url": "https://api.github.com/users/LPardue", - "gists_url": "https://api.github.com/users/LPardue/gists{/gist_id}", - "html_url": "https://github.com/LPardue", - "subscriptions_url": "https://api.github.com/users/LPardue/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/6571445?v=4", - "repos_url": "https://api.github.com/users/LPardue/repos", - "received_events_url": "https://api.github.com/users/LPardue/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/LPardue/starred{/owner}{/repo}", - "site_admin": false, - "login": "LPardue", - "type": "User", - "id": 6571445, - "followers_url": "https://api.github.com/users/LPardue/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/122", - "created_at": "2015-11-20T09:59:09Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 121, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-12-07T07:07:42Z", - "id": 118003417, - "title": "alt-svc: Alt-Used security discussion", - "comments": 2, - "state": "closed", - "body": "[Section 5](https://httpwg.github.io/http-extensions/alt-svc.html#indicator) foreshadows a discussion about privacy \n\n> As the Alt-Used header field might be used by the server for tracking the client, a client MAY choose not to include it in its requests for protecting its privacy (see Section 9.4). \n\nHowever, Section 9.4 doesn't contain any mention of Alt-Used. Maybe all the information contained in the document is enough but this just struck me as a little odd.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/121/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/121/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/121/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/121", - "updated_at": "2015-12-07T07:07:42Z", - "user": { - "following_url": "https://api.github.com/users/LPardue/following{/other_user}", - "events_url": "https://api.github.com/users/LPardue/events{/privacy}", - "organizations_url": "https://api.github.com/users/LPardue/orgs", - "url": "https://api.github.com/users/LPardue", - "gists_url": "https://api.github.com/users/LPardue/gists{/gist_id}", - "html_url": "https://github.com/LPardue", - "subscriptions_url": "https://api.github.com/users/LPardue/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/6571445?v=4", - "repos_url": "https://api.github.com/users/LPardue/repos", - "received_events_url": "https://api.github.com/users/LPardue/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/LPardue/starred{/owner}{/repo}", - "site_admin": false, - "login": "LPardue", - "type": "User", - "id": 6571445, - "followers_url": "https://api.github.com/users/LPardue/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/121", - "created_at": "2015-11-20T09:47:06Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 120, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-21T08:43:32Z", - "id": 118001571, - "title": "alt-svc: section 5 \"a Alt-Used\"", - "comments": 0, - "state": "closed", - "body": "[Section 5](https://httpwg.github.io/http-extensions/alt-svc.html#indicator) \n\n> When using an alternative service, clients SHOULD include a Alt-Used header field in all requests. \n\nShould be `an Alt-Used`?\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/120/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/120/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/120/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/120", - "updated_at": "2015-11-21T08:43:32Z", - "user": { - "following_url": "https://api.github.com/users/LPardue/following{/other_user}", - "events_url": "https://api.github.com/users/LPardue/events{/privacy}", - "organizations_url": "https://api.github.com/users/LPardue/orgs", - "url": "https://api.github.com/users/LPardue", - "gists_url": "https://api.github.com/users/LPardue/gists{/gist_id}", - "html_url": "https://github.com/LPardue", - "subscriptions_url": "https://api.github.com/users/LPardue/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/6571445?v=4", - "repos_url": "https://api.github.com/users/LPardue/repos", - "received_events_url": "https://api.github.com/users/LPardue/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/LPardue/starred{/owner}{/repo}", - "site_admin": false, - "login": "LPardue", - "type": "User", - "id": 6571445, - "followers_url": "https://api.github.com/users/LPardue/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/120", - "created_at": "2015-11-20T09:36:12Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 119, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-22T20:35:27Z", - "id": 118000955, - "title": "alt-svc: use of \"alternative-protocol\" term", - "comments": 1, - "state": "closed", - "body": "https://httpwg.github.io/http-extensions/alt-svc.html#alternative\n\n> Each origin maps to a set of these routes \u2014 the default route is derived from the origin itself and the other routes are introduced based on alternative-protocol information. \n\nThis looks like it may be a remnant from Alternate-Protocol. [Section 2.4](https://httpwg.github.io/http-extensions/alt-svc.html#switching) uses the phrase `alternative service protocol`, which seems a little clearer.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/119/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/119/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/119/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/119", - "updated_at": "2015-11-22T20:35:27Z", - "user": { - "following_url": "https://api.github.com/users/LPardue/following{/other_user}", - "events_url": "https://api.github.com/users/LPardue/events{/privacy}", - "organizations_url": "https://api.github.com/users/LPardue/orgs", - "url": "https://api.github.com/users/LPardue", - "gists_url": "https://api.github.com/users/LPardue/gists{/gist_id}", - "html_url": "https://github.com/LPardue", - "subscriptions_url": "https://api.github.com/users/LPardue/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/6571445?v=4", - "repos_url": "https://api.github.com/users/LPardue/repos", - "received_events_url": "https://api.github.com/users/LPardue/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/LPardue/starred{/owner}{/repo}", - "site_admin": false, - "login": "LPardue", - "type": "User", - "id": 6571445, - "followers_url": "https://api.github.com/users/LPardue/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/119", - "created_at": "2015-11-20T09:32:37Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 118, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-22T15:24:57Z", - "id": 117999408, - "title": "alt-svc: consistency of alternative service(s) terminology and capitalisation", - "comments": 1, - "state": "closed", - "body": "The document uses terminology such as \"Alternative Services\", \"alternative services\" and \"alternative service\". There seems to be a distinction between terms (albeit minor) based on the capitilisation and pluralisation but this is not completely clear to me.\n\nFor example:\n\nhttps://httpwg.github.io/http-extensions/alt-svc.html#rfc.abstract\n\n> This document specifies \"alternative services\" for HTTP,\n\nand https://httpwg.github.io/http-extensions/alt-svc.html#introduction\n\n> This specification defines a new concept in HTTP, \"Alternative Services\"\n\nand https://httpwg.github.io/http-extensions/alt-svc.html#alternative\n\n> This specification defines a new concept in HTTP, the \"alternative service\".\n\nThe capilisation elsewhere looks ok based on context (titles, start of sentence) but perhaps that is leading to my uncertainty in the first place.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/118/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/118/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/118/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/118", - "updated_at": "2015-11-22T15:24:57Z", - "user": { - "following_url": "https://api.github.com/users/LPardue/following{/other_user}", - "events_url": "https://api.github.com/users/LPardue/events{/privacy}", - "organizations_url": "https://api.github.com/users/LPardue/orgs", - "url": "https://api.github.com/users/LPardue", - "gists_url": "https://api.github.com/users/LPardue/gists{/gist_id}", - "html_url": "https://github.com/LPardue", - "subscriptions_url": "https://api.github.com/users/LPardue/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/6571445?v=4", - "repos_url": "https://api.github.com/users/LPardue/repos", - "received_events_url": "https://api.github.com/users/LPardue/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/LPardue/starred{/owner}{/repo}", - "site_admin": false, - "login": "LPardue", - "type": "User", - "id": 6571445, - "followers_url": "https://api.github.com/users/LPardue/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/118", - "created_at": "2015-11-20T09:23:36Z", - "assignees": [] - }, - { - "labels": [], - "number": 117, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-09T17:15:39Z", - "id": 115915129, - "title": "Typo in alt-svc caching example", - "comments": 1, - "state": "closed", - "body": "https://tools.ietf.org/html/draft-ietf-httpbis-alt-svc-08#section-3.1\n\n```\nFor example, a response:\n\n HTTP/1.1 200 OK\n Content-Type: text/html\n Cache-Control: 600\n Age: 30\n Alt-Svc: h2c=\":8000\"; ma=60\n```\n\nMissing `max-age=` in `Cache-Control` header?\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/117/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/117/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/117/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/117", - "updated_at": "2015-11-09T17:15:39Z", - "user": { - "following_url": "https://api.github.com/users/rjb1000/following{/other_user}", - "events_url": "https://api.github.com/users/rjb1000/events{/privacy}", - "organizations_url": "https://api.github.com/users/rjb1000/orgs", - "url": "https://api.github.com/users/rjb1000", - "gists_url": "https://api.github.com/users/rjb1000/gists{/gist_id}", - "html_url": "https://github.com/rjb1000", - "subscriptions_url": "https://api.github.com/users/rjb1000/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/9865771?v=4", - "repos_url": "https://api.github.com/users/rjb1000/repos", - "received_events_url": "https://api.github.com/users/rjb1000/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/rjb1000/starred{/owner}{/repo}", - "site_admin": false, - "login": "rjb1000", - "type": "User", - "id": 9865771, - "followers_url": "https://api.github.com/users/rjb1000/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/117", - "created_at": "2015-11-09T16:39:01Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/5987bis", - "color": "fbca04", - "default": false, - "id": 267140103, - "name": "5987bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 116, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-09-02T16:35:51Z", - "id": 115667935, - "title": "update usage guidelines to current best practices", - "comments": 1, - "state": "closed", - "body": "In \"Guidelines for Usage in HTTP Header Field Definitions\":\n- use HTTPbis whitespace definitions\n- use HTTPbis header field ABNF conventions\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/116/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/116/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/116/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/116", - "updated_at": "2016-09-02T16:35:51Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/116", - "created_at": "2015-11-07T13:49:30Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/5987bis", - "color": "fbca04", - "default": false, - "id": 267140103, - "name": "5987bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 115, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-09-02T16:35:28Z", - "id": 115667834, - "title": "remove RFC 2616 dependencies", - "comments": 1, - "state": "closed", - "body": "The specification still refers to RFC 2616 when extending that spec's \"parameter\" production. This needs to be updated, in particular as there isn't really a generic \"parameter\" ABNF specs can rely on in HTTP.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/115/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/115/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/115/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/115", - "updated_at": "2016-09-02T16:35:28Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/115", - "created_at": "2015-11-07T13:47:16Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/cice", - "color": "fbca04", - "default": false, - "id": 198571578, - "name": "cice" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 114, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-04T07:30:48Z", - "id": 114555379, - "title": "Editorial AUTH48 changes for draft-ietf-httpbis-cice", - "comments": 1, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/114/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/114/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/114/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/114", - "updated_at": "2015-11-04T07:30:48Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/114", - "created_at": "2015-11-02T09:20:11Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 113, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-11T04:48:40Z", - "id": 112537341, - "title": "[Key] typo in first div example", - "comments": 0, - "state": "closed", - "body": "http://tools.ietf.org/html/draft-ietf-httpbis-key-00#section-2.3.1\n2.3.1. div first example\n...(because, divided by 5, they all result in 1)...\nI think they all result in 0.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/113/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/113/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/113/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/113", - "updated_at": "2015-11-11T04:48:40Z", - "user": { - "following_url": "https://api.github.com/users/waldbaerkoch/following{/other_user}", - "events_url": "https://api.github.com/users/waldbaerkoch/events{/privacy}", - "organizations_url": "https://api.github.com/users/waldbaerkoch/orgs", - "url": "https://api.github.com/users/waldbaerkoch", - "gists_url": "https://api.github.com/users/waldbaerkoch/gists{/gist_id}", - "html_url": "https://github.com/waldbaerkoch", - "subscriptions_url": "https://api.github.com/users/waldbaerkoch/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/3583116?v=4", - "repos_url": "https://api.github.com/users/waldbaerkoch/repos", - "received_events_url": "https://api.github.com/users/waldbaerkoch/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/waldbaerkoch/starred{/owner}{/repo}", - "site_admin": false, - "login": "waldbaerkoch", - "type": "User", - "id": 3583116, - "followers_url": "https://api.github.com/users/waldbaerkoch/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/113", - "created_at": "2015-10-21T08:38:02Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 112, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-11T04:48:40Z", - "id": 112073839, - "title": "Typo in escaping discussion", - "comments": 0, - "state": "closed", - "body": "See:\n https://github.com/mnot/I-D/issues/138\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/112/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/112/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/112/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/112", - "updated_at": "2015-11-11T04:48:40Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/112", - "created_at": "2015-10-19T05:20:03Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 111, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-11T06:34:10Z", - "id": 112073754, - "title": "Splitting on ','", - "comments": 2, - "state": "closed", - "body": "See:\n https://github.com/mnot/I-D/issues/137\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/111/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/111/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/111/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/111", - "updated_at": "2015-11-11T06:34:10Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/111", - "created_at": "2015-10-19T05:19:16Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 110, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-11T04:19:35Z", - "id": 112073660, - "title": "List Styles", - "comments": 1, - "state": "closed", - "body": "from https://github.com/mnot/I-D/issues/135 :\n\nRoy points out that the lists look like section headers; should update when close to RFC editor.\n\nSee:\nhttps://www.rfc-editor.org/rfc-editor/xml2rfcFAQ.html#q_fancy_lists\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/110/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/110/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/110/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/110", - "updated_at": "2015-11-11T04:19:35Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/110", - "created_at": "2015-10-19T05:18:48Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 109, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 112073530, - "title": "Generational Constant", - "comments": 1, - "state": "open", - "body": "See:\n https://github.com/mnot/I-D/issues/133\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/109/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/109/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/109/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/109", - "updated_at": "2015-11-13T04:00:50Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/109", - "created_at": "2015-10-19T05:17:40Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 108, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-24T00:34:50Z", - "id": 112073446, - "title": "field-name cardinality", - "comments": 17, - "state": "closed", - "body": "See:\n https://github.com/mnot/I-D/issues/132\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/108/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/108/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/108/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/108", - "updated_at": "2015-11-24T00:34:50Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/108", - "created_at": "2015-10-19T05:16:59Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 107, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-03-02T04:33:36Z", - "id": 112073369, - "title": "Whitespace requirement", - "comments": 0, - "state": "closed", - "body": "See:\n https://github.com/mnot/I-D/issues/131\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/107/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/107/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/107/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/107", - "updated_at": "2016-03-02T04:33:36Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/107", - "created_at": "2015-10-19T05:16:10Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 106, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-03-02T04:37:36Z", - "id": 112073313, - "title": "Policy for Key parameter registry", - "comments": 4, - "state": "closed", - "body": "See:\n https://github.com/mnot/I-D/issues/130\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/106/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/106/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/106/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/106", - "updated_at": "2016-03-02T04:37:36Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/106", - "created_at": "2015-10-19T05:15:22Z", - "assignees": [] - } - ], - [ - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 105, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": null, - "id": 112073190, - "title": "Case handling", - "comments": 1, - "state": "open", - "body": "See:\n https://github.com/mnot/I-D/issues/67\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/105/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/105/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/105/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/105", - "updated_at": "2015-11-11T05:09:08Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/105", - "created_at": "2015-10-19T05:14:23Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/key", - "color": "fbca04", - "default": false, - "id": 274815718, - "name": "key" - } - ], - "number": 104, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-03-02T04:23:56Z", - "id": 112073061, - "title": "Support \"Or\" operator", - "comments": 26, - "state": "closed", - "body": "See: \n https://github.com/mnot/I-D/issues/21\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/104/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/104/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/104/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/104", - "updated_at": "2016-03-22T19:12:21Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/104", - "created_at": "2015-10-19T05:13:24Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/451", - "color": "fbca04", - "default": false, - "id": 201257616, - "name": "451" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 103, - "assignee": { - "following_url": "https://api.github.com/users/timbray/following{/other_user}", - "events_url": "https://api.github.com/users/timbray/events{/privacy}", - "organizations_url": "https://api.github.com/users/timbray/orgs", - "url": "https://api.github.com/users/timbray", - "gists_url": "https://api.github.com/users/timbray/gists{/gist_id}", - "html_url": "https://github.com/timbray", - "subscriptions_url": "https://api.github.com/users/timbray/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/17555?v=4", - "repos_url": "https://api.github.com/users/timbray/repos", - "received_events_url": "https://api.github.com/users/timbray/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/timbray/starred{/owner}{/repo}", - "site_admin": false, - "login": "timbray", - "type": "User", - "id": 17555, - "followers_url": "https://api.github.com/users/timbray/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-16T00:13:44Z", - "id": 111080021, - "title": "\"Legal Demand\"", - "comments": 3, - "state": "closed", - "body": "Amos raises:\n\n\"for use when a server operator has a received a legal demand to deny\naccess to a resource\"\n\nThis is a lot more restrictive than what I understood was being agreed\nto. This phrasing implies that a specific-URL DMCA type notice is\nrequired before the status may be used.\n\nIt would be a lot more reasonable to also allow the status to be used\nwhen a blanket law requirement was levelled on the operator. For example\nschools following laws on porn fitering, or national level restrictions\non categories of traffic. In cases like these operators dont receive\nper-resource demands, they often receive a one-off notice \"law X applies\nto you\" and are then expected to censor proactively to the best of their\nability and face the court on overlooked URLs.\n\nProbably this can be resolved with s/legal demand/legal requirement/.\n\nThere are other \"legal demand\" phrase uses elsewhere to keep in sync.\n\nIf \"legal demand\" is being used with a meaning other than a specific\nwarrant DMCA takedown etc. Then that definitely needs to be explained.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/103/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/103/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/103/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/103", - "updated_at": "2015-11-16T00:13:44Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/103", - "created_at": "2015-10-13T00:32:34Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/timbray/following{/other_user}", - "events_url": "https://api.github.com/users/timbray/events{/privacy}", - "organizations_url": "https://api.github.com/users/timbray/orgs", - "url": "https://api.github.com/users/timbray", - "gists_url": "https://api.github.com/users/timbray/gists{/gist_id}", - "html_url": "https://github.com/timbray", - "subscriptions_url": "https://api.github.com/users/timbray/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/17555?v=4", - "repos_url": "https://api.github.com/users/timbray/repos", - "received_events_url": "https://api.github.com/users/timbray/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/timbray/starred{/owner}{/repo}", - "site_admin": false, - "login": "timbray", - "type": "User", - "id": 17555, - "followers_url": "https://api.github.com/users/timbray/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/451", - "color": "fbca04", - "default": false, - "id": 201257616, - "name": "451" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 102, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-16T00:14:09Z", - "id": 111079665, - "title": "451 Editorial Feedback", - "comments": 1, - "state": "closed", - "body": "From Julian.\n### 1\n\n> Feedback should occur on the ietf-http-wg@w3.org mailing list.\n\n(This should go in the boilerplate, not the actual spec text; and yes, the RFC production center will catch it)\n### 2\n\nThe example should use the link header field.\n### 3\n\n> 1. Security Considerations\n\n1) We don't need a nested subsection here. \n2) Avoid use of lowercased BCP14 terms...\n### 4\n\nWe'll need the IANA considerations for the new link relation as well.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/102/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/102/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/102/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/102", - "updated_at": "2015-11-16T00:14:09Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/102", - "created_at": "2015-10-13T00:29:52Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 101, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-02-04T01:27:29Z", - "id": 110072457, - "title": "Reconciling MAY/can vs. SHOULD", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/101", - "diff_url": "https://github.com/httpwg/http-extensions/pull/101.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/101", - "patch_url": "https://github.com/httpwg/http-extensions/pull/101.patch" - }, - "comments": 4, - "state": "closed", - "body": "Client MAY (2.2) vs. SHOULD (2.4) use alternatives they're aware of; clients \"can\" (2.4) vs. SHOULD (5) include the Alt-Used header. Reconciling these both to SHOULDs.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/101/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/101/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/101/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/101", - "updated_at": "2016-02-04T01:27:29Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/101", - "created_at": "2015-10-06T18:36:47Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - } - ], - "number": 100, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-10-07T06:35:20Z", - "id": 110069763, - "title": "Wrong protocol is connection failure", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/100", - "diff_url": "https://github.com/httpwg/http-extensions/pull/100.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/100", - "patch_url": "https://github.com/httpwg/http-extensions/pull/100.patch" - }, - "comments": 1, - "state": "closed", - "body": "Simple enough, as agreed previously. Issue #72. \n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/100/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/100/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/100/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/100", - "updated_at": "2015-10-07T06:35:20Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/100", - "created_at": "2015-10-06T18:23:30Z", - "assignees": [] - }, - { - "labels": [], - "number": 99, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-10-06T19:38:39Z", - "id": 110068310, - "title": "Issue 74: Alternates are authoritative", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/99", - "diff_url": "https://github.com/httpwg/http-extensions/pull/99.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/99", - "patch_url": "https://github.com/httpwg/http-extensions/pull/99.patch" - }, - "comments": 0, - "state": "closed", - "body": "An alternate can send an Alt-Svc field that overrides that sent by the origin and is cached on an equal basis.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/99/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/99/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/99/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/99", - "updated_at": "2015-10-06T19:38:39Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/99", - "created_at": "2015-10-06T18:16:06Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - } - ], - "number": 98, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-04T15:03:12Z", - "id": 110066249, - "title": "Security for spoofed certs", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/98", - "diff_url": "https://github.com/httpwg/http-extensions/pull/98.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/98", - "patch_url": "https://github.com/httpwg/http-extensions/pull/98.patch" - }, - "comments": 4, - "state": "closed", - "body": "Text giving recommendations for guarding against spoofed certs.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/98/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/98/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/98/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/98", - "updated_at": "2015-11-04T15:03:13Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/98", - "created_at": "2015-10-06T18:05:18Z", - "assignees": [] - }, - { - "labels": [], - "number": 97, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-10-06T18:13:53Z", - "id": 110063335, - "title": "Issue 73: Text for port-privilege change", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/97", - "diff_url": "https://github.com/httpwg/http-extensions/pull/97.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/97", - "patch_url": "https://github.com/httpwg/http-extensions/pull/97.patch" - }, - "comments": 0, - "state": "closed", - "body": "Proposes additional text in security considerations around changing from privileged to non-privileged ports; addresses #73.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/97/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/97/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/97/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/97", - "updated_at": "2015-10-06T18:13:53Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/97", - "created_at": "2015-10-06T17:50:19Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 96, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-04T09:08:17Z", - "id": 107380621, - "title": "IANA procedure for alt-svc parameters", - "comments": 3, - "state": "closed", - "body": "Currently defined as \"IETF Review\". Is this bar too high?\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/96/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/96/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/96/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/96", - "updated_at": "2015-11-04T09:08:17Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/96", - "created_at": "2015-09-20T08:58:28Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/auth-info", - "color": "fbca04", - "default": false, - "id": 172701276, - "name": "auth-info" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 95, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-09-19T18:37:29Z", - "id": 106165031, - "title": "Editorial AUTH48 changes for draft-ietf-httpbis-auth-info", - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/95/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/95/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/95/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/95", - "updated_at": "2015-09-19T18:37:29Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/95", - "created_at": "2015-09-12T14:50:50Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/cice", - "color": "fbca04", - "default": false, - "id": 198571578, - "name": "cice" - } - ], - "number": 94, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-09-19T18:37:57Z", - "id": 105010704, - "title": "add BREACH like attacks to security considerations", - "comments": 0, - "state": "closed", - "body": "(see thread starting at https://lists.w3.org/Archives/Public/ietf-http-wg/2015JulSep/0295.html)\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/94/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/94/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/94/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/94", - "updated_at": "2015-09-19T18:37:57Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/94", - "created_at": "2015-09-05T07:13:28Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/451", - "color": "fbca04", - "default": false, - "id": 201257616, - "name": "451" - } - ], - "number": 93, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-12-30T00:20:26Z", - "id": 104190496, - "title": "Flatten Section 5", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/93", - "diff_url": "https://github.com/httpwg/http-extensions/pull/93.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/93", - "patch_url": "https://github.com/httpwg/http-extensions/pull/93.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/93/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/93/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/93/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/93", - "updated_at": "2015-12-30T00:20:26Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/93", - "created_at": "2015-09-01T05:35:29Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 92, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-19T02:16:22Z", - "id": 100819066, - "title": "alt-svc vs the ability to convey the scheme inside the protocol", - "comments": 12, - "state": "closed", - "body": "See https://lists.w3.org/Archives/Public/ietf-http-wg/2015JulSep/0193.html:\n\n\"Alternative Services MUST NOT be advertised for a protocol that is not \ndesigned to carry the scheme. In particular, HTTP/1.1 over TLS cannot \ncarry safely requests for http resources.\"\n\n...which refers to the :scheme pseudo header field in HTTP/2 \n(http://greenbytes.de/tech/webdav/rfc7540.html#HttpRequest).\n\nAs far as I recall the intention of the statement above is to avoid that \nwhen alt-svc is used to move http traffic to a TLSsy port such as 443, \nthe alternative server gets confused about whether it's serving HTTP or \nHTTPS.\n\nIn reality, even when the protocol _does_ carry the scheme (such as \nin HTTP/2), the _application_ (think PHP running on top of Apache httpd) \nis so distant from the actual server stack that it wouldn't have that \ninformation. This is especially true as long many servers shield \napplications from any knowledge about whether they are accessed over \nHTTP/1.1 or HTTP/2. (Speaking of which, HTTP/1.1 can carry this \ninformation as well, see \nhttp://greenbytes.de/tech/webdav/rfc7230.html#absolute-form).\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/92/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/92/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/92/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/92", - "updated_at": "2015-11-19T15:00:30Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/92", - "created_at": "2015-08-13T16:59:06Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 91, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-19T02:16:41Z", - "id": 100818772, - "title": "alt-svc from https (1.1) to https (1.1)", - "comments": 7, - "state": "closed", - "body": "See https://lists.w3.org/Archives/Public/ietf-http-wg/2015JulSep/0193.html:\n\n\"Alternative Services MUST NOT be advertised for a protocol that is not designed to carry the scheme. In particular, HTTP/1.1 over TLS cannot carry safely requests for http resources.\"\n\n...which refers to the :scheme pseudo header field in HTTP/2 (http://greenbytes.de/tech/webdav/rfc7540.html#HttpRequest).\n\nAs far as I recall the intention of the statement above is to avoid that when alt-svc is used to move http traffic to a TLSsy port such as 443, the alternative server gets confused about whether it's serving HTTP or HTTPS.\n\nThe clause seems to be less relevant when alt-svc is used to load-balance HTTP/1.1 http_s_ traffic.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/91/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/91/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/91/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/91", - "updated_at": "2015-11-19T02:16:41Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/91", - "created_at": "2015-08-13T16:57:28Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - } - ], - "number": 90, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-08-26T18:49:05Z", - "id": 96323913, - "title": "Allow empty list of alternative services.", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/90", - "diff_url": "https://github.com/httpwg/http-extensions/pull/90.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/90", - "patch_url": "https://github.com/httpwg/http-extensions/pull/90.patch" - }, - "comments": 1, - "state": "closed", - "body": "Allow empty list of alternative services both in header field value and in\nframe. See\nhttps://github.com/httpwg/http-extensions/issues/16#issuecomment-123273055.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/90/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/90/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/90/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/90", - "updated_at": "2015-08-26T18:49:05Z", - "user": { - "following_url": "https://api.github.com/users/bencebeky/following{/other_user}", - "events_url": "https://api.github.com/users/bencebeky/events{/privacy}", - "organizations_url": "https://api.github.com/users/bencebeky/orgs", - "url": "https://api.github.com/users/bencebeky", - "gists_url": "https://api.github.com/users/bencebeky/gists{/gist_id}", - "html_url": "https://github.com/bencebeky", - "subscriptions_url": "https://api.github.com/users/bencebeky/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/6144440?v=4", - "repos_url": "https://api.github.com/users/bencebeky/repos", - "received_events_url": "https://api.github.com/users/bencebeky/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/bencebeky/starred{/owner}{/repo}", - "site_admin": false, - "login": "bencebeky", - "type": "User", - "id": 6144440, - "followers_url": "https://api.github.com/users/bencebeky/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/90", - "created_at": "2015-07-21T14:05:20Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 89, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-09T07:29:05Z", - "id": 96296619, - "title": "Using alt-svc on localhost", - "comments": 8, - "state": "closed", - "body": "You can identify an alternative on a different port on localhost trivially and it might be considered authoritative. You probably don't want to accept localhost as a valid alternative for an `http://example.com` origin.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/89/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/89/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/89/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/89", - "updated_at": "2015-11-09T07:29:05Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/89", - "created_at": "2015-07-21T11:46:43Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - } - ], - "number": 88, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-08-20T08:08:34Z", - "id": 96059343, - "title": "Adds text on ALPN identifiers.", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/88", - "diff_url": "https://github.com/httpwg/http-extensions/pull/88.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/88", - "patch_url": "https://github.com/httpwg/http-extensions/pull/88.patch" - }, - "comments": 1, - "state": "closed", - "body": "For solving #43.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/88/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/88/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/88/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/88", - "updated_at": "2015-08-20T08:08:59Z", - "user": { - "following_url": "https://api.github.com/users/hruellan/following{/other_user}", - "events_url": "https://api.github.com/users/hruellan/events{/privacy}", - "organizations_url": "https://api.github.com/users/hruellan/orgs", - "url": "https://api.github.com/users/hruellan", - "gists_url": "https://api.github.com/users/hruellan/gists{/gist_id}", - "html_url": "https://github.com/hruellan", - "subscriptions_url": "https://api.github.com/users/hruellan/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/3206601?v=4", - "repos_url": "https://api.github.com/users/hruellan/repos", - "received_events_url": "https://api.github.com/users/hruellan/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/hruellan/starred{/owner}{/repo}", - "site_admin": false, - "login": "hruellan", - "type": "User", - "id": 3206601, - "followers_url": "https://api.github.com/users/hruellan/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/88", - "created_at": "2015-07-20T13:05:28Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 87, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-09-02T07:21:24Z", - "id": 96049610, - "title": "alt-svc response header field in HTTP/2 frame", - "comments": 2, - "state": "closed", - "body": "Should we say what an alt-svc header field means when received over HTTP/2? Does it mean anything? Does it override a previously received alt-svc frame?\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/87/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/87/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/87/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/87", - "updated_at": "2015-09-02T07:21:24Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/87", - "created_at": "2015-07-20T12:02:40Z", - "assignees": [] - }, - { - "labels": [], - "number": 86, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-08-14T13:57:15Z", - "id": 96020060, - "title": "no need to update RFC 2616", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/86", - "diff_url": "https://github.com/httpwg/http-extensions/pull/86.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/86", - "patch_url": "https://github.com/httpwg/http-extensions/pull/86.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/86/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/86/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/86/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/86", - "updated_at": "2015-08-14T13:57:15Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/86", - "created_at": "2015-07-20T09:08:28Z", - "assignees": [] - }, - { - "labels": [], - "number": 85, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-06-16T03:45:55Z", - "id": 88603812, - "title": "editorial changes", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/85", - "diff_url": "https://github.com/httpwg/http-extensions/pull/85.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/85", - "patch_url": "https://github.com/httpwg/http-extensions/pull/85.patch" - }, - "comments": 0, - "state": "closed", - "body": "- consistent use of `http` instead of \"http\"\n- make S1.1, P3 a bit more readable\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/85/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/85/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/85/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/85", - "updated_at": "2015-06-16T03:45:55Z", - "user": { - "following_url": "https://api.github.com/users/phluid61/following{/other_user}", - "events_url": "https://api.github.com/users/phluid61/events{/privacy}", - "organizations_url": "https://api.github.com/users/phluid61/orgs", - "url": "https://api.github.com/users/phluid61", - "gists_url": "https://api.github.com/users/phluid61/gists{/gist_id}", - "html_url": "https://github.com/phluid61", - "subscriptions_url": "https://api.github.com/users/phluid61/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/324275?v=4", - "repos_url": "https://api.github.com/users/phluid61/repos", - "received_events_url": "https://api.github.com/users/phluid61/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/phluid61/starred{/owner}{/repo}", - "site_admin": false, - "login": "phluid61", - "type": "User", - "id": 324275, - "followers_url": "https://api.github.com/users/phluid61/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/85", - "created_at": "2015-06-16T03:31:30Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/tunnel-proto", - "color": "fbca04", - "default": false, - "id": 122837759, - "name": "tunnel-proto" - } - ], - "number": 84, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-06-08T19:10:24Z", - "id": 86183728, - "title": "properly cite definition of ABNF", - "comments": 1, - "state": "closed", - "body": "\"The ABNF (Augmented Backus-Naur Form) syntax for the ALPN header field is given below. It is based on the Generic Grammar defined in Section 2 of [RFC7230].\"\n\nThis needs to say something like\n\n\"The ABNF (Augmented Backus-Naur Form) syntax for the ALPN header field value is given below. It uses the syntax defined in Section 1.2 of [RFC7230].\" \n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/84/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/84/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/84/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/84", - "updated_at": "2015-06-08T19:10:24Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/84", - "created_at": "2015-06-08T13:45:48Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 83, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-09-25T06:21:18Z", - "id": 85973736, - "title": "Alt-Svc Header - hop by hop", - "comments": 3, - "state": "closed", - "body": "Amos pointed out that we should consider making the header field explicitly hop-by-hop, to match the semantics of the frame.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/83/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/83/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/83/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/83", - "updated_at": "2015-10-07T00:42:39Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": { - "description": "", - "title": "alt-svc-09", - "url": "https://api.github.com/repos/httpwg/http-extensions/milestones/1", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/milestones/1/labels", - "created_at": "2015-10-07T00:41:42Z", - "creator": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "number": 1, - "html_url": "https://github.com/httpwg/http-extensions/milestone/1", - "updated_at": "2015-10-07T00:42:39Z", - "due_on": null, - "state": "open", - "closed_issues": 3, - "open_issues": 0, - "closed_at": null, - "id": 1341680 - }, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/83", - "created_at": "2015-06-08T00:59:04Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/451", - "color": "fbca04", - "default": false, - "id": 201257616, - "name": "451" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 82, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-06-29T02:24:09Z", - "id": 83235996, - "title": "Cacheability", - "comments": 1, - "state": "closed", - "body": "Is 451 cacheable by default? I suspect so.\n\nSee:\n http://httpwg.github.io/specs/rfc7231.html#overview.of.status.codes\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/82/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/82/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/82/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/82", - "updated_at": "2015-06-29T02:24:09Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/82", - "created_at": "2015-06-01T00:22:36Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/451", - "color": "fbca04", - "default": false, - "id": 201257616, - "name": "451" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 81, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-06-29T02:24:00Z", - "id": 83234701, - "title": "responsibility", - "comments": 1, - "state": "closed", - "body": "\"The author takes all responsibility for errors and omissions.\"\n\nThis isn't necessary any more.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/81/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/81/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/81/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/81", - "updated_at": "2015-06-29T02:24:00Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/81", - "created_at": "2015-06-01T00:18:40Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/451", - "color": "fbca04", - "default": false, - "id": 201257616, - "name": "451" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 80, - "assignee": { - "following_url": "https://api.github.com/users/timbray/following{/other_user}", - "events_url": "https://api.github.com/users/timbray/events{/privacy}", - "organizations_url": "https://api.github.com/users/timbray/orgs", - "url": "https://api.github.com/users/timbray", - "gists_url": "https://api.github.com/users/timbray/gists{/gist_id}", - "html_url": "https://github.com/timbray", - "subscriptions_url": "https://api.github.com/users/timbray/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/17555?v=4", - "repos_url": "https://api.github.com/users/timbray/repos", - "received_events_url": "https://api.github.com/users/timbray/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/timbray/starred{/owner}{/repo}", - "site_admin": false, - "login": "timbray", - "type": "User", - "id": 17555, - "followers_url": "https://api.github.com/users/timbray/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-16T00:13:59Z", - "id": 83234311, - "title": "Distinguishing intermediaries from origins", - "comments": 6, - "state": "closed", - "body": "In the current draft, 451 is used both to indicate when the origin server has the legal demands placed upon it, and when an intervening intermediary is enforcing such a demand.\n\nIn discussion, some have wondered whether it would be useful to be able to distinguish them in a machine-readable way; e.g., using a different status code (452?) or a response header.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/80/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/80/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/80/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/80", - "updated_at": "2015-11-16T00:13:59Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/80", - "created_at": "2015-06-01T00:17:19Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/timbray/following{/other_user}", - "events_url": "https://api.github.com/users/timbray/events{/privacy}", - "organizations_url": "https://api.github.com/users/timbray/orgs", - "url": "https://api.github.com/users/timbray", - "gists_url": "https://api.github.com/users/timbray/gists{/gist_id}", - "html_url": "https://github.com/timbray", - "subscriptions_url": "https://api.github.com/users/timbray/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/17555?v=4", - "repos_url": "https://api.github.com/users/timbray/repos", - "received_events_url": "https://api.github.com/users/timbray/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/timbray/starred{/owner}{/repo}", - "site_admin": false, - "login": "timbray", - "type": "User", - "id": 17555, - "followers_url": "https://api.github.com/users/timbray/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/451", - "color": "fbca04", - "default": false, - "id": 201257616, - "name": "451" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 79, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-06-29T02:24:41Z", - "id": 83233397, - "title": "WG item", - "comments": 2, - "state": "closed", - "body": "1. Introduction says \"...although this draft is NOT a work item of the IETF HTTPbis Working Group.\"\n\nNot true :)\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/79/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/79/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/79/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/79", - "updated_at": "2015-06-29T02:24:41Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/79", - "created_at": "2015-06-01T00:13:11Z", - "assignees": [] - }, - { - "labels": [], - "number": 78, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-08-14T15:20:01Z", - "id": 82188419, - "title": "Alt-Svc Editorial Nits", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/78", - "diff_url": "https://github.com/httpwg/http-extensions/pull/78.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/78", - "patch_url": "https://github.com/httpwg/http-extensions/pull/78.patch" - }, - "comments": 1, - "state": "closed", - "body": "Assorted:\n- Alt-Svc doesn't introduce 421, just points to RFC 7540\n- Missing \"the\" in overview\n- Requests != connections in HTTP/2; presuming you mean connections throughout\n- Non-normative \"can\" mismatch with normative SHOULD later in the document\n- Clients who wish to avoid tracking are also permitted to just drop Alt-Used; turned to normative MAY to match earlier text\n- Word order in scheme confusion text\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/78/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/78/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/78/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/78", - "updated_at": "2015-08-14T15:20:01Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/78", - "created_at": "2015-05-29T00:34:05Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - } - ], - "number": 77, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-08-14T15:31:32Z", - "id": 82176279, - "title": "Going down for maintenance?", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/77", - "diff_url": "https://github.com/httpwg/http-extensions/pull/77.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/77", - "patch_url": "https://github.com/httpwg/http-extensions/pull/77.patch" - }, - "comments": 2, - "state": "closed", - "body": "Spec commends the use of Alt-Svc when a server is \"going down for maintenance.\" But new clients will always be trying to contact the origin server, and existing clients may always fall back to it for various reasons. Alt-Svc isn't a redundancy strategy for the origin, and I don't think we should present it as one here. Servers will still need to cluster, anycast, etc. or shed load by changing DNS.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/77/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/77/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/77/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/77", - "updated_at": "2015-08-14T15:31:32Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/77", - "created_at": "2015-05-28T23:51:04Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 76, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-11-04T16:12:50Z", - "id": 82174775, - "title": "Alt-Svc and Cert Pinning", - "comments": 5, - "state": "closed", - "body": "If http://www.example.com sends Alt-Svc pointing to evil.haxor.bg showing a cert from a hacked CA for the right origin, we don\u2019t want to trust it. Cert pinning would mitigate this for https:// origins, and we could go a step further for https:// origins without pinning and validate that the cert on the alternate resembles the cert we last saw on the origin (identical cert, same issuer, same issuer country, etc.).\n\nHowever, for http:// origins, we're pretty vulnerable. That scenario looks a lot like 9.2 again for http:// origins \u2013 if you\u2019re MITM\u2019d once, you can be MITM\u2019d for as long as you trust the fishy cert.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/76/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/76/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/76/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/76", - "updated_at": "2015-11-04T16:12:50Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/76", - "created_at": "2015-05-28T23:45:37Z", - "assignees": [] - } - ], - [ - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 75, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-09-01T16:04:28Z", - "id": 82174056, - "title": "Alt-Svc header with 421 status", - "comments": 1, - "state": "closed", - "body": "Why does the spec explicitly allow the alternate to simultaneously send you an alternate list (which we trust, because the alternate is authoritative for this origin) and a status code telling us this host is not authoritative for this origin?\n\nIt seems like 421 should automatically remove the alternate (as stated) and cause the user agent to fall back to the origin server. While one can also envision a scenario where the server says \"I'm not authoritative, but I know who might be....\", that way lies loops.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/75/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/75/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/75/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/75", - "updated_at": "2015-09-01T16:04:28Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/75", - "created_at": "2015-05-28T23:42:41Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 74, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-10-06T20:00:20Z", - "id": 82173176, - "title": "Alt-Svc: Alternates of alternates", - "comments": 6, - "state": "closed", - "body": "When the origin delegates to an alternate for 30 seconds, and the alternate delegates somewhere else (or to itself) for 7 days, how long does the client keep it? 30 seconds because that\u2019s what the origin said, or 7 days because the alternate is supposed to be equivalent in authority to the origin?\n\nI'm inclined toward the second, since the alternate is supposed to be fully authoritative and since it enables use of an alternate to be persistent so long as you regularly visit the origin. It feels odd to let a delegate grant itself more power than the delegation originally gave it, though....\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/74/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/74/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/74/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/74", - "updated_at": "2015-10-07T00:42:39Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": { - "description": "", - "title": "alt-svc-09", - "url": "https://api.github.com/repos/httpwg/http-extensions/milestones/1", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/milestones/1/labels", - "created_at": "2015-10-07T00:41:42Z", - "creator": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "number": 1, - "html_url": "https://github.com/httpwg/http-extensions/milestone/1", - "updated_at": "2015-10-07T00:42:39Z", - "due_on": null, - "state": "open", - "closed_issues": 3, - "open_issues": 0, - "closed_at": null, - "id": 1341680 - }, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/74", - "created_at": "2015-05-28T23:39:57Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 73, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-10-06T19:37:13Z", - "id": 82172416, - "title": "Alt-Svc: Elevation of privilege", - "comments": 5, - "state": "closed", - "body": "Someone who controls any resource on an origin can issue directives that affect all resources on that origin. (Thinking of the server the CS/CE students could work with in college, where we all had pages at server.example.edu/~username.) Sure, I can\u2019t change the host because I don\u2019t have the server cert, but I can change ports without that requirement.\n\nThe guidance in 9.1 just says \u201cdon\u2019t let people do that,\u201d which is easier said than done on systems that already exist. People can run apps listening on ephemeral ports, and people can control their home pages. With this combination, everyone else's home pages can be hijacked unless the server admin reads this draft before any students do and promptly prohibits pages from emitting headers named Alt-Svc.\n\nThe way to partially fix this is to require strong auth for changes of port as well. Resources can still slow down access by causing attempts to access an alternate, but the alternate won't be able to supply fake resources.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/73/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/73/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/73/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/73", - "updated_at": "2015-10-07T00:42:39Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": { - "description": "", - "title": "alt-svc-09", - "url": "https://api.github.com/repos/httpwg/http-extensions/milestones/1", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/milestones/1/labels", - "created_at": "2015-10-07T00:41:42Z", - "creator": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "number": 1, - "html_url": "https://github.com/httpwg/http-extensions/milestone/1", - "updated_at": "2015-10-07T00:42:39Z", - "due_on": null, - "state": "open", - "closed_issues": 3, - "open_issues": 0, - "closed_at": null, - "id": 1341680 - }, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/73", - "created_at": "2015-05-28T23:37:28Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 72, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-10-07T08:21:49Z", - "id": 82171264, - "title": "Conflicts between Alt-Svc and ALPN", - "comments": 8, - "state": "closed", - "body": "Alt-Svc tells me to use h2, so I open a TLS connection, and the server either doesn\u2019t support ALPN or doesn\u2019t select h2. What now? Weird corner cases ensue where I\u2019m connected to something that may or may not be the alternate I was intending to reach. (Similar issues ensue attempting to connect using h2c -- does it mean a direct TCP connection to the specified port, or that the client should offer Upgrade? What if the server doesn't accept the Upgrade?)\n\nIt's simpler to just say TLS is the protocol and require ALPN support in 2.3 as well. Point me to a TLS-enabled endpoint, and the specific protocols we'll use will be negotiated in real-time.\n\nHowever, this does pose a challenge if you wanted _only_ HTTP/3 traffic going to your alternate.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/72/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/72/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/72/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/72", - "updated_at": "2015-10-07T08:21:49Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/72", - "created_at": "2015-05-28T23:34:18Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 71, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-09-20T08:17:39Z", - "id": 82170103, - "title": "Persistence of alternates across network changes", - "comments": 3, - "state": "closed", - "body": "Alternates provided because of location (seattle.edge.net vs. sfc.edge.net) need to be cleared on network changes. (They\u2019re probably direct pointers to individual nodes/datacenters.) Alternates provided because of capabilities (sni.edge.net as alternate of legacy.edge.net) shouldn\u2019t be cleared on network changes, because they\u2019re not location-dependent. (The names probably resolve to different IPs based on location at the DNS level, or they resolve to anycast addresses.)\n\nShould there be a hint to the client that a particular alternate does/doesn\u2019t need to be flushed on changes? Might impact the issues described in 9.2, but TLS should still mitigate without the flushing.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/71/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/71/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/71/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/71", - "updated_at": "2015-09-20T08:17:39Z", - "user": { - "following_url": "https://api.github.com/users/MikeBishop/following{/other_user}", - "events_url": "https://api.github.com/users/MikeBishop/events{/privacy}", - "organizations_url": "https://api.github.com/users/MikeBishop/orgs", - "url": "https://api.github.com/users/MikeBishop", - "gists_url": "https://api.github.com/users/MikeBishop/gists{/gist_id}", - "html_url": "https://github.com/MikeBishop", - "subscriptions_url": "https://api.github.com/users/MikeBishop/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/4273797?v=4", - "repos_url": "https://api.github.com/users/MikeBishop/repos", - "received_events_url": "https://api.github.com/users/MikeBishop/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/MikeBishop/starred{/owner}{/repo}", - "site_admin": false, - "login": "MikeBishop", - "type": "User", - "id": 4273797, - "followers_url": "https://api.github.com/users/MikeBishop/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/71", - "created_at": "2015-05-28T23:31:05Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/cice", - "color": "fbca04", - "default": false, - "id": 198571578, - "name": "cice" - } - ], - "number": 70, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-07-20T12:53:20Z", - "id": 81318950, - "title": "Cice edits", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/70", - "diff_url": "https://github.com/httpwg/http-extensions/pull/70.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/70", - "patch_url": "https://github.com/httpwg/http-extensions/pull/70.patch" - }, - "comments": 0, - "state": "closed", - "body": "Mostly editorial.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/70/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/70/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/70/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/70", - "updated_at": "2015-07-20T12:53:20Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/70", - "created_at": "2015-05-27T07:13:39Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 69, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-09-20T09:05:05Z", - "id": 74702401, - "title": "need to define extensibility for alt-svc parameters", - "comments": 9, - "state": "closed", - "body": "must ignore? how to register new ones? IANA registry?\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/69/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/69/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/69/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/69", - "updated_at": "2015-09-20T09:05:05Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/69", - "created_at": "2015-05-09T15:57:42Z", - "assignees": [] - }, - { - "labels": [], - "number": 68, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-05-01T12:56:04Z", - "id": 72223451, - "title": "Fix typo.", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/68", - "diff_url": "https://github.com/httpwg/http-extensions/pull/68.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/68", - "patch_url": "https://github.com/httpwg/http-extensions/pull/68.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/68/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/68/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/68/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/68", - "updated_at": "2015-05-01T12:56:04Z", - "user": { - "following_url": "https://api.github.com/users/bencebeky/following{/other_user}", - "events_url": "https://api.github.com/users/bencebeky/events{/privacy}", - "organizations_url": "https://api.github.com/users/bencebeky/orgs", - "url": "https://api.github.com/users/bencebeky", - "gists_url": "https://api.github.com/users/bencebeky/gists{/gist_id}", - "html_url": "https://github.com/bencebeky", - "subscriptions_url": "https://api.github.com/users/bencebeky/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/6144440?v=4", - "repos_url": "https://api.github.com/users/bencebeky/repos", - "received_events_url": "https://api.github.com/users/bencebeky/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/bencebeky/starred{/owner}{/repo}", - "site_admin": false, - "login": "bencebeky", - "type": "User", - "id": 6144440, - "followers_url": "https://api.github.com/users/bencebeky/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/68", - "created_at": "2015-04-30T17:12:49Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 67, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-03-17T01:07:15Z", - "id": 72189273, - "title": "opp-sec: needs to reference RFC 5234, and needs to define \"parameter\" ABNF", - "comments": 2, - "state": "closed", - "body": "Or, for \"parameter\", reference the alt-svc spec.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/67/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/67/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/67/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/67", - "updated_at": "2016-03-17T01:07:15Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/67", - "created_at": "2015-04-30T15:09:09Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/451", - "color": "fbca04", - "default": false, - "id": 201257616, - "name": "451" - } - ], - "number": 66, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-12-30T00:20:41Z", - "id": 70994770, - "title": "Avoid ambiguity with \"may not\" and a \"MAY\" requirement", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/66", - "diff_url": "https://github.com/httpwg/http-extensions/pull/66.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/66", - "patch_url": "https://github.com/httpwg/http-extensions/pull/66.patch" - }, - "comments": 8, - "state": "closed", - "body": "RFC 2119 defines \"MAY\" as a keyword, which may cause confusion with \"may not\", even though the latter is not uppercased.\n\nThis hopefully better clarifies that the server in question may or may not be an origin server, as opposed to implying that origin servers are prevented from returning a 451 response status.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/66/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/66/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/66/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/66", - "updated_at": "2016-02-17T20:40:34Z", - "user": { - "following_url": "https://api.github.com/users/aprescott/following{/other_user}", - "events_url": "https://api.github.com/users/aprescott/events{/privacy}", - "organizations_url": "https://api.github.com/users/aprescott/orgs", - "url": "https://api.github.com/users/aprescott", - "gists_url": "https://api.github.com/users/aprescott/gists{/gist_id}", - "html_url": "https://github.com/aprescott", - "subscriptions_url": "https://api.github.com/users/aprescott/subscriptions", - "avatar_url": "https://avatars0.githubusercontent.com/u/342081?v=4", - "repos_url": "https://api.github.com/users/aprescott/repos", - "received_events_url": "https://api.github.com/users/aprescott/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/aprescott/starred{/owner}{/repo}", - "site_admin": false, - "login": "aprescott", - "type": "User", - "id": 342081, - "followers_url": "https://api.github.com/users/aprescott/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/66", - "created_at": "2015-04-26T01:53:11Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 65, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-04-30T14:05:06Z", - "id": 70404286, - "title": "ABNF for \"parameter\"", - "comments": 0, - "state": "closed", - "body": "Bence B\u00e9ky in http://lists.w3.org/Archives/Public/ietf-http-wg/2015AprJun/0220.html:\n\n\"I need some clarification. I am writing a parser for ALTSVC header\nfields and wish to ignore unknown parameters. However, it is unclear\nto me whether a parameter without \"=value\" should be ignored or\ntreated as malformed.\n\ndraft-ietf-httpbis-alt-svc-06 Section 3 refers to \"parameter\".\nSection 1.1 says \"parameter\" is defined in RFC7230. In fact, RFC7230\nhas \"transfer-parameter\" but not \"parameter\". Also, RFC7230 Section\nsays \"Parameters are in the form of a name or name=value pair.\",\nimplicilty allowing names without values, but in the next line\n\"transfer-parameter\" is defined as a name=value pair, which disallowes\nnames without values. On the other hand, RFC7231 Section 3.1.1.1\ndefines \"parameter\" as a name=value pair, but this is not what\ndraft-ietf-httpbis-alt-svc-06 refers to.\"\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/65/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/65/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/65/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/65", - "updated_at": "2015-04-30T14:05:06Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/65", - "created_at": "2015-04-23T12:50:47Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/451", - "color": "fbca04", - "default": false, - "id": 201257616, - "name": "451" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 64, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-09-19T18:39:03Z", - "id": 69444098, - "title": "no need to update RFC 2616", - "comments": 0, - "state": "closed", - "body": "a) it's obsoleted anyway, b) that's what we have the IANA status code registry for.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/64/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/64/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/64/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/64", - "updated_at": "2015-09-19T18:39:03Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/64", - "created_at": "2015-04-19T17:07:14Z", - "assignees": [] - }, - { - "labels": [], - "number": 63, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-04-27T16:12:16Z", - "id": 68811577, - "title": "Renaming to ALPN", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/63", - "diff_url": "https://github.com/httpwg/http-extensions/pull/63.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/63", - "patch_url": "https://github.com/httpwg/http-extensions/pull/63.patch" - }, - "comments": 0, - "state": "closed", - "body": "Last call discussion identified this as a solution to the confusion that exists around the intent of the header field.\n\nCloses #57.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/63/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/63/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/63/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/63", - "updated_at": "2015-05-20T18:21:01Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/63", - "created_at": "2015-04-15T23:46:23Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 62, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-07-20T12:47:11Z", - "id": 66184419, - "title": "Proxy and .pac interaction", - "comments": 8, - "state": "closed", - "body": "Ryan asks what you should pass to proxy.pac when you know about a potential alt-svc.\n\nI suggested that you use the original request origin and only use alternatives if the proxy.pac doesn't provide a proxy address. That is proxy.pac overrides alternative services.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/62/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/62/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/62/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/62", - "updated_at": "2015-07-20T12:47:11Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/62", - "created_at": "2015-04-03T16:51:39Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - } - ], - "number": 61, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-05-04T08:56:19Z", - "id": 65487770, - "title": "Alt svc tracking", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/61", - "diff_url": "https://github.com/httpwg/http-extensions/pull/61.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/61", - "patch_url": "https://github.com/httpwg/http-extensions/pull/61.patch" - }, - "comments": 1, - "state": "closed", - "body": "Extends alt-svc information removal to any app.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/61/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/61/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/61/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/61", - "updated_at": "2015-05-04T08:56:19Z", - "user": { - "following_url": "https://api.github.com/users/hruellan/following{/other_user}", - "events_url": "https://api.github.com/users/hruellan/events{/privacy}", - "organizations_url": "https://api.github.com/users/hruellan/orgs", - "url": "https://api.github.com/users/hruellan", - "gists_url": "https://api.github.com/users/hruellan/gists{/gist_id}", - "html_url": "https://github.com/hruellan", - "subscriptions_url": "https://api.github.com/users/hruellan/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/3206601?v=4", - "repos_url": "https://api.github.com/users/hruellan/repos", - "received_events_url": "https://api.github.com/users/hruellan/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/hruellan/starred{/owner}{/repo}", - "site_admin": false, - "login": "hruellan", - "type": "User", - "id": 3206601, - "followers_url": "https://api.github.com/users/hruellan/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/61", - "created_at": "2015-03-31T16:11:43Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - } - ], - "number": 60, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-05-01T13:01:03Z", - "id": 65487266, - "title": "Corrects typo.", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/60", - "diff_url": "https://github.com/httpwg/http-extensions/pull/60.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/60", - "patch_url": "https://github.com/httpwg/http-extensions/pull/60.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/60/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/60/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/60/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/60", - "updated_at": "2015-05-01T13:01:03Z", - "user": { - "following_url": "https://api.github.com/users/hruellan/following{/other_user}", - "events_url": "https://api.github.com/users/hruellan/events{/privacy}", - "organizations_url": "https://api.github.com/users/hruellan/orgs", - "url": "https://api.github.com/users/hruellan", - "gists_url": "https://api.github.com/users/hruellan/gists{/gist_id}", - "html_url": "https://github.com/hruellan", - "subscriptions_url": "https://api.github.com/users/hruellan/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/3206601?v=4", - "repos_url": "https://api.github.com/users/hruellan/repos", - "received_events_url": "https://api.github.com/users/hruellan/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/hruellan/starred{/owner}{/repo}", - "site_admin": false, - "login": "hruellan", - "type": "User", - "id": 3206601, - "followers_url": "https://api.github.com/users/hruellan/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/60", - "created_at": "2015-03-31T16:10:08Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - } - ], - "number": 59, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-05-30T10:51:42Z", - "id": 65487069, - "title": "Use only one alternative service.", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/59", - "diff_url": "https://github.com/httpwg/http-extensions/pull/59.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/59", - "patch_url": "https://github.com/httpwg/http-extensions/pull/59.patch" - }, - "comments": 0, - "state": "closed", - "body": "Solves #58 \n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/59/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/59/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/59/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/59", - "updated_at": "2015-05-30T10:51:42Z", - "user": { - "following_url": "https://api.github.com/users/hruellan/following{/other_user}", - "events_url": "https://api.github.com/users/hruellan/events{/privacy}", - "organizations_url": "https://api.github.com/users/hruellan/orgs", - "url": "https://api.github.com/users/hruellan", - "gists_url": "https://api.github.com/users/hruellan/gists{/gist_id}", - "html_url": "https://github.com/hruellan", - "subscriptions_url": "https://api.github.com/users/hruellan/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/3206601?v=4", - "repos_url": "https://api.github.com/users/hruellan/repos", - "received_events_url": "https://api.github.com/users/hruellan/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/hruellan/starred{/owner}{/repo}", - "site_admin": false, - "login": "hruellan", - "type": "User", - "id": 3206601, - "followers_url": "https://api.github.com/users/hruellan/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/59", - "created_at": "2015-03-31T16:09:37Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 58, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-05-30T10:56:18Z", - "id": 65485620, - "title": "Number of alternate services used", - "comments": 3, - "state": "closed", - "body": "At the end of section 3, the paragraph:\n\n> The value(s) advertised by Alt-Svc can be used by clients to open a new connection to one or more alternative services immediately, or simultaneously with subsequent requests on the same connection.\n\nsays that several alternative services can be used simultaneously by a client. \n\nHowever, section 2.4 Using Alternative Services, recommend choosing one alternative service and using only one alternative service (except during the transition time).\n\nI think we should align the two by rephrasing the sentence in 3.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/58/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/58/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/58/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/58", - "updated_at": "2015-05-30T10:56:18Z", - "user": { - "following_url": "https://api.github.com/users/hruellan/following{/other_user}", - "events_url": "https://api.github.com/users/hruellan/events{/privacy}", - "organizations_url": "https://api.github.com/users/hruellan/orgs", - "url": "https://api.github.com/users/hruellan", - "gists_url": "https://api.github.com/users/hruellan/gists{/gist_id}", - "html_url": "https://github.com/hruellan", - "subscriptions_url": "https://api.github.com/users/hruellan/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/3206601?v=4", - "repos_url": "https://api.github.com/users/hruellan/repos", - "received_events_url": "https://api.github.com/users/hruellan/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/hruellan/starred{/owner}{/repo}", - "site_admin": false, - "login": "hruellan", - "type": "User", - "id": 3206601, - "followers_url": "https://api.github.com/users/hruellan/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/58", - "created_at": "2015-03-31T16:03:09Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/tunnel-proto", - "color": "fbca04", - "default": false, - "id": 122837759, - "name": "tunnel-proto" - } - ], - "number": 57, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-04-27T16:12:16Z", - "id": 64817562, - "title": "Tunnel-Protocol name", - "comments": 0, - "state": "closed", - "body": "Apparently, this is confusing. Picking a new name might help.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/57/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/57/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/57/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/57", - "updated_at": "2015-04-27T16:12:16Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/57", - "created_at": "2015-03-27T17:54:36Z", - "assignees": [] - }, - { - "labels": [], - "number": 56, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-07-20T13:02:53Z", - "id": 64111447, - "title": "Precise signification of http/1.1 ALPN token.", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/56", - "diff_url": "https://github.com/httpwg/http-extensions/pull/56.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/56", - "patch_url": "https://github.com/httpwg/http-extensions/pull/56.patch" - }, - "comments": 0, - "state": "closed", - "body": "The `http/1.1` ALPN token identifies HTTP/1.1 over TLS.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/56/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/56/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/56/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/56", - "updated_at": "2015-07-20T13:02:53Z", - "user": { - "following_url": "https://api.github.com/users/hruellan/following{/other_user}", - "events_url": "https://api.github.com/users/hruellan/events{/privacy}", - "organizations_url": "https://api.github.com/users/hruellan/orgs", - "url": "https://api.github.com/users/hruellan", - "gists_url": "https://api.github.com/users/hruellan/gists{/gist_id}", - "html_url": "https://github.com/hruellan", - "subscriptions_url": "https://api.github.com/users/hruellan/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/3206601?v=4", - "repos_url": "https://api.github.com/users/hruellan/repos", - "received_events_url": "https://api.github.com/users/hruellan/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/hruellan/starred{/owner}{/repo}", - "site_admin": false, - "login": "hruellan", - "type": "User", - "id": 3206601, - "followers_url": "https://api.github.com/users/hruellan/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/56", - "created_at": "2015-03-24T22:06:35Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 55, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-05-20T18:20:01Z", - "id": 64067281, - "title": "Editorial changes", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/55", - "diff_url": "https://github.com/httpwg/http-extensions/pull/55.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/55", - "patch_url": "https://github.com/httpwg/http-extensions/pull/55.patch" - }, - "comments": 0, - "state": "closed", - "body": "for encryption.\n\nI had these in my local repo. They weren't pushed, but I wanted to make sure that they are OK before merging them.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/55/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/55/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/55/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/55", - "updated_at": "2015-05-20T18:20:04Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/55", - "created_at": "2015-03-24T18:28:51Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/tunnel-proto", - "color": "fbca04", - "default": false, - "id": 122837759, - "name": "tunnel-proto" - } - ], - "number": 54, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-03-24T18:50:04Z", - "id": 62526635, - "title": "Falsification", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/54", - "diff_url": "https://github.com/httpwg/http-extensions/pull/54.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/54", - "patch_url": "https://github.com/httpwg/http-extensions/pull/54.patch" - }, - "comments": 0, - "state": "closed", - "body": "This adds a section regarding falsification of Tunnel-Protocol. I didn't expand this to note that WebRTC won't suffer from this problem because the application won't be able to set the header field. That seemed like too much detail.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/54/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/54/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/54/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/54", - "updated_at": "2015-03-25T01:02:57Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/54", - "created_at": "2015-03-17T21:53:15Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/308bis", - "color": "fbca04", - "default": false, - "id": 178869925, - "name": "308bis" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/auth-info", - "color": "fbca04", - "default": false, - "id": 172701276, - "name": "auth-info" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/tunnel-proto", - "color": "fbca04", - "default": false, - "id": 122837759, - "name": "tunnel-proto" - } - ], - "number": 53, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-03-11T14:38:37Z", - "id": 60443746, - "title": "WG name", - "comments": 1, - "state": "closed", - "body": "The full name of the WG is \"HTTP Working Group\" -- httpbis is only the short identifier (kept because changing it would be a pain). Please replace throughout your drafts, and note below when each is done.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/53/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/53/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/53/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/53", - "updated_at": "2015-03-11T14:39:26Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/53", - "created_at": "2015-03-10T02:59:06Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/auth-info", - "color": "fbca04", - "default": false, - "id": 172701276, - "name": "auth-info" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 52, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-04-30T15:09:59Z", - "id": 59394240, - "title": "use of BCP14 keywords", - "comments": 1, - "state": "closed", - "body": "The spec currently doesn't use BCP14 which MAY or MAY NOT confuse people.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/52/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/52/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/52/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/52", - "updated_at": "2015-04-30T15:09:59Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/52", - "created_at": "2015-03-01T12:32:30Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/auth-info", - "color": "fbca04", - "default": false, - "id": 172701276, - "name": "auth-info" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 51, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-03-02T10:40:37Z", - "id": 59392239, - "title": "clarify Proxy-Auth-Info", - "comments": 0, - "state": "closed", - "body": "Raised by Amos in https://lists.w3.org/Archives/Public/ietf-http-wg/2015JanMar/0452.html:\n\nSection 4 uses the term \"proxy authentication\" referencing RFC 7235.\n\nIn RFC 7235 there is no definition, and only a vague implied explanation\nof that term via explaining what the 407 status means.\n\nI believe the text in section 4 should be re-written to match the\nper-header descriptions found in RFC 7235 sectio 4.3/4.3 paragraph 2.\nWith mention specifically about how it differs from Authentication-Info\nby being hop-by-hop.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/51/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/51/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/51/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/51", - "updated_at": "2015-03-02T10:40:37Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/51", - "created_at": "2015-03-01T11:16:53Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/auth-info", - "color": "fbca04", - "default": false, - "id": 172701276, - "name": "auth-info" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 50, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-03-01T12:41:45Z", - "id": 59392190, - "title": "clarify rules on modifying auth-info for intermediaries", - "comments": 0, - "state": "closed", - "body": "Raised by Amos in https://lists.w3.org/Archives/Public/ietf-http-wg/2015JanMar/0452.html:\n\nSection 3 paragraph 3 says \"Intermediaries are not allowed to modify the field value in any way.\"\n\nRFC 7235 uses wording in the form: \"A proxy forwarding ... MUST NOT modify ...\"\n\nI believe the Authentication-Info should share both normative MUST NOT,\nand term \"proxy\" instead of intermediary. Since there are legitimate\ncases where gateways and/or other intermediaries may need to change it\nper the relevant auth scheme.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/50/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/50/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/50/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/50", - "updated_at": "2015-03-01T12:41:45Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/50", - "created_at": "2015-03-01T11:14:41Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/auth-info", - "color": "fbca04", - "default": false, - "id": 172701276, - "name": "auth-info" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 49, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-03-01T09:24:48Z", - "id": 58183447, - "title": "Auth-Info purpose consistency", - "comments": 1, - "state": "closed", - "body": "I think the purpose of the headers should be made more consistent across the document.\nIn the Introduction, they are used to \"_return additional information during or after authentication_\", while in 3, the Authentication-Info header is used to \"_communicate additional information regarding the successful authentication_\".\n\nDIGEST use it in an optional manner, to convey additional information after a successful authentication.\nScram is using it in a mandatory manner, to finalize the authentication, by conveying information for authenticating the server.\n\nI think that Authentication-Info should be used by the server once the client is authenticated (i.e. the status code is not 401), to either convey additional information or finalize the authentication. \n\nProposal in #47.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/49/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/49/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/49/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/49", - "updated_at": "2015-03-01T09:24:48Z", - "user": { - "following_url": "https://api.github.com/users/hruellan/following{/other_user}", - "events_url": "https://api.github.com/users/hruellan/events{/privacy}", - "organizations_url": "https://api.github.com/users/hruellan/orgs", - "url": "https://api.github.com/users/hruellan", - "gists_url": "https://api.github.com/users/hruellan/gists{/gist_id}", - "html_url": "https://github.com/hruellan", - "subscriptions_url": "https://api.github.com/users/hruellan/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/3206601?v=4", - "repos_url": "https://api.github.com/users/hruellan/repos", - "received_events_url": "https://api.github.com/users/hruellan/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/hruellan/starred{/owner}{/repo}", - "site_admin": false, - "login": "hruellan", - "type": "User", - "id": 3206601, - "followers_url": "https://api.github.com/users/hruellan/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/49", - "created_at": "2015-02-19T09:15:55Z", - "assignees": [] - }, - { - "labels": [], - "number": 48, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-02-19T08:41:57Z", - "id": 58071580, - "title": "fix \"contributing\" link in readme", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/48", - "diff_url": "https://github.com/httpwg/http-extensions/pull/48.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/48", - "patch_url": "https://github.com/httpwg/http-extensions/pull/48.patch" - }, - "comments": 0, - "state": "closed", - "body": "> It is not necessary to notify the mailing list for editorial issues.\n\n:sunglasses: \n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/48/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/48/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/48/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/48", - "updated_at": "2015-02-19T08:41:57Z", - "user": { - "following_url": "https://api.github.com/users/jomo/following{/other_user}", - "events_url": "https://api.github.com/users/jomo/events{/privacy}", - "organizations_url": "https://api.github.com/users/jomo/orgs", - "url": "https://api.github.com/users/jomo", - "gists_url": "https://api.github.com/users/jomo/gists{/gist_id}", - "html_url": "https://github.com/jomo", - "subscriptions_url": "https://api.github.com/users/jomo/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/3585743?v=4", - "repos_url": "https://api.github.com/users/jomo/repos", - "received_events_url": "https://api.github.com/users/jomo/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/jomo/starred{/owner}{/repo}", - "site_admin": false, - "login": "jomo", - "type": "User", - "id": 3585743, - "followers_url": "https://api.github.com/users/jomo/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/48", - "created_at": "2015-02-18T14:06:42Z", - "assignees": [] - }, - { - "labels": [], - "number": 47, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-02-18T12:53:33Z", - "id": 58062443, - "title": "Proposal for header purpose.", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/47", - "diff_url": "https://github.com/httpwg/http-extensions/pull/47.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/47", - "patch_url": "https://github.com/httpwg/http-extensions/pull/47.patch" - }, - "comments": 2, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/47/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/47/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/47/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/47", - "updated_at": "2015-02-19T09:16:46Z", - "user": { - "following_url": "https://api.github.com/users/hruellan/following{/other_user}", - "events_url": "https://api.github.com/users/hruellan/events{/privacy}", - "organizations_url": "https://api.github.com/users/hruellan/orgs", - "url": "https://api.github.com/users/hruellan", - "gists_url": "https://api.github.com/users/hruellan/gists{/gist_id}", - "html_url": "https://github.com/hruellan", - "subscriptions_url": "https://api.github.com/users/hruellan/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/3206601?v=4", - "repos_url": "https://api.github.com/users/hruellan/repos", - "received_events_url": "https://api.github.com/users/hruellan/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/hruellan/starred{/owner}{/repo}", - "site_admin": false, - "login": "hruellan", - "type": "User", - "id": 3206601, - "followers_url": "https://api.github.com/users/hruellan/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/47", - "created_at": "2015-02-18T12:37:13Z", - "assignees": [] - }, - { - "labels": [], - "number": 46, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-02-18T12:01:02Z", - "id": 58057946, - "title": "Typos.", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/46", - "diff_url": "https://github.com/httpwg/http-extensions/pull/46.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/46", - "patch_url": "https://github.com/httpwg/http-extensions/pull/46.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/46/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/46/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/46/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/46", - "updated_at": "2015-02-18T12:10:45Z", - "user": { - "following_url": "https://api.github.com/users/hruellan/following{/other_user}", - "events_url": "https://api.github.com/users/hruellan/events{/privacy}", - "organizations_url": "https://api.github.com/users/hruellan/orgs", - "url": "https://api.github.com/users/hruellan", - "gists_url": "https://api.github.com/users/hruellan/gists{/gist_id}", - "html_url": "https://github.com/hruellan", - "subscriptions_url": "https://api.github.com/users/hruellan/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/3206601?v=4", - "repos_url": "https://api.github.com/users/hruellan/repos", - "received_events_url": "https://api.github.com/users/hruellan/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/hruellan/starred{/owner}{/repo}", - "site_admin": false, - "login": "hruellan", - "type": "User", - "id": 3206601, - "followers_url": "https://api.github.com/users/hruellan/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/46", - "created_at": "2015-02-18T11:46:18Z", - "assignees": [] - } - ], - [ - { - "labels": [], - "number": 45, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-02-18T13:03:44Z", - "id": 58032942, - "title": "\"HTTP Authentication-Info Header Field\" links are broken", - "comments": 1, - "state": "closed", - "body": "(In the Readme)\nJust shows GitHub Pages' default 404 site.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/45/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/45/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/45/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/45", - "updated_at": "2015-02-18T13:03:44Z", - "user": { - "following_url": "https://api.github.com/users/jomo/following{/other_user}", - "events_url": "https://api.github.com/users/jomo/events{/privacy}", - "organizations_url": "https://api.github.com/users/jomo/orgs", - "url": "https://api.github.com/users/jomo", - "gists_url": "https://api.github.com/users/jomo/gists{/gist_id}", - "html_url": "https://github.com/jomo", - "subscriptions_url": "https://api.github.com/users/jomo/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/3585743?v=4", - "repos_url": "https://api.github.com/users/jomo/repos", - "received_events_url": "https://api.github.com/users/jomo/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/jomo/starred{/owner}{/repo}", - "site_admin": false, - "login": "jomo", - "type": "User", - "id": 3585743, - "followers_url": "https://api.github.com/users/jomo/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/45", - "created_at": "2015-02-18T06:34:05Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 44, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-04-21T06:29:10Z", - "id": 56878505, - "title": "alt svc frame on pushed (even and non-0) frame", - "comments": 1, - "state": "closed", - "body": "section 4 of alt-svc clearly describes origin field handling for stream 0 and client initiated (odd) streams, but it is silent on pushed streams.\n\nI think it should say must ignore\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/44/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/44/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/44/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/44", - "updated_at": "2015-04-21T06:29:10Z", - "user": { - "following_url": "https://api.github.com/users/mcmanus/following{/other_user}", - "events_url": "https://api.github.com/users/mcmanus/events{/privacy}", - "organizations_url": "https://api.github.com/users/mcmanus/orgs", - "url": "https://api.github.com/users/mcmanus", - "gists_url": "https://api.github.com/users/mcmanus/gists{/gist_id}", - "html_url": "https://github.com/mcmanus", - "subscriptions_url": "https://api.github.com/users/mcmanus/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/260531?v=4", - "repos_url": "https://api.github.com/users/mcmanus/repos", - "received_events_url": "https://api.github.com/users/mcmanus/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mcmanus/starred{/owner}{/repo}", - "site_admin": false, - "login": "mcmanus", - "type": "User", - "id": 260531, - "followers_url": "https://api.github.com/users/mcmanus/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/44", - "created_at": "2015-02-06T22:42:44Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 43, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-08-14T16:33:50Z", - "id": 56407295, - "title": "ALPN identifiers in Alt-Svc", - "comments": 7, - "state": "closed", - "body": "ALPN identifiers from the ALPN spec have been defined in the context of negotiating the application protocol in TLS. In this context, they imply a layering above TLS.\nWhen used outside this context, there is an ambiguity, mainly for the http/1.1 token: does it refer to HTTP/1.1 over TLS, or can it refer also to HTTP/1.1 over TCP?\nThe draft should resolve this ambiguity by stating that the http/1.1 identifier is used to identify HTTP/1.1 over TLS.\n\nIn addition, a new identifier, h1c for example, could be defined to identify HTTP/1.1 over cleartext TCP, in order to allow using Alt-Svc to be used to target an HTTP/1.1 server over cleartext TCP.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/43/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/43/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/43/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/43", - "updated_at": "2015-08-14T16:33:50Z", - "user": { - "following_url": "https://api.github.com/users/hruellan/following{/other_user}", - "events_url": "https://api.github.com/users/hruellan/events{/privacy}", - "organizations_url": "https://api.github.com/users/hruellan/orgs", - "url": "https://api.github.com/users/hruellan", - "gists_url": "https://api.github.com/users/hruellan/gists{/gist_id}", - "html_url": "https://github.com/hruellan", - "subscriptions_url": "https://api.github.com/users/hruellan/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/3206601?v=4", - "repos_url": "https://api.github.com/users/hruellan/repos", - "received_events_url": "https://api.github.com/users/hruellan/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/hruellan/starred{/owner}{/repo}", - "site_admin": false, - "login": "hruellan", - "type": "User", - "id": 3206601, - "followers_url": "https://api.github.com/users/hruellan/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/43", - "created_at": "2015-02-03T17:12:38Z", - "assignees": [] - }, - { - "labels": [], - "number": 42, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-02-03T17:04:32Z", - "id": 56405257, - "title": "Alt-Used improvements", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/42", - "diff_url": "https://github.com/httpwg/http-extensions/pull/42.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/42", - "patch_url": "https://github.com/httpwg/http-extensions/pull/42.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/42/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/42/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/42/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/42", - "updated_at": "2015-02-03T17:04:32Z", - "user": { - "following_url": "https://api.github.com/users/hruellan/following{/other_user}", - "events_url": "https://api.github.com/users/hruellan/events{/privacy}", - "organizations_url": "https://api.github.com/users/hruellan/orgs", - "url": "https://api.github.com/users/hruellan", - "gists_url": "https://api.github.com/users/hruellan/gists{/gist_id}", - "html_url": "https://github.com/hruellan", - "subscriptions_url": "https://api.github.com/users/hruellan/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/3206601?v=4", - "repos_url": "https://api.github.com/users/hruellan/repos", - "received_events_url": "https://api.github.com/users/hruellan/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/hruellan/starred{/owner}{/repo}", - "site_admin": false, - "login": "hruellan", - "type": "User", - "id": 3206601, - "followers_url": "https://api.github.com/users/hruellan/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/42", - "created_at": "2015-02-03T16:57:30Z", - "assignees": [] - }, - { - "labels": [], - "number": 41, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-02-03T15:14:26Z", - "id": 56387849, - "title": "Changes remaining MUST for Alt-Used.", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/41", - "diff_url": "https://github.com/httpwg/http-extensions/pull/41.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/41", - "patch_url": "https://github.com/httpwg/http-extensions/pull/41.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/41/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/41/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/41/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/41", - "updated_at": "2015-02-03T15:14:26Z", - "user": { - "following_url": "https://api.github.com/users/hruellan/following{/other_user}", - "events_url": "https://api.github.com/users/hruellan/events{/privacy}", - "organizations_url": "https://api.github.com/users/hruellan/orgs", - "url": "https://api.github.com/users/hruellan", - "gists_url": "https://api.github.com/users/hruellan/gists{/gist_id}", - "html_url": "https://github.com/hruellan", - "subscriptions_url": "https://api.github.com/users/hruellan/subscriptions", - "avatar_url": "https://avatars2.githubusercontent.com/u/3206601?v=4", - "repos_url": "https://api.github.com/users/hruellan/repos", - "received_events_url": "https://api.github.com/users/hruellan/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/hruellan/starred{/owner}{/repo}", - "site_admin": false, - "login": "hruellan", - "type": "User", - "id": 3206601, - "followers_url": "https://api.github.com/users/hruellan/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/41", - "created_at": "2015-02-03T14:56:08Z", - "assignees": [] - }, - { - "labels": [], - "number": 40, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-01-21T19:25:37Z", - "id": 55064038, - "title": "normative language, links, refs, abbreviations", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/40", - "diff_url": "https://github.com/httpwg/http-extensions/pull/40.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/40", - "patch_url": "https://github.com/httpwg/http-extensions/pull/40.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/40/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/40/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/40/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/40", - "updated_at": "2015-01-21T19:25:37Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/40", - "created_at": "2015-01-21T19:19:03Z", - "assignees": [] - }, - { - "labels": [], - "number": 39, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-01-29T16:16:24Z", - "id": 54371406, - "title": "Add Origin to ALTSVC HTTP/2 frame.", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/39", - "diff_url": "https://github.com/httpwg/http-extensions/pull/39.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/39", - "patch_url": "https://github.com/httpwg/http-extensions/pull/39.patch" - }, - "comments": 1, - "state": "closed", - "body": "A possible implementation of http://lists.w3.org/Archives/Public/ietf-http-wg/2015JanMar/0062.html.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/39/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/39/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/39/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/39", - "updated_at": "2015-01-29T16:16:24Z", - "user": { - "following_url": "https://api.github.com/users/bencebeky/following{/other_user}", - "events_url": "https://api.github.com/users/bencebeky/events{/privacy}", - "organizations_url": "https://api.github.com/users/bencebeky/orgs", - "url": "https://api.github.com/users/bencebeky", - "gists_url": "https://api.github.com/users/bencebeky/gists{/gist_id}", - "html_url": "https://github.com/bencebeky", - "subscriptions_url": "https://api.github.com/users/bencebeky/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/6144440?v=4", - "repos_url": "https://api.github.com/users/bencebeky/repos", - "received_events_url": "https://api.github.com/users/bencebeky/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/bencebeky/starred{/owner}{/repo}", - "site_admin": false, - "login": "bencebeky", - "type": "User", - "id": 6144440, - "followers_url": "https://api.github.com/users/bencebeky/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/39", - "created_at": "2015-01-14T20:21:32Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 38, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-01-29T16:21:43Z", - "id": 53774477, - "title": "Specifying origin in altsvc frame", - "comments": 1, - "state": "closed", - "body": "http://lists.w3.org/Archives/Public/ietf-http-wg/2015JanMar/0056.html\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/38/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/38/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/38/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/38", - "updated_at": "2015-01-29T16:21:43Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/38", - "created_at": "2015-01-08T17:06:12Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 37, - "assignee": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-11-30T21:51:12Z", - "id": 48451141, - "title": "frame vs header field", - "comments": 0, - "state": "closed", - "body": "1. allow the frame to carry multiple indicators\n2. while doing so, use the same payload formats for both\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/37/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/37/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/37/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/37", - "updated_at": "2014-11-30T21:51:12Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/37", - "created_at": "2014-11-11T23:43:41Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 36, - "assignee": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-11-14T01:12:43Z", - "id": 47842974, - "title": "Security Considerations: tracking using the alt-svc host name", - "comments": 0, - "state": "closed", - "body": "The security considerations (\"Tracking Clients Using Alternative Services\") are currently focused on the Alt-Used header field, which adds one bit of tracking info. They also need to mention that the alt-svc host name itself could be used for tracking.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/36/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/36/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/36/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/36", - "updated_at": "2014-11-14T01:12:43Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/36", - "created_at": "2014-11-05T14:43:51Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - } - ] - }, - { - "labels": [], - "number": 35, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-10-03T17:09:36Z", - "id": 44800016, - "title": "Section 5.3 - Expires of RFC7234 has a bad link", - "comments": 1, - "state": "closed", - "body": "https://tools.ietf.org/html/rfc7234#section-5.3\n\nContains the text: \"The Expires value is an HTTP-date timestamp, as defined in Section 7.1.1.1 of [RFC7231].\"\n\nThe target of the link to Section 7.1.1.1 is https://tools.ietf.org/html/rfc7234#section-7.1.1.1 but should be https://tools.ietf.org/html/rfc7231#section-7.1.1.1 instead\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/35/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/35/labels{/name}", - "author_association": "NONE", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/35/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/35", - "updated_at": "2014-10-03T17:09:36Z", - "user": { - "following_url": "https://api.github.com/users/andydavies/following{/other_user}", - "events_url": "https://api.github.com/users/andydavies/events{/privacy}", - "organizations_url": "https://api.github.com/users/andydavies/orgs", - "url": "https://api.github.com/users/andydavies", - "gists_url": "https://api.github.com/users/andydavies/gists{/gist_id}", - "html_url": "https://github.com/andydavies", - "subscriptions_url": "https://api.github.com/users/andydavies/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/427052?v=4", - "repos_url": "https://api.github.com/users/andydavies/repos", - "received_events_url": "https://api.github.com/users/andydavies/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/andydavies/starred{/owner}{/repo}", - "site_admin": false, - "login": "andydavies", - "type": "User", - "id": 427052, - "followers_url": "https://api.github.com/users/andydavies/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/35", - "created_at": "2014-10-03T12:53:53Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 34, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-02-05T21:04:04Z", - "id": 40956797, - "title": "Alt-Svc-Used indicator granularity", - "comments": 4, - "state": "closed", - "body": "The current Alt-Svc-Used indicator is a boolean (\"0\"/\"1\"), due to the desire to preserve privacy.\nBased on some explorations of how this would be implemented on the server side, we realized that this doesn't provide enough information to distinguish between the different use-cases for Alt-Svc. In particular, a server would have no way to know if just the protocol was changed, or if both the protocol and host were changed. If we start using multiple Alt-Svc sources (such as DNS) this also becomes relevant.\n\nAn option short of including (proto,host,port) in Alt-Svc-Used would be to include a better indicator of how the Alt-Svc was used. This could be either a bitmask or a string of tokens. For example, with a bitmask:\n- 1 = Alt-Svc was used to change protocol (ie, service proto != default origin scheme's proto)\n- 2 = Alt-Svc was used to change port (ie, service port != origin port)\n- 4 = Alt-Svc was used to change host (ie, service host != origin host)\n- 8 = Alt-Svc was obtained via Alt-Svc header\n- 16 = Alt-Svc was obtained via ALTSVC frame\n- 32 = Alt-Svc was obtained via DNS record (reserved, not yet defined)\n\nWith a token approach, short character strings could replace the bitmask.\nIn either case this would result in a value like:\n\n Alt-Svc-Used: 20\n Alt-Svc-Used: h,f\n\nFor load-balancing, this would make it possible to infer the (proto,host,port) that may have been used in cases where it differs by use-case but is consistent within a use-case.\n\nThis would also significantly help with debuggability on the server side.\n### Editorial\n\nRegardless of how this is resolved, there is still text referring to previous Alt-Svc-Used indicator proposals that should be cleaned up to be consistent with whatever we decide on. For example, with the current text the following is confusing and should be removed:\n\n> To reduce the ability of servers to track individual clients over time (see target=\"tracking\"/>), an alternative service indication sent by a client &SHOULD-NOT; include\n> any alternative service information other than the protocol, host and port.\n\n(as the protocol, host, and port aren't part of what is being sent in the current indication).\n\nThe same applies of the \"Tracking Clients Using Alternative Services\" section which may be a remnant from previous versions.\n\nThe current text also mentions a \"token\" in the Alt-Svc-Used definition, but does not explain it or specify how it might be used or set.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/34/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/34/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/34/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/34", - "updated_at": "2015-02-05T21:04:04Z", - "user": { - "following_url": "https://api.github.com/users/enygren/following{/other_user}", - "events_url": "https://api.github.com/users/enygren/events{/privacy}", - "organizations_url": "https://api.github.com/users/enygren/orgs", - "url": "https://api.github.com/users/enygren", - "gists_url": "https://api.github.com/users/enygren/gists{/gist_id}", - "html_url": "https://github.com/enygren", - "subscriptions_url": "https://api.github.com/users/enygren/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/6840678?v=4", - "repos_url": "https://api.github.com/users/enygren/repos", - "received_events_url": "https://api.github.com/users/enygren/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/enygren/starred{/owner}{/repo}", - "site_admin": false, - "login": "enygren", - "type": "User", - "id": 6840678, - "followers_url": "https://api.github.com/users/enygren/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/34", - "created_at": "2014-08-22T22:33:58Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 33, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2016-03-02T05:20:54Z", - "id": 40955142, - "title": "Align opp-sec and alt-svc", - "comments": 8, - "state": "closed", - "body": "After a re-read of alt-svc and opp-sec, it may make sense to have use some better alignment between the two docs around the cases where authentication is not employed. In particular, alt-svc indicates:\n\n> Importantly, this includes its security context; in particular, when TLS\n> is in use, the alternative server will need to present a certificate\n> for the origin's host name, not that of the alternative. \n\nReplacing \"is in use\" with \"is used to authenticate\" would align that text better with opp-sec. \n\nOn the opp-sec side:\n\n> A client MAY perform additional checks on the offered certificate if the server does not select an\n> unauthenticated TLS cipher suite. This document doesn't define any such checks, though clients\n> could be configured with a policy that defines what is acceptable.\n\nis very unclear for a server implementer (as well as clients). If authentication doesn't succeed, should the client fail-back to clear-text (the origin) or hard fail?\n\nOne possibility (which may start getting outside of the editorial realm) is for an Alt-Svc parameter indicating that authentication will not be present (either via an unauthenticated cipher suite or a mismatching cert). This would allow clients to chose to ignore the Alt-Svc rather than following it and erroring or needing to fall-back). For example:\n\n```\n Alt-Svc: h2=\":443\" ; unauth\n```\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/33/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/33/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/33/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/33", - "updated_at": "2016-03-02T05:20:54Z", - "user": { - "following_url": "https://api.github.com/users/enygren/following{/other_user}", - "events_url": "https://api.github.com/users/enygren/events{/privacy}", - "organizations_url": "https://api.github.com/users/enygren/orgs", - "url": "https://api.github.com/users/enygren", - "gists_url": "https://api.github.com/users/enygren/gists{/gist_id}", - "html_url": "https://github.com/enygren", - "subscriptions_url": "https://api.github.com/users/enygren/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/6840678?v=4", - "repos_url": "https://api.github.com/users/enygren/repos", - "received_events_url": "https://api.github.com/users/enygren/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/enygren/starred{/owner}{/repo}", - "site_admin": false, - "login": "enygren", - "type": "User", - "id": 6840678, - "followers_url": "https://api.github.com/users/enygren/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/33", - "created_at": "2014-08-22T22:14:27Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 32, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-08-19T18:29:05Z", - "id": 40620338, - "title": "Use a better opsec definition", - "comments": 0, - "state": "closed", - "body": "If draft-dukhovni-blah ever gets published, or at least the constant spiraling in SAAG quiets down, then we want to include a reference to that.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/32/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/32/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/32/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/32", - "updated_at": "2014-08-19T18:29:05Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/32", - "created_at": "2014-08-19T18:16:43Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/tunnel-proto", - "color": "fbca04", - "default": false, - "id": 122837759, - "name": "tunnel-proto" - } - ], - "number": 31, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-12-03T06:17:53Z", - "id": 40620168, - "title": "Multiple values for tunnel protocol", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/31", - "diff_url": "https://github.com/httpwg/http-extensions/pull/31.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/31", - "patch_url": "https://github.com/httpwg/http-extensions/pull/31.patch" - }, - "comments": 0, - "state": "closed", - "body": "This changes the grammar and text to permit multiple ALPN tokens in the header. This is necessary for HTTP tunnels (\"http/1.1\" and \"h2\") as well as some WebRTC cases. \n\nI made some editorial changes at the same time. I'll split those out if we don't accept this.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/31/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/31/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/31/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/31", - "updated_at": "2015-05-20T18:21:02Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/31", - "created_at": "2014-08-19T18:14:53Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 30, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-12-16T00:17:01Z", - "id": 40620068, - "title": "strongly authenticated (as the origin's host)", - "comments": 2, - "state": "closed", - "body": "What does that even mean?\n\nI think that we can be a little clearer and more precise about this statement.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/30/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/30/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/30/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/30", - "updated_at": "2014-12-16T00:17:01Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/30", - "created_at": "2014-08-19T18:13:59Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - } - ], - "number": 29, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-10-25T16:13:35Z", - "id": 40616516, - "title": "Remove tracking note", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/29", - "diff_url": "https://github.com/httpwg/http-extensions/pull/29.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/29", - "patch_url": "https://github.com/httpwg/http-extensions/pull/29.patch" - }, - "comments": 0, - "state": "closed", - "body": "Mark moved this note in his edits, but I think that we don't need it any more at all. The security considerations will suffice.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/29/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/29/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/29/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/29", - "updated_at": "2014-10-25T16:13:35Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/29", - "created_at": "2014-08-19T17:38:19Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 28, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-08-19T18:29:05Z", - "id": 40551982, - "title": "Set tone regarding security guarantees", - "comments": 0, - "state": "closed", - "body": "I think the introduction needs to do a stronger job of framing expectations regarding security properties.\n\nE.g., insert new para after para 2:\n\n> Opportunistic Security does not provide the same guarantees as using TLS with \"https\" URIs; it is vulnerable to active attacks, and does not change the security context of the connection. Normally, users will not be able to tell that it is in use (e.g., there will be no \"lock icon\").\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/28/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/28/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/28/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/28", - "updated_at": "2014-08-19T18:29:05Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/28", - "created_at": "2014-08-19T02:11:54Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 27, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-08-19T18:31:54Z", - "id": 40551357, - "title": "Cert change over time example", - "comments": 0, - "state": "closed", - "body": "Section 3 third para ends:\n\n> For instance, a client could examine the certificate to see if it has changed over time.\n\nThis implies that certs SHOULD NOT change over time; as it is, though, they can't rely upon that, so this text is highly speculative. I think we should either firm it up or take it out (probably the latter).\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/27/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/27/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/27/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/27", - "updated_at": "2014-08-19T18:31:54Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/27", - "created_at": "2014-08-19T01:58:25Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 26, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-12-16T00:17:54Z", - "id": 40551295, - "title": "Ciphersuite requirements", - "comments": 2, - "state": "closed", - "body": "Section 3 implies that there are no cipher suite requirements on Opp Sec, but it'd be good to discuss and formalise this. May require tweaks to HTTP/2 (which places requirements on use of TLS, _not_ TLS with \"https\").\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/26/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/26/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/26/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/26", - "updated_at": "2014-12-16T00:17:54Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/26", - "created_at": "2014-08-19T01:57:01Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 25, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-08-19T18:18:32Z", - "id": 40551217, - "title": "Server Auth - required or not?", - "comments": 0, - "state": "closed", - "body": "Second para of 3. Server Authentication starts:\n\n> When connecting to an alternative service for an \"http\" URI, clients are required to perform the server authentication procedure descriptor in Section 3.1 of [RFC2818].\n\nIs this merely a missing \"not\"? If that isn't the case, this is a design issue...\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/25/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/25/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/25/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/25", - "updated_at": "2014-08-19T18:18:32Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/25", - "created_at": "2014-08-19T01:55:07Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 24, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-08-19T18:13:04Z", - "id": 40551162, - "title": "Opp sec edit", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/24", - "diff_url": "https://github.com/httpwg/http-extensions/pull/24.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/24", - "patch_url": "https://github.com/httpwg/http-extensions/pull/24.patch" - }, - "comments": 0, - "state": "closed", - "body": "Editorial suggestions for opp-sec; please review carefully.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/24/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/24/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/24/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/24", - "updated_at": "2014-08-19T18:13:04Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/24", - "created_at": "2014-08-19T01:53:45Z", - "assignees": [] - }, - { - "labels": [], - "number": 23, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-08-19T17:42:42Z", - "id": 40548566, - "title": "fix minor typos in tunnel protocol", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/23", - "diff_url": "https://github.com/httpwg/http-extensions/pull/23.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/23", - "patch_url": "https://github.com/httpwg/http-extensions/pull/23.patch" - }, - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/23/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/23/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/23/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/23", - "updated_at": "2014-08-19T17:42:42Z", - "user": { - "following_url": "https://api.github.com/users/phluid61/following{/other_user}", - "events_url": "https://api.github.com/users/phluid61/events{/privacy}", - "organizations_url": "https://api.github.com/users/phluid61/orgs", - "url": "https://api.github.com/users/phluid61", - "gists_url": "https://api.github.com/users/phluid61/gists{/gist_id}", - "html_url": "https://github.com/phluid61", - "subscriptions_url": "https://api.github.com/users/phluid61/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/324275?v=4", - "repos_url": "https://api.github.com/users/phluid61/repos", - "received_events_url": "https://api.github.com/users/phluid61/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/phluid61/starred{/owner}{/repo}", - "site_admin": false, - "login": "phluid61", - "type": "User", - "id": 324275, - "followers_url": "https://api.github.com/users/phluid61/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/23", - "created_at": "2014-08-19T01:02:20Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 22, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-12-16T00:17:38Z", - "id": 40511372, - "title": "HTTP-TLS and Alt-Svc changes", - "comments": 2, - "state": "closed", - "body": "HTTP-TLS creates a commitment to use an authenticated connection. We need to make it clear that changes to Alt-Svc, even on that connection cannot change the fact that the origin needs to be authenticated for the duration of the commitment.\n\nOne potential attack here is for a MitM to advertise a different Alt-Svc, perhaps overriding the advertisement for the secured endpoint. A naive implementation might update the set of available Alt-Svc advertisements and then continue. What should happen here is that the service becomes unreachable. \n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/22/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/22/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/22/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/22", - "updated_at": "2014-12-16T00:17:38Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/22", - "created_at": "2014-08-18T17:26:24Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 21, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-09-01T15:34:45Z", - "id": 40460906, - "title": "Associating Alt-Svc header with an origin", - "comments": 7, - "state": "closed", - "body": "I think we need to be REALLY careful about making assertions about an origin in a response, given things like pretty-bad-proxy.\n\nSection 3 says:\n\n> Alt-Svc MAY occur in any HTTP response message, regardless of the status code.\n\nThat's way too broad. For example, what if it's in response to a CONNECT -- will clients associate it with the origin?\n\nI think the resolution of this will need to reference this:\n http://httpwg.github.io/specs/rfc7231.html#identification\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/21/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/21/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/21/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/21", - "updated_at": "2015-09-01T15:34:45Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/21", - "created_at": "2014-08-18T07:05:48Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - } - ], - "number": 20, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-10-25T16:04:16Z", - "id": 40460714, - "title": "Alt svc edit", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/20", - "diff_url": "https://github.com/httpwg/http-extensions/pull/20.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/20", - "patch_url": "https://github.com/httpwg/http-extensions/pull/20.patch" - }, - "comments": 0, - "state": "closed", - "body": "Editorial suggestions for alt-svc; please double-check.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/20/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/20/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/20/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/20", - "updated_at": "2014-10-25T16:04:16Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/20", - "created_at": "2014-08-18T07:01:28Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 19, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-10-25T17:09:38Z", - "id": 40460583, - "title": "Missing origin on stream 0", - "comments": 1, - "state": "closed", - "body": "Section 4 doesn't explain what to do when the frame is missing the origin on stream 0.\n\nSimplest thing would be to say that a frame on stream 0 that doesn't contain an origin should be ignored.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/19/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/19/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/19/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/19", - "updated_at": "2014-10-25T17:09:38Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/19", - "created_at": "2014-08-18T06:58:43Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 18, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-06-21T17:41:00Z", - "id": 40460464, - "title": "Unexpected Alt-Svc frames", - "comments": 8, - "state": "closed", - "body": "Section 4 requires PROTOCOL_ERROR on an ALTSVC frame. However, earlier we say that it's a non-critical extension, and can be ignored. Which is it?\n\nYes, we could make a distinction on \"supporting the frame\", but that doesn't seem to helpful.\n\nCan we just drop the requirement and say it doesn't mean anything?\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/18/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/18/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/18/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/18", - "updated_at": "2015-06-21T17:41:00Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/18", - "created_at": "2014-08-18T06:56:55Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 17, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-10-25T16:38:37Z", - "id": 40460384, - "title": "Alt-Svc-Used", - "comments": 4, - "state": "closed", - "body": "The field-name for Alt-Svc-Used is 12 characters, and it's required to be sent in every request. \n\nWhile we have header compression in /2, we don't in /1.\n\nCan we make this shorter? Perhaps \"ASU\"?\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/17/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/17/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/17/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/17", - "updated_at": "2014-10-25T16:38:37Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/17", - "created_at": "2014-08-18T06:55:02Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 16, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-09-19T18:33:45Z", - "id": 40460330, - "title": "Alt-Svc alternative cache invalidation", - "comments": 16, - "state": "closed", - "body": "In 3 The Alt-Svc HTTP Header Field, there's:\n\n> When an Alt-Svc response header field is received from an origin, its value invalidates and replaces all cached alternative services for that origin.\n\nHowever, in several other places, we now say that multiple alternatives can co-exist (with the client figuring out which to use). \n\nIs this still our intent -- i.e., that the header field has a special cache invalidation semantic -- or is it just left over from our previous approach?\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/16/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/16/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/16/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/16", - "updated_at": "2015-09-19T18:33:45Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/16", - "created_at": "2014-08-18T06:54:06Z", - "assignees": [] - } - ], - [ - { - "labels": [], - "number": 15, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-08-15T18:17:50Z", - "id": 40318007, - "title": "Talk about multiple alternative services", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/15", - "diff_url": "https://github.com/httpwg/http-extensions/pull/15.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/15", - "patch_url": "https://github.com/httpwg/http-extensions/pull/15.patch" - }, - "comments": 0, - "state": "closed", - "body": "For httpwg/http-extensions#8.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/15/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/15/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/15/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/15", - "updated_at": "2014-08-17T23:44:13Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/15", - "created_at": "2014-08-15T02:18:54Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 14, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-08-13T19:29:21Z", - "id": 39929456, - "title": "Update tunnel-protocol spec", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/14", - "diff_url": "https://github.com/httpwg/http-extensions/pull/14.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/14", - "patch_url": "https://github.com/httpwg/http-extensions/pull/14.patch" - }, - "comments": 3, - "state": "closed", - "body": "As discussed; a quick pass to trim down RTCweb stuff, etc.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/14/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/14/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/14/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/14", - "updated_at": "2014-08-13T19:29:21Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/14", - "created_at": "2014-08-11T05:38:58Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 13, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-08-18T01:06:44Z", - "id": 38962020, - "title": "Tracking Clients Using Alternative Services", - "comments": 2, - "state": "closed", - "body": "Section 9.4 - is this still necessary, now that it's just one bit? At a minimum, this section should be toned down.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/13/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/13/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/13/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/13", - "updated_at": "2014-08-18T01:06:44Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/13", - "created_at": "2014-07-29T06:35:01Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 12, - "assignee": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2015-05-01T14:49:52Z", - "id": 38632472, - "title": "Positive indicator of server understanding", - "comments": 7, - "state": "closed", - "body": "I'm not sure how this can be turned into something useful, but this seems pretty bad:\n1. An HTTP/1.1 server doesn't check the scheme, but permits authority form requests for both `http` and `https` equally. Scheme is instead inferred from the presence/absence of TLS in the stack.\n2. Attacker sends an Alt-Svc header field to clients referencing the `https` endpoint on that server. This can come from any resource on the `http` endpoint, so it might not require any MitM attack.\n3. Clients now make `http` requests to the secure endpoint and now the content from the `https` origin is entered into the `http` origin.\n\nDo we want to require an explicit indication from HTTP/1.1 servers so that clients can\nbe assured that this error did not occur?\n\nThis should not be a problem for HTTP/2.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/12/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/12/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/12/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/12", - "updated_at": "2015-05-01T14:49:52Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/12", - "created_at": "2014-07-24T13:46:18Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - } - ], - "number": 11, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-07-23T14:01:34Z", - "id": 37984167, - "title": "need to state what \"alt-svc-used: 0\" means", - "comments": 0, - "state": "closed", - "body": "", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/11/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/11/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/11/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/11", - "updated_at": "2014-07-23T14:01:34Z", - "user": { - "following_url": "https://api.github.com/users/reschke/following{/other_user}", - "events_url": "https://api.github.com/users/reschke/events{/privacy}", - "organizations_url": "https://api.github.com/users/reschke/orgs", - "url": "https://api.github.com/users/reschke", - "gists_url": "https://api.github.com/users/reschke/gists{/gist_id}", - "html_url": "https://github.com/reschke", - "subscriptions_url": "https://api.github.com/users/reschke/subscriptions", - "avatar_url": "https://avatars3.githubusercontent.com/u/332994?v=4", - "repos_url": "https://api.github.com/users/reschke/repos", - "received_events_url": "https://api.github.com/users/reschke/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/reschke/starred{/owner}{/repo}", - "site_admin": false, - "login": "reschke", - "type": "User", - "id": 332994, - "followers_url": "https://api.github.com/users/reschke/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/11", - "created_at": "2014-07-16T13:56:17Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editorial", - "color": "009800", - "default": false, - "id": 111000923, - "name": "editorial" - } - ], - "number": 10, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-08-15T18:19:34Z", - "id": 37933277, - "title": "Using h2 instead of http2 for ALPN labels", - "pull_request": { - "url": "https://api.github.com/repos/httpwg/http-extensions/pulls/10", - "diff_url": "https://github.com/httpwg/http-extensions/pull/10.diff", - "html_url": "https://github.com/httpwg/http-extensions/pull/10", - "patch_url": "https://github.com/httpwg/http-extensions/pull/10.patch" - }, - "comments": 0, - "state": "closed", - "body": "I added a reference to the first mention as well, just to keep things shiny.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/10/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/10/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/10/comments", - "html_url": "https://github.com/httpwg/http-extensions/pull/10", - "updated_at": "2014-08-15T18:19:34Z", - "user": { - "following_url": "https://api.github.com/users/martinthomson/following{/other_user}", - "events_url": "https://api.github.com/users/martinthomson/events{/privacy}", - "organizations_url": "https://api.github.com/users/martinthomson/orgs", - "url": "https://api.github.com/users/martinthomson", - "gists_url": "https://api.github.com/users/martinthomson/gists{/gist_id}", - "html_url": "https://github.com/martinthomson", - "subscriptions_url": "https://api.github.com/users/martinthomson/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/67641?v=4", - "repos_url": "https://api.github.com/users/martinthomson/repos", - "received_events_url": "https://api.github.com/users/martinthomson/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/martinthomson/starred{/owner}{/repo}", - "site_admin": false, - "login": "martinthomson", - "type": "User", - "id": 67641, - "followers_url": "https://api.github.com/users/martinthomson/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/10", - "created_at": "2014-07-15T22:39:38Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/opp-sec", - "color": "fbca04", - "default": false, - "id": 111000960, - "name": "opp-sec" - } - ], - "number": 9, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-08-15T04:00:07Z", - "id": 36954452, - "title": "OppSec and proxies", - "comments": 1, - "state": "closed", - "body": "We need to define how a client using OppSec connects to a configured proxy; e.g., does it CONNECT, or does it downgrade? Does the answer change if the proxy is http vs https? Can the proxy advertise OppSec?\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/9/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/9/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/9/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/9", - "updated_at": "2014-08-15T04:00:07Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/9", - "created_at": "2014-07-02T06:06:15Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 8, - "assignee": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-08-18T01:06:07Z", - "id": 36346221, - "title": "Multiple ALTSVC frames", - "comments": 3, - "state": "closed", - "body": " **Issue by [martinthomson](https://github.com/martinthomson)**\n_Thursday Jun 12, 2014 at 18:00 GMT_\n_Originally opened as https://github.com/http2/http2-spec/issues/522_\n\n---\n\nWhat are the semantics of subsequent ALTSVC frames for a given origin?\n\nThe current story is that a new value replaces the value of the old for that origin.\n\nAlternatively, we could have multiple frames present alternative alternative services. That opens the question of how to indicate that a given service is obsolete. But it's not clear we even need to do that.\n\nThen there is the fact that the Alt-Svc header field can have multiple values (see #521). Do we need to replicate that capability for frames?\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/8/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/8/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/8/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/8", - "updated_at": "2014-08-18T01:06:07Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/8", - "created_at": "2014-06-24T01:27:56Z", - "assignees": [ - { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - } - ] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 7, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-07-23T14:58:16Z", - "id": 36346218, - "title": "Ranking multiple alternative services", - "comments": 2, - "state": "closed", - "body": " **Issue by [martinthomson](https://github.com/martinthomson)**\n_Thursday Jun 12, 2014 at 17:56 GMT_\n_Originally opened as https://github.com/http2/http2-spec/issues/521_\n\n---\n\nThe Alt-Svc header field permits multiple entries. How does a client select between them when there are multiple options that are acceptable to the client?\n1. Add a q= parameter.\n2. Select the first acceptable option.\n3. Something else.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/7/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/7/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/7/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/7", - "updated_at": "2014-07-23T14:58:16Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/7", - "created_at": "2014-06-24T01:27:55Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 6, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-06-24T01:30:06Z", - "id": 36346215, - "title": "Make the Service header field SHOULD", - "comments": 1, - "state": "closed", - "body": " **Issue by [martinthomson](https://github.com/martinthomson)**\n_Thursday Jun 05, 2014 at 19:46 GMT_\n_Originally opened as https://github.com/http2/http2-spec/issues/502_\n\n---\n\n...with a good explanation. This helps alleviate the privacy considerations (see #501)\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/6/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/6/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/6/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/6", - "updated_at": "2014-06-24T01:30:06Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/6", - "created_at": "2014-06-24T01:27:52Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 5, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-07-23T14:09:59Z", - "id": 36346205, - "title": "Alt-Svc header host restriction", - "comments": 8, - "state": "closed", - "body": " **Issue by [mnot](https://github.com/mnot)**\n_Wednesday Jun 04, 2014 at 16:11 GMT_\n_Originally opened as https://github.com/http2/http2-spec/issues/492_\n\n---\n\nWhen we were originally working on Alt-Svc, Patrick and I put a restriction on the Alt-Svc header field so that it couldn\u2019t redirect clients to a different host.\n\nSince then, several people have pointed out that the requirement to have strong server authentication, as well as cache flushing, seems to contain the risk associated with doing this, and that the facility could be quite useful.\n\nSo, I\u2019m suggesting we (re-) add the capability to the header.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/5/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/5/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/5/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/5", - "updated_at": "2014-07-23T14:09:59Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/5", - "created_at": "2014-06-24T01:27:43Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 4, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-06-24T01:29:46Z", - "id": 36346199, - "title": "Intermediaries and Alt-Svc", - "comments": 1, - "state": "closed", - "body": " **Issue by [mnot](https://github.com/mnot)**\n_Monday Apr 21, 2014 at 03:02 GMT_\n_Originally opened as https://github.com/http2/http2-spec/issues/462_\n\n---\n\nCurrently, Alt-Svc says:\n\n```\nIntermediaries MUST NOT change or append Alt-Svc field values.\n```\n\nThis seems too restrictive; e.g., a gateway (CDN) could do something useful here.\n\nSuggestion:\n\n```\nProxies MUST NOT change or append Alt-Svc field values.\n```\n\nAn argument could be made to degrade to SHOULD NOT, but if we do that, the specific conditions ought to be enumerated.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/4/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/4/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/4/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/4", - "updated_at": "2014-06-24T01:29:46Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/4", - "created_at": "2014-06-24T01:27:40Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 3, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-06-24T01:29:12Z", - "id": 36346197, - "title": "alt-svc header field syntax", - "comments": 0, - "state": "closed", - "body": " **Issue by [reschke](https://github.com/reschke)**\n_Tuesday Apr 01, 2014 at 06:16 GMT_\n_Originally opened as https://github.com/http2/http2-spec/issues/446_\n\n---\n\nSee http://lists.w3.org/Archives/Public/ietf-http-wg/2014JanMar/0856.html\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/3/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/3/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/3/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/3", - "updated_at": "2014-06-24T01:29:21Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/3", - "created_at": "2014-06-24T01:27:39Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/editor-ready", - "color": "0b02e1", - "default": false, - "id": 109132737, - "name": "editor-ready" - } - ], - "number": 2, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-07-23T14:31:37Z", - "id": 36346196, - "title": "Flushing Alt-Svc Cache", - "comments": 1, - "state": "closed", - "body": " **Issue by [mnot](https://github.com/mnot)**\n_Monday Mar 31, 2014 at 03:20 GMT_\n_Originally opened as https://github.com/http2/http2-spec/issues/444_\n\n---\n\nFor the load balancing use case, it's necessary for clients to always flush altsvc cache upon a network change, but right now they're only required to examine the cache for suspicious entries. We should discuss whether this should be upgraded to always flush.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/2/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/2/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/2/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/2", - "updated_at": "2014-07-23T14:31:37Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/2", - "created_at": "2014-06-24T01:27:36Z", - "assignees": [] - }, - { - "labels": [ - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/alt-svc", - "color": "fbca04", - "default": false, - "id": 109132714, - "name": "alt-svc" - }, - { - "url": "https://api.github.com/repos/httpwg/http-extensions/labels/design", - "color": "02d7e1", - "default": false, - "id": 109132722, - "name": "design" - } - ], - "number": 1, - "assignee": null, - "repository_url": "https://api.github.com/repos/httpwg/http-extensions", - "closed_at": "2014-06-24T01:29:00Z", - "id": 36346191, - "title": "Indicating Chosen Service", - "comments": 3, - "state": "closed", - "body": " **Issue by [mnot](https://github.com/mnot)**\n_Monday Mar 31, 2014 at 03:19 GMT_\n_Originally opened as https://github.com/http2/http2-spec/issues/443_\n\n---\n\nIt's likely necessary for the server to know which protocol the user agent has chosen, and perhaps even the hostname (for load balancing). At the very least, there should be a flag in SETTINGS that indicates that an alternate service has been used.\n", - "events_url": "https://api.github.com/repos/httpwg/http-extensions/issues/1/events", - "labels_url": "https://api.github.com/repos/httpwg/http-extensions/issues/1/labels{/name}", - "author_association": "CONTRIBUTOR", - "comments_url": "https://api.github.com/repos/httpwg/http-extensions/issues/1/comments", - "html_url": "https://github.com/httpwg/http-extensions/issues/1", - "updated_at": "2014-06-24T01:29:00Z", - "user": { - "following_url": "https://api.github.com/users/mnot/following{/other_user}", - "events_url": "https://api.github.com/users/mnot/events{/privacy}", - "organizations_url": "https://api.github.com/users/mnot/orgs", - "url": "https://api.github.com/users/mnot", - "gists_url": "https://api.github.com/users/mnot/gists{/gist_id}", - "html_url": "https://github.com/mnot", - "subscriptions_url": "https://api.github.com/users/mnot/subscriptions", - "avatar_url": "https://avatars1.githubusercontent.com/u/74384?v=4", - "repos_url": "https://api.github.com/users/mnot/repos", - "received_events_url": "https://api.github.com/users/mnot/received_events", - "gravatar_id": "", - "starred_url": "https://api.github.com/users/mnot/starred{/owner}{/repo}", - "site_admin": false, - "login": "mnot", - "type": "User", - "id": 74384, - "followers_url": "https://api.github.com/users/mnot/followers" - }, - "milestone": null, - "locked": false, - "url": "https://api.github.com/repos/httpwg/http-extensions/issues/1", - "created_at": "2014-06-24T01:27:32Z", - "assignees": [] - } - ] -] diff --git a/lib/addstyle.sed b/lib/addstyle.sed deleted file mode 100644 index 4df07896d..000000000 --- a/lib/addstyle.sed +++ /dev/null @@ -1,6 +0,0 @@ -\~~ { a\ - -} diff --git a/lib/clean-for-DTD.xslt b/lib/clean-for-DTD.xslt deleted file mode 100644 index 4934c9e78..000000000 --- a/lib/clean-for-DTD.xslt +++ /dev/null @@ -1,1564 +0,0 @@ - - - - - - - - - - - - - - -false - - - - - - 201706 - 201610 - 201510 - - - - - - - - - - - - - - This XML document is the output of clean-for-DTD.xslt; a tool that strips - extensions to RFC2629(bis) from documents for processing with xml2rfc. - - -TARGET-GENERATOR: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Issues that were either rejected or resolved in this version of this - document. - - -
-
- -
- -
-
-
-
- - - - - - - - - - - - - - - - - no - - - - - %x - - - - - - - - - - - - - - - - - - - - - - - - - Converted from rfc2629.xslt x:prose extension - - - - - - - - - - - - - - - Converted from rfc2629.xslt refcontent extension - - - - - - - - - - - - converted from v3 <postalLine> - - - - - - - - FATAL: multiple x:ref targets found for . - - - - - - - - - - - - - - - couldn't create the link as does not support the anchor attribute. - - - - - - - - - - - - internal link target for '' does not exist. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - " - - " - - - - - - - - - - ^ - - - - - _ - - - - - - - - - - - - - - - - - - Replacing surname by . - - - - - - - - - - - - Replacing fullname by . - - - - - - - - - - - - Replacing initials by . - - - - - - - - - - - - - (see Authors Section) - - - - - - - - - - - - - - - - - - - - - - <xsl:apply-templates select="@*" mode="cleanup"/> - <xsl:choose> - <xsl:when test="@ascii!=''"> - <xsl:value-of select="@ascii"/> - </xsl:when> - <xsl:otherwise> - <xsl:value-of select="text()"/> - </xsl:otherwise> - </xsl:choose> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Appendix - Section - - - - - - - - comma - of - - - - - - - - - - - , - - - - - - - - - - - - - - - - - ( - - - - ) - - - - - - of - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unsupported x:fmt attribute. - - - - - - - - - - - - - - - - - Broken xref due to target being filtered out. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - In Section : - - - - - Type: - - - - - - < - - > - - , < - - > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
- - - - - -
-
-
-
- - - Resolution - () - : - - - -
-
- - - - - - - - - - - - " - - " - - -- - - - - - - - - - - - <del> - - </del> - - - - - - - - - - <ins> - - </ins> - - - - - - - - < - - > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
-
- - - - - - - - - SVG image removed. - -(see SVG image in HTML version) - - - - - - - - - - - - - <CODE BEGINS> - - - - - - - - - - - - - - - - - <CODE ENDS> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - , - - - - - - - - - < - - > - - - - - - - - - - - - - - - - Dropping annotation on element. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sortrefs="yes" - - - symrefs="no" - - - tocdepth="" - - - toc="yes" - - - - - - - - - - - strong not translated when including child elements - - - - - - - - - - - - - - - - em not translated when including child elements - - - - - - - - - - - - - - - - tt not translated when they include child elements - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - no - - - - - - - - - - - - - - - - - - - - -
- - - unnumbered sections not supported - - -
- - - - - - - - - - - - - - - - - - - - - - subcompact='no' - subcompact='yes' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - no - list start != 1 not supported - - - - - no - ol/@group not supported - - - - - - - - - - - - - no - list start != 1 not supported - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - center - - - - - - - - - - - - - - - - - - - - - - - no - rowspan attribute not supported (dropped, table will be ugly) - - - - - no - colspan attribute not supported (dropped, table will be ugly) - - - - - - no - tfoot element not supported (dropped) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not rewriting reference name as it would conflict - - - - - - rewriting reference name '' to '' due to illegal start character - - - - - - - - -
\ No newline at end of file diff --git a/lib/cssmap.xml b/lib/cssmap.xml deleted file mode 100644 index 95e8f2060..000000000 --- a/lib/cssmap.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/lib/draft-ietf-httpbis-http2-16.xml b/lib/draft-ietf-httpbis-http2-16.xml deleted file mode 100755 index 48ca75d94..000000000 --- a/lib/draft-ietf-httpbis-http2-16.xml +++ /dev/null @@ -1,5422 +0,0 @@ - - - - - - - - - - - - - - - - - - - Hypertext Transfer Protocol version 2 - - - Twist -
- mbelshe@chromium.org -
-
- - - Google, Inc -
- fenix@google.com -
-
- - - Mozilla -
- - 331 E Evelyn Street - Mountain View - CA - 94041 - US - - martin.thomson@gmail.com -
-
- - - Applications - HTTPbis - HTTP - SPDY - Web - - - - This specification describes an optimized expression of the semantics of the Hypertext - Transfer Protocol (HTTP). HTTP/2 enables a more efficient use of network resources and a - reduced perception of latency by introducing header field compression and allowing multiple - concurrent messages on the same connection. It also introduces unsolicited push of - representations from servers to clients. - - - This specification is an alternative to, but does not obsolete, the HTTP/1.1 message syntax. - HTTP's existing semantics remain unchanged. - - - - - - Discussion of this draft takes place on the HTTPBIS working group mailing list - (ietf-http-wg@w3.org), which is archived at . - - - Working Group information can be found at ; that specific to HTTP/2 are at . - - - The changes in this draft are summarized in . - - - -
- - -
- - - The Hypertext Transfer Protocol (HTTP) is a wildly successful protocol. However, how - HTTP/1.1 uses the underlying transport () has several characteristics that have a negative overall - effect on application performance today. - - - In particular, HTTP/1.0 allowed only one request to be outstanding at a time on a given - TCP connection. HTTP/1.1 added request pipelining, but this only partially addressed - request concurrency and still suffers from head-of-line blocking. Therefore, HTTP/1.1 - clients that need to make many requests typically use multiple connections to a server in - order to achieve concurrency and thereby reduce latency. - - - Furthermore, HTTP header fields are often repetitive and verbose, causing unnecessary - network traffic, as well as causing the initial TCP congestion - window to quickly fill. This can result in excessive latency when multiple requests are - made on a new TCP connection. - - - HTTP/2 addresses these issues by defining an optimized mapping of HTTP's semantics to an - underlying connection. Specifically, it allows interleaving of request and response - messages on the same connection and uses an efficient coding for HTTP header fields. It - also allows prioritization of requests, letting more important requests complete more - quickly, further improving performance. - - - The resulting protocol is more friendly to the network, because fewer TCP connections can - be used in comparison to HTTP/1.x. This means less competition with other flows, and - longer-lived connections, which in turn leads to better utilization of available network - capacity. - - - Finally, HTTP/2 also enables more efficient processing of messages through use of binary - message framing. - -
- -
- - HTTP/2 provides an optimized transport for HTTP semantics. HTTP/2 supports all of the core - features of HTTP/1.1, but aims to be more efficient in several ways. - - - The basic protocol unit in HTTP/2 is a frame. Each frame - type serves a different purpose. For example, HEADERS and - DATA frames form the basis of HTTP requests and - responses; other frame types like SETTINGS, - WINDOW_UPDATE, and PUSH_PROMISE are used in support of other - HTTP/2 features. - - - Multiplexing of requests is achieved by having each HTTP request-response exchange - associated with its own stream. Streams are largely - independent of each other, so a blocked or stalled request or response does not prevent - progress on other streams. - - - Flow control and prioritization ensure that it is possible to efficiently use multiplexed - streams. Flow control helps to ensure that only data that - can be used by a receiver is transmitted. Prioritization ensures that limited resources can be directed - to the most important streams first. - - - HTTP/2 adds a new interaction mode, whereby a server can push - responses to a client. Server push allows a server to speculatively send data to a - client that the server anticipates the client will need, trading off some network usage - against a potential latency gain. The server does this by synthesizing a request, which it - sends as a PUSH_PROMISE frame. The server is then able to send a response to - the synthetic request on a separate stream. - - - Because HTTP header fields used in a connection can contain large amounts of redundant - data, frames that contain them are compressed. This has - especially advantageous impact upon request sizes in the common case, allowing many - requests to be compressed into one TCP packet. - - -
- - The HTTP/2 specification is split into four parts: - - - Starting HTTP/2 covers how an HTTP/2 connection is - initiated. - - - The framing and streams layers describe the way HTTP/2 frames are - structured and formed into multiplexed streams. - - - Frame and error - definitions include details of the frame and error types used in HTTP/2. - - - HTTP mappings and additional - requirements describe how HTTP semantics are expressed using frames and - streams. - - - - - While some of the frame and stream layer concepts are isolated from HTTP, this - specification does not define a completely generic framing layer. The framing and streams - layers are tailored to the needs of the HTTP protocol and server push. - -
- -
- - The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD - NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as - described in RFC 2119. - - - All numeric values are in network byte order. Values are unsigned unless otherwise - indicated. Literal values are provided in decimal or hexadecimal as appropriate. - Hexadecimal literals are prefixed with 0x to distinguish them - from decimal literals. - - - The following terms are used: - - - The endpoint initiating the HTTP/2 connection. - - - A transport-layer connection between two endpoints. - - - An error that affects the entire HTTP/2 connection. - - - Either the client or server of the connection. - - - The smallest unit of communication within an HTTP/2 connection, consisting of a header - and a variable-length sequence of octets structured according to the frame type. - - - An endpoint. When discussing a particular endpoint, "peer" refers to the endpoint - that is remote to the primary subject of discussion. - - - An endpoint that is receiving frames. - - - An endpoint that is transmitting frames. - - - The endpoint which did not initiate the HTTP/2 connection. - - - A bi-directional flow of frames across a virtual channel within the HTTP/2 connection. - - - An error on the individual HTTP/2 stream. - - - - - Finally, the terms "gateway", "intermediary", "proxy", and "tunnel" are defined - in . - -
-
- -
- - An HTTP/2 connection is an application layer protocol running on top of a TCP connection - (). The client is the TCP connection initiator. - - - HTTP/2 uses the same "http" and "https" URI schemes used by HTTP/1.1. HTTP/2 shares the same - default port numbers: 80 for "http" URIs and 443 for "https" URIs. As a result, - implementations processing requests for target resource URIs like http://example.org/foo or https://example.com/bar are required to first discover whether the - upstream server (the immediate peer to which the client wishes to establish a connection) - supports HTTP/2. - - - - The means by which support for HTTP/2 is determined is different for "http" and "https" - URIs. Discovery for "http" URIs is described in . Discovery - for "https" URIs is described in . - - -
- - The protocol defined in this document has two identifiers. - - - - The string "h2" identifies the protocol where HTTP/2 uses TLS. This identifier is used in the TLS application layer protocol negotiation extension (ALPN) - field and in any place where HTTP/2 over TLS is identified. - - - The "h2" string is serialized into an ALPN protocol identifier as the two octet - sequence: 0x68, 0x32. - - - - - The string "h2c" identifies the protocol where HTTP/2 is run over cleartext TCP. - This identifier is used in the HTTP/1.1 Upgrade header field and in any place where - HTTP/2 over TCP is identified. - - - - - - Negotiating "h2" or "h2c" implies the use of the transport, security, framing and message - semantics described in this document. - - - RFC Editor's Note: please remove the remainder of this section prior to the - publication of a final version of this document. - - - Only implementations of the final, published RFC can identify themselves as "h2" or "h2c". - Until such an RFC exists, implementations MUST NOT identify themselves using these - strings. - - - Examples and text throughout the rest of this document use "h2" as a matter of - editorial convenience only. Implementations of draft versions MUST NOT identify using - this string. - - - Implementations of draft versions of the protocol MUST add the string "-" and the - corresponding draft number to the identifier. For example, draft-ietf-httpbis-http2-11 - over TLS is identified using the string "h2-11". - - - Non-compatible experiments that are based on these draft versions MUST append the string - "-" and an experiment name to the identifier. For example, an experimental implementation - of packet mood-based encoding based on draft-ietf-httpbis-http2-09 might identify itself - as "h2-09-emo". Note that any label MUST conform to the "token" syntax defined in - . Experimenters are - encouraged to coordinate their experiments on the ietf-http-wg@w3.org mailing list. - -
- -
- - A client that makes a request for an "http" URI without prior knowledge about support for - HTTP/2 on the next hop uses the HTTP Upgrade mechanism (). The client does so by making an HTTP/1.1 request that - includes an Upgrade header field with the "h2c" token. Such an HTTP/1.1 request MUST - include exactly one HTTP2-Settings header field. - -
- For example: - - -]]> -
- - Requests that contain an entity body MUST be sent in their entirety before the client can - send HTTP/2 frames. This means that a large request entity can block the use of the - connection until it is completely sent. - - - If concurrency of an initial request with subsequent requests is important, an OPTIONS - request can be used to perform the upgrade to HTTP/2, at the cost of an additional - round-trip. - - - A server that does not support HTTP/2 can respond to the request as though the Upgrade - header field were absent: - -
- -HTTP/1.1 200 OK -Content-Length: 243 -Content-Type: text/html - -... - -
- - A server MUST ignore a "h2" token in an Upgrade header field. Presence of a token with - "h2" implies HTTP/2 over TLS, which is instead negotiated as described in . - - - A server that supports HTTP/2 can accept the upgrade with a 101 (Switching Protocols) - response. After the empty line that terminates the 101 response, the server can begin - sending HTTP/2 frames. These frames MUST include a response to the request that initiated - the Upgrade. - - -
- - For example: - - -HTTP/1.1 101 Switching Protocols -Connection: Upgrade -Upgrade: h2c - -[ HTTP/2 connection ... - -
- - The first HTTP/2 frame sent by the server MUST be a SETTINGS frame () as the server connection preface (). Upon receiving the 101 response, the client MUST send a - connection preface, which includes a - SETTINGS frame. - - - The HTTP/1.1 request that is sent prior to upgrade is assigned stream identifier 1 and is - assigned default priority values. Stream 1 is - implicitly half closed from the client toward the server, since the request is completed - as an HTTP/1.1 request. After commencing the HTTP/2 connection, stream 1 is used for the - response. - - -
- - A request that upgrades from HTTP/1.1 to HTTP/2 MUST include exactly one HTTP2-Settings header field. The HTTP2-Settings header field is a connection-specific header field - that includes parameters that govern the HTTP/2 connection, provided in anticipation of - the server accepting the request to upgrade. - -
- -
- - A server MUST NOT upgrade the connection to HTTP/2 if this header field is not present, - or if more than one is present. A server MUST NOT send this header field. - - - - The content of the HTTP2-Settings header field is the - payload of a SETTINGS frame (), encoded as a - base64url string (that is, the URL- and filename-safe Base64 encoding described in , with any trailing '=' characters omitted). The - ABNF production for token68 is - defined in . - - - Since the upgrade is only intended to apply to the immediate connection, a client - sending HTTP2-Settings MUST also send HTTP2-Settings as a connection option in the Connection header field to prevent it from being forwarded (see - ). - - - A server decodes and interprets these values as it would any other - SETTINGS frame. Explicit acknowledgement of - these settings is not necessary, since a 101 response serves as implicit - acknowledgment. Providing these values in the Upgrade request gives a client an - opportunity to provide parameters prior to receiving any frames from the server. - -
-
- -
- - A client that makes a request to an "https" URI uses TLS - with the application layer protocol negotiation extension. - - - HTTP/2 over TLS uses the "h2" application token. The "h2c" token MUST NOT be sent by a - client or selected by a server. - - - Once TLS negotiation is complete, both the client and the server MUST send a connection preface. - -
- -
- - A client can learn that a particular server supports HTTP/2 by other means. For example, - describes a mechanism for advertising this capability. - - - A client MUST send the connection preface, and - then MAY immediately send HTTP/2 frames to such a server; servers can identify these - connections by the presence of the connection preface. This only affects the - establishment of HTTP/2 connections over cleartext TCP; implementations that support - HTTP/2 over TLS MUST use protocol negotiation in TLS. - - - Likewise, the sever MUST send a connection preface. - - - Without additional information, prior support for HTTP/2 is not a strong signal that a - given server will support HTTP/2 for future connections. For example, it is possible for - server configurations to change, for configurations to differ between instances in - clustered servers, or for network conditions to change. - -
- -
- - In HTTP/2, each endpoint is required to send a connection preface as a final confirmation - of the protocol in use, and to establish the initial settings for the HTTP/2 connection. - The client and server each send a different connection preface. - - - The client connection preface starts with a sequence of 24 octets, which in hex notation - are: - -
- -
- - (the string PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n). This sequence - MUST be followed by a SETTINGS frame (), which - MAY be empty. The client sends the client connection preface immediately upon receipt of - a 101 Switching Protocols response (indicating a successful upgrade), or as the first - application data octets of a TLS connection. If starting an HTTP/2 connection with prior - knowledge of server support for the protocol, the client connection preface is sent upon - connection establishment. - - - - - The client connection preface is selected so that a large proportion of HTTP/1.1 or - HTTP/1.0 servers and intermediaries do not attempt to process further frames. Note - that this does not address the concerns raised in . - - - - - The server connection preface consists of a potentially empty SETTINGS - frame () that MUST be the first frame the server sends in the - HTTP/2 connection. - - - The SETTINGS frames received from a peer as part of the connection preface - MUST be acknowledged (see ) after sending the connection - preface. - - - To avoid unnecessary latency, clients are permitted to send additional frames to the - server immediately after sending the client connection preface, without waiting to receive - the server connection preface. It is important to note, however, that the server - connection preface SETTINGS frame might include parameters that necessarily - alter how a client is expected to communicate with the server. Upon receiving the - SETTINGS frame, the client is expected to honor any parameters established. - In some configurations, it is possible for the server to transmit SETTINGS - before the client sends additional frames, providing an opportunity to avoid this issue. - - - Clients and servers MUST treat an invalid connection preface as a connection error of type - PROTOCOL_ERROR. A GOAWAY frame () - MAY be omitted in this case, since an invalid preface indicates that the peer is not using - HTTP/2. - -
-
- -
- - Once the HTTP/2 connection is established, endpoints can begin exchanging frames. - - -
- - All frames begin with a fixed 9-octet header followed by a variable-length payload. - -
- -
- - The fields of the frame header are defined as: - - - - The length of the frame payload expressed as an unsigned 24-bit integer. Values - greater than 214 (16,384) MUST NOT be sent unless the receiver has - set a larger value for SETTINGS_MAX_FRAME_SIZE. - - - The 9 octets of the frame header are not included in this value. - - - - - The 8-bit type of the frame. The frame type determines the format and semantics of - the frame. Implementations MUST ignore and discard any frame that has a type that - is unknown. - - - - - An 8-bit field reserved for frame-type specific boolean flags. - - - Flags are assigned semantics specific to the indicated frame type. Flags that have - no defined semantics for a particular frame type MUST be ignored, and MUST be left - unset (0) when sending. - - - - - A reserved 1-bit field. The semantics of this bit are undefined and the bit MUST - remain unset (0) when sending and MUST be ignored when receiving. - - - - - A 31-bit stream identifier (see ). The value 0 is - reserved for frames that are associated with the connection as a whole as opposed to - an individual stream. - - - - - - The structure and content of the frame payload is dependent entirely on the frame type. - -
- -
- - The size of a frame payload is limited by the maximum size that a receiver advertises in - the SETTINGS_MAX_FRAME_SIZE setting. This setting can have any value - between 214 (16,384) and 224-1 (16,777,215) octets, - inclusive. - - - All implementations MUST be capable of receiving and minimally processing frames up to - 214 octets in length, plus the 9 octet frame - header. The size of the frame header is not included when describing frame sizes. - - - Certain frame types, such as PING, impose additional limits - on the amount of payload data allowed. - - - - - An endpoint MUST send a FRAME_SIZE_ERROR error if a frame exceeds the size - defined in SETTINGS_MAX_FRAME_SIZE, any limit defined for the frame type, - or it is too small to contain mandatory frame data. A frame size error in a frame that - could alter the state of the entire connection MUST be treated as a connection error; this includes any frame carrying - a header block (that is, HEADERS, - PUSH_PROMISE, and CONTINUATION), SETTINGS, - and any frame with a stream identifier of 0. - - - Endpoints are not obligated to use all available space in a frame. Responsiveness can be - improved by using frames that are smaller than the permitted maximum size. Sending large - frames can result in delays in sending time-sensitive frames (such as - RST_STREAM, WINDOW_UPDATE, or PRIORITY) - which if blocked by the transmission of a large frame, could affect performance. - -
- -
- - Just as in HTTP/1, a header field in HTTP/2 is a name with one or more associated values. - They are used within HTTP request and response messages as well as server push operations - (see ). - - - Header lists are collections of zero or more header fields. When transmitted over a - connection, a header list is serialized into a header block using HTTP Header Compression. The serialized header block is then - divided into one or more octet sequences, called header block fragments, and transmitted - within the payload of HEADERS, PUSH_PROMISE or CONTINUATION frames. - - - The Cookie header field is treated specially by the HTTP - mapping (see ). - - - A receiving endpoint reassembles the header block by concatenating its fragments, then - decompresses the block to reconstruct the header list. - - - A complete header block consists of either: - - - a single HEADERS or PUSH_PROMISE frame, - with the END_HEADERS flag set, or - - - a HEADERS or PUSH_PROMISE frame with the END_HEADERS - flag cleared and one or more CONTINUATION frames, - where the last CONTINUATION frame has the END_HEADERS flag set. - - - - - Header compression is stateful. One compression context and one decompression context is - used for the entire connection. Each header block is processed as a discrete unit. - Header blocks MUST be transmitted as a contiguous sequence of frames, with no interleaved - frames of any other type or from any other stream. The last frame in a sequence of - HEADERS or CONTINUATION frames MUST have the END_HEADERS - flag set. The last frame in a sequence of PUSH_PROMISE or - CONTINUATION frames MUST have the END_HEADERS flag set. This allows a - header block to be logically equivalent to a single frame. - - - Header block fragments can only be sent as the payload of HEADERS, - PUSH_PROMISE or CONTINUATION frames, because these frames - carry data that can modify the compression context maintained by a receiver. An endpoint - receiving HEADERS, PUSH_PROMISE or - CONTINUATION frames MUST reassemble header blocks and perform decompression - even if the frames are to be discarded. A receiver MUST terminate the connection with a - connection error of type - COMPRESSION_ERROR if it does not decompress a header block. - -
-
- -
- - A "stream" is an independent, bi-directional sequence of frames exchanged between the client - and server within an HTTP/2 connection. Streams have several important characteristics: - - - A single HTTP/2 connection can contain multiple concurrently open streams, with either - endpoint interleaving frames from multiple streams. - - - Streams can be established and used unilaterally or shared by either the client or - server. - - - Streams can be closed by either endpoint. - - - The order in which frames are sent on a stream is significant. Recipients process frames - in the order they are received. In particular, the order of HEADERS, - and DATA frames is semantically significant. - - - Streams are identified by an integer. Stream identifiers are assigned to streams by the - endpoint initiating the stream. - - - - -
- - The lifecycle of a stream is shown in . - - -
- - | |<-----------' send R/ | - | recv R | closed | recv R | - `---------------------->| |<----------------------' - +--------+ - - send: endpoint sends this frame - recv: endpoint receives this frame - - H: HEADERS frame (with implied CONTINUATIONs) - PP: PUSH_PROMISE frame (with implied CONTINUATIONs) - ES: END_STREAM flag - R: RST_STREAM frame -]]> - -
- - - Note that this diagram shows stream state transitions and the frames and flags that affect - those transitions only. In this regard, CONTINUATION frames do not result - in state transitions; they are effectively part of the HEADERS or - PUSH_PROMISE that they follow. For this purpose, the END_STREAM flag is - processed as a separate event to the frame that bears it; a HEADERS frame - with the END_STREAM flag set can cause two state transitions. - - - Both endpoints have a subjective view of the state of a stream that could be different - when frames are in transit. Endpoints do not coordinate the creation of streams; they are - created unilaterally by either endpoint. The negative consequences of a mismatch in - states are limited to the "closed" state after sending RST_STREAM, where - frames might be received for some time after closing. - - - Streams have the following states: - - - - - - All streams start in the "idle" state. In this state, no frames have been - exchanged. - - - The following transitions are valid from this state: - - - Sending or receiving a HEADERS frame causes the stream to become - "open". The stream identifier is selected as described in . The same HEADERS frame can also - cause a stream to immediately become "half closed". - - - Sending a PUSH_PROMISE frame reserves an idle stream for - later use. The stream state for the reserved stream transitions to - "reserved (local)". - - - Receiving a PUSH_PROMISE frame reserves an idle stream for - later use. The stream state for the reserved stream transitions to - "reserved (remote)". - - - - - Receiving any frames other than HEADERS, PUSH_PROMISE - or PRIORITY on a stream in this state MUST be treated as a connection error of type - PROTOCOL_ERROR. - - - - - - - A stream in the "reserved (local)" state is one that has been promised by sending a - PUSH_PROMISE frame. A PUSH_PROMISE frame reserves an - idle stream by associating the stream with an open stream that was initiated by the - remote peer (see ). - - - In this state, only the following transitions are possible: - - - The endpoint can send a HEADERS frame. This causes the stream to - open in a "half closed (remote)" state. - - - Either endpoint can send a RST_STREAM frame to cause the stream - to become "closed". This releases the stream reservation. - - - - - An endpoint MUST NOT send any type of frame other than HEADERS, - RST_STREAM, or PRIORITY in this state. - - - A PRIORITY or WINDOW_UPDATE frame MAY be received in - this state. Receiving any type of frame other than RST_STREAM, - PRIORITY or WINDOW_UPDATE on a stream in this state - MUST be treated as a connection error - of type PROTOCOL_ERROR. - - - - - - - A stream in the "reserved (remote)" state has been reserved by a remote peer. - - - In this state, only the following transitions are possible: - - - Receiving a HEADERS frame causes the stream to transition to - "half closed (local)". - - - Either endpoint can send a RST_STREAM frame to cause the stream - to become "closed". This releases the stream reservation. - - - - - An endpoint MAY send a PRIORITY frame in this state to reprioritize - the reserved stream. An endpoint MUST NOT send any type of frame other than - RST_STREAM, WINDOW_UPDATE, or PRIORITY - in this state. - - - Receiving any type of frame other than HEADERS, - RST_STREAM or PRIORITY on a stream in this state MUST - be treated as a connection error of - type PROTOCOL_ERROR. - - - - - - - A stream in the "open" state may be used by both peers to send frames of any type. - In this state, sending peers observe advertised stream - level flow control limits. - - - From this state either endpoint can send a frame with an END_STREAM flag set, which - causes the stream to transition into one of the "half closed" states: an endpoint - sending an END_STREAM flag causes the stream state to become "half closed (local)"; - an endpoint receiving an END_STREAM flag causes the stream state to become "half - closed (remote)". - - - Either endpoint can send a RST_STREAM frame from this state, causing - it to transition immediately to "closed". - - - - - - - A stream that is in the "half closed (local)" state cannot be used for sending - frames. Only WINDOW_UPDATE, PRIORITY and - RST_STREAM frames can be sent in this state. - - - A stream transitions from this state to "closed" when a frame that contains an - END_STREAM flag is received, or when either peer sends a RST_STREAM - frame. - - - A receiver can ignore WINDOW_UPDATE frames in this state, which might - arrive for a short period after a frame bearing the END_STREAM flag is sent. - - - PRIORITY frames received in this state are used to reprioritize - streams that depend on the current stream. - - - - - - - A stream that is "half closed (remote)" is no longer being used by the peer to send - frames. In this state, an endpoint is no longer obligated to maintain a receiver - flow control window if it performs flow control. - - - If an endpoint receives additional frames for a stream that is in this state, other - than WINDOW_UPDATE, PRIORITY or - RST_STREAM, it MUST respond with a stream error of type - STREAM_CLOSED. - - - A stream that is "half closed (remote)" can be used by the endpoint to send frames - of any type. In this state, the endpoint continues to observe advertised stream level flow control limits. - - - A stream can transition from this state to "closed" by sending a frame that contains - an END_STREAM flag, or when either peer sends a RST_STREAM frame. - - - - - - - The "closed" state is the terminal state. - - - An endpoint MUST NOT send frames other than PRIORITY on a closed - stream. An endpoint that receives any frame other than PRIORITY - after receiving a RST_STREAM MUST treat that as a stream error of type - STREAM_CLOSED. Similarly, an endpoint that receives any frames after - receiving a frame with the END_STREAM flag set MUST treat that as a connection error of type - STREAM_CLOSED, unless the frame is permitted as described below. - - - WINDOW_UPDATE or RST_STREAM frames can be received in - this state for a short period after a DATA or HEADERS - frame containing an END_STREAM flag is sent. Until the remote peer receives and - processes RST_STREAM or the frame bearing the END_STREAM flag, it - might send frames of these types. Endpoints MUST ignore - WINDOW_UPDATE or RST_STREAM frames received in this - state, though endpoints MAY choose to treat frames that arrive a significant time - after sending END_STREAM as a connection - error of type PROTOCOL_ERROR. - - - PRIORITY frames can be sent on closed streams to prioritize streams - that are dependent on the closed stream. Endpoints SHOULD process - PRIORITY frames, though they can be ignored if the stream has been - removed from the dependency tree (see ). - - - If this state is reached as a result of sending a RST_STREAM frame, - the peer that receives the RST_STREAM might have already sent - or - enqueued for sending - frames on the stream that cannot be withdrawn. An endpoint - MUST ignore frames that it receives on closed streams after it has sent a - RST_STREAM frame. An endpoint MAY choose to limit the period over - which it ignores frames and treat frames that arrive after this time as being in - error. - - - Flow controlled frames (i.e., DATA) received after sending - RST_STREAM are counted toward the connection flow control window. - Even though these frames might be ignored, because they are sent before the sender - receives the RST_STREAM, the sender will consider the frames to count - against the flow control window. - - - An endpoint might receive a PUSH_PROMISE frame after it sends - RST_STREAM. PUSH_PROMISE causes a stream to become - "reserved" even if the associated stream has been reset. Therefore, a - RST_STREAM is needed to close an unwanted promised stream. - - - - - - In the absence of more specific guidance elsewhere in this document, implementations - SHOULD treat the receipt of a frame that is not expressly permitted in the description of - a state as a connection error of type - PROTOCOL_ERROR. Note that PRIORITY can be sent and received - in any stream state. Frame of unknown types are ignored. - - - An example of the state transitions for an HTTP request/response exchange can be found in - . An example of the state transitions for server push can be - found in and . - - -
- - Streams are identified with an unsigned 31-bit integer. Streams initiated by a client - MUST use odd-numbered stream identifiers; those initiated by the server MUST use - even-numbered stream identifiers. A stream identifier of zero (0x0) is used for - connection control messages; the stream identifier zero cannot be used to establish a - new stream. - - - HTTP/1.1 requests that are upgraded to HTTP/2 (see ) are - responded to with a stream identifier of one (0x1). After the upgrade - completes, stream 0x1 is "half closed (local)" to the client. Therefore, stream 0x1 - cannot be selected as a new stream identifier by a client that upgrades from HTTP/1.1. - - - The identifier of a newly established stream MUST be numerically greater than all - streams that the initiating endpoint has opened or reserved. This governs streams that - are opened using a HEADERS frame and streams that are reserved using - PUSH_PROMISE. An endpoint that receives an unexpected stream identifier - MUST respond with a connection error of - type PROTOCOL_ERROR. - - - The first use of a new stream identifier implicitly closes all streams in the "idle" - state that might have been initiated by that peer with a lower-valued stream identifier. - For example, if a client sends a HEADERS frame on stream 7 without ever - sending a frame on stream 5, then stream 5 transitions to the "closed" state when the - first frame for stream 7 is sent or received. - - - Stream identifiers cannot be reused. Long-lived connections can result in an endpoint - exhausting the available range of stream identifiers. A client that is unable to - establish a new stream identifier can establish a new connection for new streams. A - server that is unable to establish a new stream identifier can send a - GOAWAY frame so that the client is forced to open a new connection for - new streams. - -
- -
- - A peer can limit the number of concurrently active streams using the - SETTINGS_MAX_CONCURRENT_STREAMS parameter (see ) within a SETTINGS frame. The maximum concurrent - streams setting is specific to each endpoint and applies only to the peer that receives - the setting. That is, clients specify the maximum number of concurrent streams the - server can initiate, and servers specify the maximum number of concurrent streams the - client can initiate. - - - Streams that are in the "open" state, or either of the "half closed" states count toward - the maximum number of streams that an endpoint is permitted to open. Streams in any of - these three states count toward the limit advertised in the - SETTINGS_MAX_CONCURRENT_STREAMS setting. Streams in either of the - "reserved" states do not count toward the stream limit. - - - Endpoints MUST NOT exceed the limit set by their peer. An endpoint that receives a - HEADERS frame that causes their advertised concurrent stream limit to be - exceeded MUST treat this as a stream error of - type PROTOCOL_ERROR or REFUSED_STREAM. An endpoint that - wishes to reduce the value of SETTINGS_MAX_CONCURRENT_STREAMS to a value - that is below the current number of open streams can either close streams that exceed - the new value or allow streams to complete. - -
-
- -
- - Using streams for multiplexing introduces contention over use of the TCP connection, - resulting in blocked streams. A flow control scheme ensures that streams on the same - connection do not destructively interfere with each other. Flow control is used for both - individual streams and for the connection as a whole. - - - HTTP/2 provides for flow control through use of the WINDOW_UPDATE frame. - - -
- - HTTP/2 stream flow control aims to allow a variety of flow control algorithms to be - used without requiring protocol changes. Flow control in HTTP/2 has the following - characteristics: - - - Flow control is specific to a connection; i.e., it is "hop-by-hop", not - "end-to-end". - - - Flow control is based on window update frames. Receivers advertise how many octets - they are prepared to receive on a stream and for the entire connection. This is a - credit-based scheme. - - - Flow control is directional with overall control provided by the receiver. A - receiver MAY choose to set any window size that it desires for each stream and for - the entire connection. A sender MUST respect flow control limits imposed by a - receiver. Clients, servers and intermediaries all independently advertise their - flow control window as a receiver and abide by the flow control limits set by - their peer when sending. - - - The initial value for the flow control window is 65,535 octets for both new streams - and the overall connection. - - - The frame type determines whether flow control applies to a frame. Of the frames - specified in this document, only DATA frames are subject to flow - control; all other frame types do not consume space in the advertised flow control - window. This ensures that important control frames are not blocked by flow control. - - - Flow control cannot be disabled. - - - HTTP/2 defines only the format and semantics of the WINDOW_UPDATE - frame (). This document does not stipulate how a - receiver decides when to send this frame or the value that it sends, nor does it - specify how a sender chooses to send packets. Implementations are able to select - any algorithm that suits their needs. - - - - - Implementations are also responsible for managing how requests and responses are sent - based on priority; choosing how to avoid head of line blocking for requests; and - managing the creation of new streams. Algorithm choices for these could interact with - any flow control algorithm. - -
- -
- - Flow control is defined to protect endpoints that are operating under resource - constraints. For example, a proxy needs to share memory between many connections, and - also might have a slow upstream connection and a fast downstream one. Flow control - addresses cases where the receiver is unable to process data on one stream, yet wants to - continue to process other streams in the same connection. - - - Deployments that do not require this capability can advertise a flow control window of - the maximum size, incrementing the available space when new data is received. This - effectively disables flow control for that receiver. Conversely, a sender is always - subject to the flow control window advertised by the receiver. - - - Deployments with constrained resources (for example, memory) can employ flow control to - limit the amount of memory a peer can consume. Note, however, that this can lead to - suboptimal use of available network resources if flow control is enabled without - knowledge of the bandwidth-delay product (see ). - - - Even with full awareness of the current bandwidth-delay product, implementation of flow - control can be difficult. When using flow control, the receiver MUST read from the TCP - receive buffer in a timely fashion. Failure to do so could lead to a deadlock when - critical frames, such as WINDOW_UPDATE, are not read and acted upon. - -
-
- -
- - A client can assign a priority for a new stream by including prioritization information in - the HEADERS frame that opens the stream. At any other time, - the PRIORITY frame can be used to change the priority of a - stream. - - - The purpose of prioritization is to allow an endpoint to express how it would prefer its - peer allocate resources when managing concurrent streams. Most importantly, priority can - be used to select streams for transmitting frames when there is limited capacity for - sending. - - - Streams can be prioritized by marking them as dependent on the completion of other streams - (). Each dependency is assigned a relative weight, a number - that is used to determine the relative proportion of available resources that are assigned - to streams dependent on the same stream. - - - - Explicitly setting the priority for a stream is input to a prioritization process. It - does not guarantee any particular processing or transmission order for the stream relative - to any other stream. An endpoint cannot force a peer to process concurrent streams in a - particular order using priority. Expressing priority is therefore only ever a suggestion. - - - Providing prioritization information is optional, so default values are used if no - explicit indicator is provided (). - - -
- - Each stream can be given an explicit dependency on another stream. Including a - dependency expresses a preference to allocate resources to the identified stream rather - than to the dependent stream. - - - A stream that is not dependent on any other stream is given a stream dependency of 0x0. - In other words, the non-existent stream 0 forms the root of the tree. - - - A stream that depends on another stream is a dependent stream. The stream upon which a - stream is dependent is a parent stream. A dependency on a stream that is not currently - in the tree - such as a stream in the "idle" state - results in that stream being given - a default priority. - - - When assigning a dependency on another stream, the stream is added as a new dependency - of the parent stream. Dependent streams that share the same parent are not ordered with - respect to each other. For example, if streams B and C are dependent on stream A, and - if stream D is created with a dependency on stream A, this results in a dependency order - of A followed by B, C, and D in any order. - -
- /|\ - B C B D C -]]> -
- - An exclusive flag allows for the insertion of a new level of dependencies. The - exclusive flag causes the stream to become the sole dependency of its parent stream, - causing other dependencies to become dependent on the exclusive stream. In the - previous example, if stream D is created with an exclusive dependency on stream A, this - results in D becoming the dependency parent of B and C. - -
- D - B C / \ - B C -]]> -
- - Inside the dependency tree, a dependent stream SHOULD only be allocated resources if all - of the streams that it depends on (the chain of parent streams up to 0x0) are either - closed, or it is not possible to make progress on them. - - - A stream cannot depend on itself. An endpoint MUST treat this as a stream error of type PROTOCOL_ERROR. - -
- -
- - All dependent streams are allocated an integer weight between 1 and 256 (inclusive). - - - Streams with the same parent SHOULD be allocated resources proportionally based on their - weight. Thus, if stream B depends on stream A with weight 4, and C depends on stream A - with weight 12, and if no progress can be made on A, stream B ideally receives one third - of the resources allocated to stream C. - -
- -
- - Stream priorities are changed using the PRIORITY frame. Setting a - dependency causes a stream to become dependent on the identified parent stream. - - - Dependent streams move with their parent stream if the parent is reprioritized. Setting - a dependency with the exclusive flag for a reprioritized stream moves all the - dependencies of the new parent stream to become dependent on the reprioritized stream. - - - If a stream is made dependent on one of its own dependencies, the formerly dependent - stream is first moved to be dependent on the reprioritized stream's previous parent. - The moved dependency retains its weight. - -
- - For example, consider an original dependency tree where B and C depend on A, D and E - depend on C, and F depends on D. If A is made dependent on D, then D takes the place - of A. All other dependency relationships stay the same, except for F, which becomes - dependent on A if the reprioritization is exclusive. - - F B C ==> F A OR A - / \ | / \ /|\ - D E E B C B C F - | | | - F E E - (intermediate) (non-exclusive) (exclusive) -]]> -
-
- -
- - When a stream is removed from the dependency tree, its dependencies can be moved to - become dependent on the parent of the closed stream. The weights of new dependencies - are recalculated by distributing the weight of the dependency of the closed stream - proportionally based on the weights of its dependencies. - - - Streams that are removed from the dependency tree cause some prioritization information - to be lost. Resources are shared between streams with the same parent stream, which - means that if a stream in that set closes or becomes blocked, any spare capacity - allocated to a stream is distributed to the immediate neighbors of the stream. However, - if the common dependency is removed from the tree, those streams share resources with - streams at the next highest level. - - - For example, assume streams A and B share a parent, and streams C and D both depend on - stream A. Prior to the removal of stream A, if streams A and D are unable to proceed, - then stream C receives all the resources dedicated to stream A. If stream A is removed - from the tree, the weight of stream A is divided between streams C and D. If stream D - is still unable to proceed, this results in stream C receiving a reduced proportion of - resources. For equal starting weights, C receives one third, rather than one half, of - available resources. - - - It is possible for a stream to become closed while prioritization information that - creates a dependency on that stream is in transit. If a stream identified in a - dependency has no associated priority information, then the dependent stream is instead - assigned a default priority. This potentially creates - suboptimal prioritization, since the stream could be given a priority that is different - to what is intended. - - - To avoid these problems, an endpoint SHOULD retain stream prioritization state for a - period after streams become closed. The longer state is retained, the lower the chance - that streams are assigned incorrect or default priority values. - - - Similarly, streams that are in the "idle" state can be assigned priority or become a - parent of other streams. This allows for the creation of a grouping node in the - dependency tree, which enables more flexible expressions of priority. Idle streams that - are made a parent of another stream are assigned a default - priority. - - - The retention of priority information for streams that are not counted toward the limit - set by SETTINGS_MAX_CONCURRENT_STREAMS could create a large state burden - for an endpoint. Therefore the amount of prioritization state that is retained MAY be - limited. - - - The amount of additional state an endpoint maintains for prioritization could be - dependent on load; under high load, prioritization state can be discarded to limit - resource commitments. In extreme cases, an endpoint could even discard prioritization - state for active or reserved streams. If a limit is applied, endpoints SHOULD maintain - state for at least as many streams as allowed by their setting for - SETTINGS_MAX_CONCURRENT_STREAMS. Implementations SHOULD also attempt to - retain state for streams that are in active use in the priority tree. - - - An endpoint receiving a PRIORITY frame that changes the priority of a - closed stream SHOULD alter the dependencies of the streams that depend on it, if it has - retained enough state to do so. - -
- -
- - Providing priority information is optional. Streams are assigned a non-exclusive - dependency on stream 0x0 by default. Pushed streams - initially depend on their associated stream. In both cases, streams are assigned a - default weight of 16. - -
-
- -
- - HTTP/2 framing permits two classes of error: - - - An error condition that renders the entire connection unusable is a connection error. - - - An error in an individual stream is a stream error. - - - - - A list of error codes is included in . - - -
- - A connection error is any error which prevents further processing of the framing layer, - or which corrupts any connection state. - - - An endpoint that encounters a connection error SHOULD first send a GOAWAY - frame () with the stream identifier of the last stream that it - successfully received from its peer. The GOAWAY frame includes an error - code that indicates why the connection is terminating. After sending the - GOAWAY frame for an error condition, the endpoint MUST close the TCP - connection. - - - It is possible that the GOAWAY will not be reliably received by the - receiving endpoint (see ). In the event of a connection error, - GOAWAY only provides a best effort attempt to communicate with the peer - about why the connection is being terminated. - - - An endpoint can end a connection at any time. In particular, an endpoint MAY choose to - treat a stream error as a connection error. Endpoints SHOULD send a - GOAWAY frame when ending a connection, providing that circumstances - permit it. - -
- -
- - A stream error is an error related to a specific stream that does not affect processing - of other streams. - - - An endpoint that detects a stream error sends a RST_STREAM frame () that contains the stream identifier of the stream where the error - occurred. The RST_STREAM frame includes an error code that indicates the - type of error. - - - A RST_STREAM is the last frame that an endpoint can send on a stream. - The peer that sends the RST_STREAM frame MUST be prepared to receive any - frames that were sent or enqueued for sending by the remote peer. These frames can be - ignored, except where they modify connection state (such as the state maintained for - header compression, or flow control). - - - Normally, an endpoint SHOULD NOT send more than one RST_STREAM frame for - any stream. However, an endpoint MAY send additional RST_STREAM frames if - it receives frames on a closed stream after more than a round-trip time. This behavior - is permitted to deal with misbehaving implementations. - - - An endpoint MUST NOT send a RST_STREAM in response to a - RST_STREAM frame, to avoid looping. - -
- -
- - If the TCP connection is closed or reset while streams remain in open or half closed - states, then the endpoint MUST assume that those streams were abnormally interrupted and - could be incomplete. - -
-
- -
- - HTTP/2 permits extension of the protocol. Protocol extensions can be used to provide - additional services or alter any aspect of the protocol, within the limitations described - in this section. Extensions are effective only within the scope of a single HTTP/2 - connection. - - - Extensions are permitted to use new frame types, new - settings, or new error - codes. Registries are established for managing these extension points: frame types, settings and - error codes. - - - Implementations MUST ignore unknown or unsupported values in all extensible protocol - elements. Implementations MUST discard frames that have unknown or unsupported types. - This means that any of these extension points can be safely used by extensions without - prior arrangement or negotiation. However, extension frames that appear in the middle of - a header block are not permitted; these MUST be treated - as a connection error of type - PROTOCOL_ERROR. - - - Extensions that could change the semantics of existing protocol components MUST be - negotiated before being used. For example, an extension that changes the layout of the - HEADERS frame cannot be used until the peer has given a positive signal - that this is acceptable. In this case, it could also be necessary to coordinate when the - revised layout comes into effect. Note that treating any frame other than - DATA frames as flow controlled is such a change in semantics, and can only - be done through negotiation. - - - This document doesn't mandate a specific method for negotiating the use of an extension, - but notes that a setting could be used for that - purpose. If both peers set a value that indicates willingness to use the extension, then - the extension can be used. If a setting is used for extension negotiation, the initial - value MUST be defined in such a fashion that the extension is initially disabled. - -
-
- -
- - This specification defines a number of frame types, each identified by a unique 8-bit type - code. Each frame type serves a distinct purpose either in the establishment and management - of the connection as a whole, or of individual streams. - - - The transmission of specific frame types can alter the state of a connection. If endpoints - fail to maintain a synchronized view of the connection state, successful communication - within the connection will no longer be possible. Therefore, it is important that endpoints - have a shared comprehension of how the state is affected by the use any given frame. - - -
- - DATA frames (type=0x0) convey arbitrary, variable-length sequences of octets associated - with a stream. One or more DATA frames are used, for instance, to carry HTTP request or - response payloads. - - - DATA frames MAY also contain arbitrary padding. Padding can be added to DATA frames to - obscure the size of messages. - -
- -
- - The DATA frame contains the following fields: - - - An 8-bit field containing the length of the frame padding in units of octets. This - field is optional and is only present if the PADDED flag is set. - - - Application data. The amount of data is the remainder of the frame payload after - subtracting the length of the other fields that are present. - - - Padding octets that contain no application semantic value. Padding octets MUST be set - to zero when sending. A receiver is not obligated to verify padding, but MAY treat - non-zero padding as a connection error of - type PROTOCOL_ERROR. - - - - - - The DATA frame defines the following flags: - - - Bit 0 being set indicates that this frame is the last that the endpoint will send for - the identified stream. Setting this flag causes the stream to enter one of the "half closed" states or the "closed" state. - - - Bit 3 being set indicates that the Pad Length field and any padding that it describes - is present. - - - - - DATA frames MUST be associated with a stream. If a DATA frame is received whose stream - identifier field is 0x0, the recipient MUST respond with a connection error of type - PROTOCOL_ERROR. - - - DATA frames are subject to flow control and can only be sent when a stream is in the - "open" or "half closed (remote)" states. The entire DATA frame payload is included in flow - control, including Pad Length and Padding fields if present. If a DATA frame is received - whose stream is not in "open" or "half closed (local)" state, the recipient MUST respond - with a stream error of type - STREAM_CLOSED. - - - The total number of padding octets is determined by the value of the Pad Length field. If - the length of the padding is the length of the frame payload or greater, the recipient - MUST treat this as a connection error of - type PROTOCOL_ERROR. - - - A frame can be increased in size by one octet by including a Pad Length field with a - value of zero. - - - - - Padding is a security feature; see . - -
- -
- - The HEADERS frame (type=0x1) is used to open a stream, - and additionally carries a header block fragment. HEADERS frames can be sent on a stream - in the "open" or "half closed (remote)" states. - -
- -
- - The HEADERS frame payload has the following fields: - - - An 8-bit field containing the length of the frame padding in units of octets. This - field is only present if the PADDED flag is set. - - - A single bit flag indicates that the stream dependency is exclusive, see . This field is only present if the PRIORITY flag is set. - - - A 31-bit stream identifier for the stream that this stream depends on, see . This field is only present if the PRIORITY flag is set. - - - An 8-bit weight for the stream, see . Add one to the - value to obtain a weight between 1 and 256. This field is only present if the - PRIORITY flag is set. - - - A header block fragment. - - - Padding octets that contain no application semantic value. Padding octets MUST be set - to zero when sending and ignored when receiving. - - - - - - The HEADERS frame defines the following flags: - - - - Bit 0 being set indicates that the header block is - the last that the endpoint will send for the identified stream. Setting this flag - causes the stream to enter one of "half closed" - states. - - - A HEADERS frame carries the END_STREAM flag that signals the end of a stream. - However, a HEADERS frame with the END_STREAM flag set can be followed by - CONTINUATION frames on the same stream. Logically, the - CONTINUATION frames are part of the HEADERS frame. - - - - - Bit 2 being set indicates that this frame contains an entire header block and is not followed by any - CONTINUATION frames. - - - A HEADERS frame without the END_HEADERS flag set MUST be followed by a - CONTINUATION frame for the same stream. A receiver MUST treat the - receipt of any other type of frame or a frame on a different stream as a connection error of type - PROTOCOL_ERROR. - - - - - Bit 3 being set indicates that the Pad Length field and any padding that it - describes is present. - - - - - Bit 5 being set indicates that the Exclusive Flag (E), Stream Dependency, and Weight - fields are present; see . - - - - - - - The payload of a HEADERS frame contains a header block - fragment. A header block that does not fit within a HEADERS frame is continued in - a CONTINUATION frame. - - - - HEADERS frames MUST be associated with a stream. If a HEADERS frame is received whose - stream identifier field is 0x0, the recipient MUST respond with a connection error of type - PROTOCOL_ERROR. - - - - The HEADERS frame changes the connection state as described in . - - - - The HEADERS frame includes optional padding. Padding fields and flags are identical to - those defined for DATA frames. - - - Prioritization information in a HEADERS frame is logically equivalent to a separate - PRIORITY frame, but inclusion in HEADERS avoids the potential for churn in - stream prioritization when new streams are created. Priorization fields in HEADERS frames - subsequent to the first on a stream reprioritize the - stream. - -
- -
- - The PRIORITY frame (type=0x2) specifies the sender-advised - priority of a stream. It can be sent at any time for any stream, including idle or - closed streams. - -
- -
- - The payload of a PRIORITY frame contains the following fields: - - - A single bit flag indicates that the stream dependency is exclusive, see . - - - A 31-bit stream identifier for the stream that this stream depends on, see . - - - An 8-bit weight for the identified stream dependency, see . Add one to the value to obtain a weight between 1 and 256. - - - - - - The PRIORITY frame does not define any flags. - - - - The PRIORITY frame is associated with an existing stream. If a PRIORITY frame is received - with a stream identifier of 0x0, the recipient MUST respond with a connection error of type - PROTOCOL_ERROR. - - - The PRIORITY frame can be sent on a stream in any state, though it cannot be sent between - consecutive frames that comprise a single header block. - Note that this frame could arrive after processing or frame sending has completed, which - would cause it to have no effect on the current stream. For a stream that is in the "half - closed (remote)" or "closed" - state, this frame can only affect processing of the current - stream and not frame transmission. - - - The PRIORITY frame can be sent for a stream in the "idle" or "closed" states. This - allows for the reprioritization of a group of dependent streams by altering the priority - of an unused or closed parent stream. - - - A PRIORITY frame with a length other than 5 octets MUST be treated as a stream error of type FRAME_SIZE_ERROR. - -
- -
- - The RST_STREAM frame (type=0x3) allows for immediate termination of a stream. RST_STREAM - is sent to request cancellation of a stream, or to indicate that an error condition has - occurred. - -
- -
- - - The RST_STREAM frame contains a single unsigned, 32-bit integer identifying the error code. The error code indicates why the stream is being - terminated. - - - - The RST_STREAM frame does not define any flags. - - - - The RST_STREAM frame fully terminates the referenced stream and causes it to enter the - closed state. After receiving a RST_STREAM on a stream, the receiver MUST NOT send - additional frames for that stream, with the exception of PRIORITY. However, - after sending the RST_STREAM, the sending endpoint MUST be prepared to receive and process - additional frames sent on the stream that might have been sent by the peer prior to the - arrival of the RST_STREAM. - - - - RST_STREAM frames MUST be associated with a stream. If a RST_STREAM frame is received - with a stream identifier of 0x0, the recipient MUST treat this as a connection error of type - PROTOCOL_ERROR. - - - - RST_STREAM frames MUST NOT be sent for a stream in the "idle" state. If a RST_STREAM - frame identifying an idle stream is received, the recipient MUST treat this as a connection error of type - PROTOCOL_ERROR. - - - A RST_STREAM frame with a length other than 4 octets MUST be treated as a connection error of type - FRAME_SIZE_ERROR. - - -
- -
- - The SETTINGS frame (type=0x4) conveys configuration parameters that affect how endpoints - communicate, such as preferences and constraints on peer behavior. The SETTINGS frame is - also used to acknowledge the receipt of those parameters. Individually, a SETTINGS - parameter can also be referred to as a "setting". - - - SETTINGS parameters are not negotiated; they describe characteristics of the sending peer, - which are used by the receiving peer. Different values for the same parameter can be - advertised by each peer. For example, a client might set a high initial flow control - window, whereas a server might set a lower value to conserve resources. - - - - A SETTINGS frame MUST be sent by both endpoints at the start of a connection, and MAY be - sent at any other time by either endpoint over the lifetime of the connection. - Implementations MUST support all of the parameters defined by this specification. - - - - Each parameter in a SETTINGS frame replaces any existing value for that parameter. - Parameters are processed in the order in which they appear, and a receiver of a SETTINGS - frame does not need to maintain any state other than the current value of its - parameters. Therefore, the value of a SETTINGS parameter is the last value that is seen by - a receiver. - - - SETTINGS parameters are acknowledged by the receiving peer. To enable this, the SETTINGS - frame defines the following flag: - - - Bit 0 being set indicates that this frame acknowledges receipt and application of the - peer's SETTINGS frame. When this bit is set, the payload of the SETTINGS frame MUST - be empty. Receipt of a SETTINGS frame with the ACK flag set and a length field value - other than 0 MUST be treated as a connection - error of type FRAME_SIZE_ERROR. For more info, see Settings Synchronization. - - - - - SETTINGS frames always apply to a connection, never a single stream. The stream - identifier for a SETTINGS frame MUST be zero (0x0). If an endpoint receives a SETTINGS - frame whose stream identifier field is anything other than 0x0, the endpoint MUST respond - with a connection error of type - PROTOCOL_ERROR. - - - The SETTINGS frame affects connection state. A badly formed or incomplete SETTINGS frame - MUST be treated as a connection error of type - PROTOCOL_ERROR. - - - A SETTINGS frame with a length other than a multiple of 6 octets MUST be treated as a connection error of type - FRAME_SIZE_ERROR. - - -
- - The payload of a SETTINGS frame consists of zero or more parameters, each consisting of - an unsigned 16-bit setting identifier and an unsigned 32-bit value. - - -
- -
-
- -
- - The following parameters are defined: - - - - Allows the sender to inform the remote endpoint of the maximum size of the header - compression table used to decode header blocks, in octets. The encoder can select - any size equal to or less than this value by using signaling specific to the - header compression format inside a header block. The initial value is 4,096 - octets. - - - - - This setting can be use to disable server - push. An endpoint MUST NOT send a PUSH_PROMISE frame if it - receives this parameter set to a value of 0. An endpoint that has both set this - parameter to 0 and had it acknowledged MUST treat the receipt of a - PUSH_PROMISE frame as a connection error of type - PROTOCOL_ERROR. - - - The initial value is 1, which indicates that server push is permitted. Any value - other than 0 or 1 MUST be treated as a connection error of type - PROTOCOL_ERROR. - - - - - Indicates the maximum number of concurrent streams that the sender will allow. - This limit is directional: it applies to the number of streams that the sender - permits the receiver to create. Initially there is no limit to this value. It is - recommended that this value be no smaller than 100, so as to not unnecessarily - limit parallelism. - - - A value of 0 for SETTINGS_MAX_CONCURRENT_STREAMS SHOULD NOT be treated as special - by endpoints. A zero value does prevent the creation of new streams, however this - can also happen for any limit that is exhausted with active streams. Servers - SHOULD only set a zero value for short durations; if a server does not wish to - accept requests, closing the connection is more appropriate. - - - - - Indicates the sender's initial window size (in octets) for stream level flow - control. The initial value is 216-1 (65,535) octets. - - - This setting affects the window size of all streams, including existing streams, - see . - - - Values above the maximum flow control window size of 231-1 MUST - be treated as a connection error of - type FLOW_CONTROL_ERROR. - - - - - Indicates the size of the largest frame payload that the sender is willing to - receive, in octets. - - - The initial value is 214 (16,384) octets. The value advertised by - an endpoint MUST be between this initial value and the maximum allowed frame size - (224-1 or 16,777,215 octets), inclusive. Values outside this range - MUST be treated as a connection error - of type PROTOCOL_ERROR. - - - - - This advisory setting informs a peer of the maximum size of header list that the - sender is prepared to accept, in octets. The value is based on the uncompressed - size of header fields, including the length of the name and value in octets plus - an overhead of 32 octets for each header field. - - - For any given request, a lower limit than what is advertised MAY be enforced. The - initial value of this setting is unlimited. - - - - - - An endpoint that receives a SETTINGS frame with any unknown or unsupported identifier - MUST ignore that setting. - -
- -
- - Most values in SETTINGS benefit from or require an understanding of when the peer has - received and applied the changed parameter values. In order to provide - such synchronization timepoints, the recipient of a SETTINGS frame in which the ACK flag - is not set MUST apply the updated parameters as soon as possible upon receipt. - - - The values in the SETTINGS frame MUST be processed in the order they appear, with no - other frame processing between values. Unsupported parameters MUST be ignored. Once - all values have been processed, the recipient MUST immediately emit a SETTINGS frame - with the ACK flag set. Upon receiving a SETTINGS frame with the ACK flag set, the sender - of the altered parameters can rely on the setting having been applied. - - - If the sender of a SETTINGS frame does not receive an acknowledgement within a - reasonable amount of time, it MAY issue a connection error of type - SETTINGS_TIMEOUT. - -
-
- -
- - The PUSH_PROMISE frame (type=0x5) is used to notify the peer endpoint in advance of - streams the sender intends to initiate. The PUSH_PROMISE frame includes the unsigned - 31-bit identifier of the stream the endpoint plans to create along with a set of headers - that provide additional context for the stream. contains a - thorough description of the use of PUSH_PROMISE frames. - - -
- -
- - The PUSH_PROMISE frame payload has the following fields: - - - An 8-bit field containing the length of the frame padding in units of octets. This - field is only present if the PADDED flag is set. - - - A single reserved bit. - - - An unsigned 31-bit integer that identifies the stream that is reserved by the - PUSH_PROMISE. The promised stream identifier MUST be a valid choice for the next - stream sent by the sender (see new stream - identifier). - - - A header block fragment containing request header - fields. - - - Padding octets. - - - - - - The PUSH_PROMISE frame defines the following flags: - - - - Bit 2 being set indicates that this frame contains an entire header block and is not followed by any - CONTINUATION frames. - - - A PUSH_PROMISE frame without the END_HEADERS flag set MUST be followed by a - CONTINUATION frame for the same stream. A receiver MUST treat the receipt of any - other type of frame or a frame on a different stream as a connection error of type - PROTOCOL_ERROR. - - - - - Bit 3 being set indicates that the Pad Length field and any padding that it - describes is present. - - - - - - - PUSH_PROMISE frames MUST be associated with an existing, peer-initiated stream. The stream - identifier of a PUSH_PROMISE frame indicates the stream it is associated with. If the - stream identifier field specifies the value 0x0, a recipient MUST respond with a connection error of type - PROTOCOL_ERROR. - - - - Promised streams are not required to be used in the order they are promised. The - PUSH_PROMISE only reserves stream identifiers for later use. - - - - PUSH_PROMISE MUST NOT be sent if the SETTINGS_ENABLE_PUSH setting of the - peer endpoint is set to 0. An endpoint that has set this setting and has received - acknowledgement MUST treat the receipt of a PUSH_PROMISE frame as a connection error of type - PROTOCOL_ERROR. - - - Recipients of PUSH_PROMISE frames can choose to reject promised streams by returning a - RST_STREAM referencing the promised stream identifier back to the sender of - the PUSH_PROMISE. - - - - A PUSH_PROMISE frame modifies the connection state in two ways. The inclusion of a header block potentially modifies the state maintained for - header compression. PUSH_PROMISE also reserves a stream for later use, causing the - promised stream to enter the "reserved" state. A sender MUST NOT send a PUSH_PROMISE on a - stream unless that stream is either "open" or "half closed (remote)"; the sender MUST - ensure that the promised stream is a valid choice for a new stream identifier (that is, the promised stream MUST - be in the "idle" state). - - - Since PUSH_PROMISE reserves a stream, ignoring a PUSH_PROMISE frame causes the stream - state to become indeterminate. A receiver MUST treat the receipt of a PUSH_PROMISE on a - stream that is neither "open" nor "half closed (local)" as a connection error of type - PROTOCOL_ERROR. However, an endpoint that has sent - RST_STREAM on the associated stream MUST handle PUSH_PROMISE frames that - might have been created before the RST_STREAM frame is received and - processed. - - - A receiver MUST treat the receipt of a PUSH_PROMISE that promises an illegal stream identifier (that is, an identifier for a - stream that is not currently in the "idle" state) as a connection error of type - PROTOCOL_ERROR. - - - - The PUSH_PROMISE frame includes optional padding. Padding fields and flags are identical - to those defined for DATA frames. - -
- -
- - The PING frame (type=0x6) is a mechanism for measuring a minimal round trip time from the - sender, as well as determining whether an idle connection is still functional. PING - frames can be sent from any endpoint. - -
- -
- - - In addition to the frame header, PING frames MUST contain 8 octets of data in the payload. - A sender can include any value it chooses and use those octets in any fashion. - - - Receivers of a PING frame that does not include an ACK flag MUST send a PING frame with - the ACK flag set in response, with an identical payload. PING responses SHOULD be given - higher priority than any other frame. - - - - The PING frame defines the following flags: - - - Bit 0 being set indicates that this PING frame is a PING response. An endpoint MUST - set this flag in PING responses. An endpoint MUST NOT respond to PING frames - containing this flag. - - - - - PING frames are not associated with any individual stream. If a PING frame is received - with a stream identifier field value other than 0x0, the recipient MUST respond with a - connection error of type - PROTOCOL_ERROR. - - - Receipt of a PING frame with a length field value other than 8 MUST be treated as a connection error of type - FRAME_SIZE_ERROR. - - -
- -
- - The GOAWAY frame (type=0x7) informs the remote peer to stop creating streams on this - connection. GOAWAY can be sent by either the client or the server. Once sent, the sender - will ignore frames sent on any new streams with identifiers higher than the included last - stream identifier. Receivers of a GOAWAY frame MUST NOT open additional streams on the - connection, although a new connection can be established for new streams. - - - The purpose of this frame is to allow an endpoint to gracefully stop accepting new - streams, while still finishing processing of previously established streams. This enables - administrative actions, like server maintainance. - - - There is an inherent race condition between an endpoint starting new streams and the - remote sending a GOAWAY frame. To deal with this case, the GOAWAY contains the stream - identifier of the last peer-initiated stream which was or might be processed on the - sending endpoint in this connection. For instance, if the server sends a GOAWAY frame, - the identified stream is the highest numbered stream initiated by the client. - - - If the receiver of the GOAWAY has sent data on streams with a higher stream identifier - than what is indicated in the GOAWAY frame, those streams are not or will not be - processed. The receiver of the GOAWAY frame can treat the streams as though they had - never been created at all, thereby allowing those streams to be retried later on a new - connection. - - - Endpoints SHOULD always send a GOAWAY frame before closing a connection so that the remote - can know whether a stream has been partially processed or not. For example, if an HTTP - client sends a POST at the same time that a server closes a connection, the client cannot - know if the server started to process that POST request if the server does not send a - GOAWAY frame to indicate what streams it might have acted on. - - - An endpoint might choose to close a connection without sending GOAWAY for misbehaving - peers. - - -
- -
- - The GOAWAY frame does not define any flags. - - - The GOAWAY frame applies to the connection, not a specific stream. An endpoint MUST treat - a GOAWAY frame with a stream identifier other than 0x0 as a connection error of type - PROTOCOL_ERROR. - - - The last stream identifier in the GOAWAY frame contains the highest numbered stream - identifier for which the sender of the GOAWAY frame might have taken some action on, or - might yet take action on. All streams up to and including the identified stream might - have been processed in some way. The last stream identifier can be set to 0 if no streams - were processed. - - - In this context, "processed" means that some data from the stream was passed to some - higher layer of software that might have taken some action as a result. - - - If a connection terminates without a GOAWAY frame, the last stream identifier is - effectively the highest possible stream identifier. - - - On streams with lower or equal numbered identifiers that were not closed completely prior - to the connection being closed, re-attempting requests, transactions, or any protocol - activity is not possible, with the exception of idempotent actions like HTTP GET, PUT, or - DELETE. Any protocol activity that uses higher numbered streams can be safely retried - using a new connection. - - - Activity on streams numbered lower or equal to the last stream identifier might still - complete successfully. The sender of a GOAWAY frame might gracefully shut down a - connection by sending a GOAWAY frame, maintaining the connection in an open state until - all in-progress streams complete. - - - An endpoint MAY send multiple GOAWAY frames if circumstances change. For instance, an - endpoint that sends GOAWAY with NO_ERROR during graceful shutdown could - subsequently encounter an condition that requires immediate termination of the connection. - The last stream identifier from the last GOAWAY frame received indicates which streams - could have been acted upon. Endpoints MUST NOT increase the value they send in the last - stream identifier, since the peers might already have retried unprocessed requests on - another connection. - - - A client that is unable to retry requests loses all requests that are in flight when the - server closes the connection. This is especially true for intermediaries that might - not be serving clients using HTTP/2. A server that is attempting to gracefully shut down - a connection SHOULD send an initial GOAWAY frame with the last stream identifier set to - 231-1 and a NO_ERROR code. This signals to the client that - a shutdown is imminent and that no further requests can be initiated. After waiting at - least one round trip time, the server can send another GOAWAY frame with an updated last - stream identifier. This ensures that a connection can be cleanly shut down without losing - requests. - - - - After sending a GOAWAY frame, the sender can discard frames for streams with identifiers - higher than the identified last stream. However, any frames that alter connection state - cannot be completely ignored. For instance, HEADERS, - PUSH_PROMISE and CONTINUATION frames MUST be minimally - processed to ensure the state maintained for header compression is consistent (see ); similarly DATA frames MUST be counted toward the connection flow - control window. Failure to process these frames can cause flow control or header - compression state to become unsynchronized. - - - - The GOAWAY frame also contains a 32-bit error code that - contains the reason for closing the connection. - - - Endpoints MAY append opaque data to the payload of any GOAWAY frame. Additional debug - data is intended for diagnostic purposes only and carries no semantic value. Debug - information could contain security- or privacy-sensitive data. Logged or otherwise - persistently stored debug data MUST have adequate safeguards to prevent unauthorized - access. - -
- -
- - The WINDOW_UPDATE frame (type=0x8) is used to implement flow control; see for an overview. - - - Flow control operates at two levels: on each individual stream and on the entire - connection. - - - Both types of flow control are hop-by-hop; that is, only between the two endpoints. - Intermediaries do not forward WINDOW_UPDATE frames between dependent connections. - However, throttling of data transfer by any receiver can indirectly cause the propagation - of flow control information toward the original sender. - - - Flow control only applies to frames that are identified as being subject to flow control. - Of the frame types defined in this document, this includes only DATA frames. - Frames that are exempt from flow control MUST be accepted and processed, unless the - receiver is unable to assign resources to handling the frame. A receiver MAY respond with - a stream error or connection error of type - FLOW_CONTROL_ERROR if it is unable to accept a frame. - -
- -
- - The payload of a WINDOW_UPDATE frame is one reserved bit, plus an unsigned 31-bit integer - indicating the number of octets that the sender can transmit in addition to the existing - flow control window. The legal range for the increment to the flow control window is 1 to - 231-1 (2,147,483,647) octets. - - - The WINDOW_UPDATE frame does not define any flags. - - - The WINDOW_UPDATE frame can be specific to a stream or to the entire connection. In the - former case, the frame's stream identifier indicates the affected stream; in the latter, - the value "0" indicates that the entire connection is the subject of the frame. - - - A receiver MUST treat the receipt of a WINDOW_UPDATE frame with an flow control window - increment of 0 as a stream error of type - PROTOCOL_ERROR; errors on the connection flow control window MUST be - treated as a connection error. - - - WINDOW_UPDATE can be sent by a peer that has sent a frame bearing the END_STREAM flag. - This means that a receiver could receive a WINDOW_UPDATE frame on a "half closed (remote)" - or "closed" stream. A receiver MUST NOT treat this as an error, see . - - - A receiver that receives a flow controlled frame MUST always account for its contribution - against the connection flow control window, unless the receiver treats this as a connection error. This is necessary even if the - frame is in error. Since the sender counts the frame toward the flow control window, if - the receiver does not, the flow control window at sender and receiver can become - different. - - - A WINDOW_UPDATE frame with a length other than 4 octets MUST be treated as a connection error of type - FRAME_SIZE_ERROR. - - -
- - Flow control in HTTP/2 is implemented using a window kept by each sender on every - stream. The flow control window is a simple integer value that indicates how many octets - of data the sender is permitted to transmit; as such, its size is a measure of the - buffering capacity of the receiver. - - - Two flow control windows are applicable: the stream flow control window and the - connection flow control window. The sender MUST NOT send a flow controlled frame with a - length that exceeds the space available in either of the flow control windows advertised - by the receiver. Frames with zero length with the END_STREAM flag set (that is, an - empty DATA frame) MAY be sent if there is no available space in either - flow control window. - - - For flow control calculations, the 9 octet frame header is not counted. - - - After sending a flow controlled frame, the sender reduces the space available in both - windows by the length of the transmitted frame. - - - The receiver of a frame sends a WINDOW_UPDATE frame as it consumes data and frees up - space in flow control windows. Separate WINDOW_UPDATE frames are sent for the stream - and connection level flow control windows. - - - A sender that receives a WINDOW_UPDATE frame updates the corresponding window by the - amount specified in the frame. - - - A sender MUST NOT allow a flow control window to exceed 231-1 octets. - If a sender receives a WINDOW_UPDATE that causes a flow control window to exceed this - maximum it MUST terminate either the stream or the connection, as appropriate. For - streams, the sender sends a RST_STREAM with the error code of - FLOW_CONTROL_ERROR code; for the connection, a GOAWAY - frame with a FLOW_CONTROL_ERROR code. - - - Flow controlled frames from the sender and WINDOW_UPDATE frames from the receiver are - completely asynchronous with respect to each other. This property allows a receiver to - aggressively update the window size kept by the sender to prevent streams from stalling. - -
- -
- - When an HTTP/2 connection is first established, new streams are created with an initial - flow control window size of 65,535 octets. The connection flow control window is 65,535 - octets. Both endpoints can adjust the initial window size for new streams by including - a value for SETTINGS_INITIAL_WINDOW_SIZE in the SETTINGS - frame that forms part of the connection preface. The connection flow control window can - only be changed using WINDOW_UPDATE frames. - - - Prior to receiving a SETTINGS frame that sets a value for - SETTINGS_INITIAL_WINDOW_SIZE, an endpoint can only use the default - initial window size when sending flow controlled frames. Similarly, the connection flow - control window is set to the default initial window size until a WINDOW_UPDATE frame is - received. - - - A SETTINGS frame can alter the initial flow control window size for all - current streams. When the value of SETTINGS_INITIAL_WINDOW_SIZE changes, - a receiver MUST adjust the size of all stream flow control windows that it maintains by - the difference between the new value and the old value. - - - A change to SETTINGS_INITIAL_WINDOW_SIZE can cause the available space in - a flow control window to become negative. A sender MUST track the negative flow control - window, and MUST NOT send new flow controlled frames until it receives WINDOW_UPDATE - frames that cause the flow control window to become positive. - - - For example, if the client sends 60KB immediately on connection establishment, and the - server sets the initial window size to be 16KB, the client will recalculate the - available flow control window to be -44KB on receipt of the SETTINGS - frame. The client retains a negative flow control window until WINDOW_UPDATE frames - restore the window to being positive, after which the client can resume sending. - - - A SETTINGS frame cannot alter the connection flow control window. - - - An endpoint MUST treat a change to SETTINGS_INITIAL_WINDOW_SIZE that - causes any flow control window to exceed the maximum size as a connection error of type - FLOW_CONTROL_ERROR. - -
- -
- - A receiver that wishes to use a smaller flow control window than the current size can - send a new SETTINGS frame. However, the receiver MUST be prepared to - receive data that exceeds this window size, since the sender might send data that - exceeds the lower limit prior to processing the SETTINGS frame. - - - After sending a SETTINGS frame that reduces the initial flow control window size, a - receiver has two options for handling streams that exceed flow control limits: - - - The receiver can immediately send RST_STREAM with - FLOW_CONTROL_ERROR error code for the affected streams. - - - The receiver can accept the streams and tolerate the resulting head of line - blocking, sending WINDOW_UPDATE frames as it consumes data. - - - -
-
- -
- - The CONTINUATION frame (type=0x9) is used to continue a sequence of header block fragments. Any number of CONTINUATION frames can - be sent on an existing stream, as long as the preceding frame is on the same stream and is - a HEADERS, PUSH_PROMISE or CONTINUATION frame without the - END_HEADERS flag set. - - -
- -
- - The CONTINUATION frame payload contains a header block - fragment. - - - - The CONTINUATION frame defines the following flag: - - - - Bit 2 being set indicates that this frame ends a header - block. - - - If the END_HEADERS bit is not set, this frame MUST be followed by another - CONTINUATION frame. A receiver MUST treat the receipt of any other type of frame or - a frame on a different stream as a connection - error of type PROTOCOL_ERROR. - - - - - - - The CONTINUATION frame changes the connection state as defined in . - - - - CONTINUATION frames MUST be associated with a stream. If a CONTINUATION frame is received - whose stream identifier field is 0x0, the recipient MUST respond with a connection error of type PROTOCOL_ERROR. - - - - A CONTINUATION frame MUST be preceded by a HEADERS, - PUSH_PROMISE or CONTINUATION frame without the END_HEADERS flag set. A - recipient that observes violation of this rule MUST respond with a connection error of type - PROTOCOL_ERROR. - -
-
- -
- - Error codes are 32-bit fields that are used in RST_STREAM and - GOAWAY frames to convey the reasons for the stream or connection error. - - - - Error codes share a common code space. Some error codes apply only to either streams or the - entire connection and have no defined semantics in the other context. - - - - The following error codes are defined: - - - The associated condition is not as a result of an error. For example, a - GOAWAY might include this code to indicate graceful shutdown of a - connection. - - - The endpoint detected an unspecific protocol error. This error is for use when a more - specific error code is not available. - - - The endpoint encountered an unexpected internal error. - - - The endpoint detected that its peer violated the flow control protocol. - - - The endpoint sent a SETTINGS frame, but did not receive a response in a - timely manner. See Settings Synchronization. - - - The endpoint received a frame after a stream was half closed. - - - The endpoint received a frame with an invalid size. - - - The endpoint refuses the stream prior to performing any application processing, see - for details. - - - Used by the endpoint to indicate that the stream is no longer needed. - - - The endpoint is unable to maintain the header compression context for the connection. - - - The connection established in response to a CONNECT - request was reset or abnormally closed. - - - The endpoint detected that its peer is exhibiting a behavior that might be generating - excessive load. - - - The underlying transport has properties that do not meet minimum security - requirements (see ). - - - The endpoint requires that HTTP/1.1 be used instead of HTTP/2. - - - - - Unknown or unsupported error codes MUST NOT trigger any special behavior. These MAY be - treated by an implementation as being equivalent to INTERNAL_ERROR. - -
- -
- - HTTP/2 is intended to be as compatible as possible with current uses of HTTP. This means - that, from the application perspective, the features of the protocol are largely - unchanged. To achieve this, all request and response semantics are preserved, although the - syntax of conveying those semantics has changed. - - - Thus, the specification and requirements of HTTP/1.1 Semantics and Content , Conditional Requests , Range Requests , Caching and Authentication are applicable to HTTP/2. Selected portions of HTTP/1.1 Message Syntax - and Routing , such as the HTTP and HTTPS URI schemes, are also - applicable in HTTP/2, but the expression of those semantics for this protocol are defined - in the sections below. - - -
- - A client sends an HTTP request on a new stream, using a previously unused stream identifier. A server sends an HTTP response on - the same stream as the request. - - - An HTTP message (request or response) consists of: - - - for a response only, zero or more HEADERS frames (each followed by zero - or more CONTINUATION frames) containing the message headers of - informational (1xx) HTTP responses (see and ), - and - - - one HEADERS frame (followed by zero or more CONTINUATION - frames) containing the message headers (see ), and - - - zero or more DATA frames containing the message payload (see ), and - - - optionally, one HEADERS frame, followed by zero or more - CONTINUATION frames containing the trailer-part, if present (see ). - - - The last frame in the sequence bears an END_STREAM flag, noting that a - HEADERS frame bearing the END_STREAM flag can be followed by - CONTINUATION frames that carry any remaining portions of the header block. - - - Other frames (from any stream) MUST NOT occur between either HEADERS frame - and any CONTINUATION frames that might follow. - - - - HTTP/2 uses DATA frames to carry message payloads. The chunked transfer encoding defined in MUST NOT be used in HTTP/2. - - - - Trailing header fields are carried in a header block that also terminates the stream. - Such a header block is a sequence starting with a HEADERS frame, followed - by zero or more CONTINUATION frames, where the HEADERS frame - bears an END_STREAM flag. Header blocks after the first that do not terminate the stream - are not part of an HTTP request or response. - - - A HEADERS frame (and associated CONTINUATION frames) can - only appear at the start or end of a stream. An endpoint that receives a - HEADERS frame without the END_STREAM flag set after receiving a final - (non-informational) status code MUST treat the corresponding request or response as malformed. - - - - An HTTP request/response exchange fully consumes a single stream. A request starts with - the HEADERS frame that puts the stream into an "open" state. The request - ends with a frame bearing END_STREAM, which causes the stream to become "half closed - (local)" for the client and "half closed (remote)" for the server. A response starts with - a HEADERS frame and ends with a frame bearing END_STREAM, which places the - stream in the "closed" state. - - - - An HTTP response is complete after the server sends - or the client receives - a frame - with the END_STREAM flag set (including any CONTINUATION frames needed to - complete a header block). A server can send a complete response prior to the client - sending an entire request if the response does not depend on any portion of the request - that has not been sent and received. When this is true, a server MAY request that the - client abort transmission of a request without error by sending a - RST_STREAM with an error code of NO_ERROR after sending a - complete response (i.e., a frame with the END_STREAM flag). Clients MUST NOT discard - responses as a result of receiving such a RST_STREAM, though clients can - always discard responses at their discretion for other reasons. - - -
- - HTTP/2 removes support for the 101 (Switching Protocols) informational status code - (). - - - The semantics of 101 (Switching Protocols) aren't applicable to a multiplexed protocol. - Alternative protocols are able to use the same mechanisms that HTTP/2 uses to negotiate - their use (see ). - -
- -
- - HTTP header fields carry information as a series of key-value pairs. For a listing of - registered HTTP headers, see the Message Header Field Registry maintained at . - - - Just as in HTTP/1.x, header field names are strings of ASCII characters that are - compared in a case-insensitive fashion. However, header field names MUST be converted - to lowercase prior to their encoding in HTTP/2. A request or response containing - uppercase header field names MUST be treated as malformed. - - -
- - While HTTP/1.x used the message start-line (see ) to convey the target URI and method of the request, and the - status code for the response, HTTP/2 uses special pseudo-header fields beginning with - ':' character (ASCII 0x3a) for this purpose. - - - Pseudo-header fields are not HTTP header fields. Endpoints MUST NOT generate - pseudo-header fields other than those defined in this document. - - - Pseudo-header fields are only valid in the context in which they are defined. - Pseudo-header fields defined for requests MUST NOT appear in responses; pseudo-header - fields defined for responses MUST NOT appear in requests. Pseudo-header fields MUST - NOT appear in trailers. Endpoints MUST treat a request or response that contains - undefined or invalid pseudo-header fields as malformed. - - - All pseudo-header fields MUST appear in the header block before regular header fields. - Any request or response that contains a pseudo-header field that appears in a header - block after a regular header field MUST be treated as malformed. - -
- -
- - HTTP/2 does not use the Connection header field to - indicate connection-specific header fields; in this protocol, connection-specific - metadata is conveyed by other means. An endpoint MUST NOT generate an HTTP/2 message - containing connection-specific header fields; any message containing - connection-specific header fields MUST be treated as malformed. - - - The only exception to this is the TE header field, which MAY be present in an HTTP/2 - request; when it is, it MUST NOT contain any value other than "trailers". - - - This means that an intermediary transforming an HTTP/1.x message to HTTP/2 will need - to remove any header fields nominated by the Connection header field, along with the - Connection header field itself. Such intermediaries SHOULD also remove other - connection-specific header fields, such as Keep-Alive, Proxy-Connection, - Transfer-Encoding and Upgrade, even if they are not nominated by Connection. - - - - - HTTP/2 purposefully does not support upgrade to another protocol. The handshake - methods described in are believed sufficient to - negotiate the use of alternative protocols. - - - -
- -
- - The following pseudo-header fields are defined for HTTP/2 requests: - - - - The :method pseudo-header field includes the HTTP - method (). - - - - - The :scheme pseudo-header field includes the scheme - portion of the target URI (). - - - :scheme is not restricted to http and https schemed URIs. A - proxy or gateway can translate requests for non-HTTP schemes, enabling the use - of HTTP to interact with non-HTTP services. - - - - - The :authority pseudo-header field includes the - authority portion of the target URI (). The authority MUST NOT include the deprecated userinfo subcomponent for http - or https schemed URIs. - - - To ensure that the HTTP/1.1 request line can be reproduced accurately, this - pseudo-header field MUST be omitted when translating from an HTTP/1.1 request - that has a request target in origin or asterisk form (see ). Clients that generate - HTTP/2 requests directly SHOULD use the :authority pseudo-header - field instead of the Host header field. An - intermediary that converts an HTTP/2 request to HTTP/1.1 MUST create a Host header field if one is not present in a request by - copying the value of the :authority pseudo-header - field. - - - - - The :path pseudo-header field includes the path and - query parts of the target URI (the path-absolute - production from and optionally a '?' character - followed by the query production, see and ). A request in asterisk form includes the value '*' for the - :path pseudo-header field. - - - This pseudo-header field MUST NOT be empty for http - or https URIs; http or - https URIs that do not contain a path component - MUST include a value of '/'. The exception to this rule is an OPTIONS request - for an http or https - URI that does not include a path component; these MUST include a :path pseudo-header field with a value of '*' (see ). - - - - - - All HTTP/2 requests MUST include exactly one valid value for the :method, :scheme, and :path pseudo-header fields, unless it is a CONNECT request. An HTTP request that omits mandatory - pseudo-header fields is malformed. - - - HTTP/2 does not define a way to carry the version identifier that is included in the - HTTP/1.1 request line. - -
- -
- - For HTTP/2 responses, a single :status pseudo-header - field is defined that carries the HTTP status code field (see ). This pseudo-header field MUST be included in all - responses, otherwise the response is malformed. - - - HTTP/2 does not define a way to carry the version or reason phrase that is included in - an HTTP/1.1 status line. - -
- -
- - The Cookie header field uses a semi-colon (";") to delimit cookie-pairs (or "crumbs"). - This header field doesn't follow the list construction rules in HTTP (see ), which prevents cookie-pairs from - being separated into different name-value pairs. This can significantly reduce - compression efficiency as individual cookie-pairs are updated. - - - To allow for better compression efficiency, the Cookie header field MAY be split into - separate header fields, each with one or more cookie-pairs. If there are multiple - Cookie header fields after decompression, these MUST be concatenated into a single - octet string using the two octet delimiter of 0x3B, 0x20 (the ASCII string "; ") - before being passed into a non-HTTP/2 context, such as an HTTP/1.1 connection, or a - generic HTTP server application. - -
- - Therefore, the following two lists of Cookie header fields are semantically - equivalent. - - -
-
- -
- - A malformed request or response is one that is an otherwise valid sequence of HTTP/2 - frames, but is otherwise invalid due to the presence of extraneous frames, prohibited - header fields, the absence of mandatory header fields, or the inclusion of uppercase - header field names. - - - A request or response that includes an entity body can include a content-length header field. A request or response is also - malformed if the value of a content-length header field - does not equal the sum of the DATA frame payload lengths that form the - body. A response that is defined to have no payload, as described in , can have a non-zero - content-length header field, even though no content is - included in DATA frames. - - - Intermediaries that process HTTP requests or responses (i.e., any intermediary not - acting as a tunnel) MUST NOT forward a malformed request or response. Malformed - requests or responses that are detected MUST be treated as a stream error of type PROTOCOL_ERROR. - - - For malformed requests, a server MAY send an HTTP response prior to closing or - resetting the stream. Clients MUST NOT accept a malformed response. Note that these - requirements are intended to protect against several types of common attacks against - HTTP; they are deliberately strict, because being permissive can expose - implementations to these vulnerabilities. - -
-
- -
- - This section shows HTTP/1.1 requests and responses, with illustrations of equivalent - HTTP/2 requests and responses. - - - An HTTP GET request includes request header fields and no body and is therefore - transmitted as a single HEADERS frame, followed by zero or more - CONTINUATION frames containing the serialized block of request header - fields. The HEADERS frame in the following has both the END_HEADERS and - END_STREAM flags set; no CONTINUATION frames are sent: - - -
- + END_STREAM - Accept: image/jpeg + END_HEADERS - :method = GET - :scheme = https - :path = /resource - host = example.org - accept = image/jpeg -]]> -
- - - Similarly, a response that includes only response header fields is transmitted as a - HEADERS frame (again, followed by zero or more - CONTINUATION frames) containing the serialized block of response header - fields. - - -
- + END_STREAM - Expires: Thu, 23 Jan ... + END_HEADERS - :status = 304 - etag = "xyzzy" - expires = Thu, 23 Jan ... -]]> -
- - - An HTTP POST request that includes request header fields and payload data is transmitted - as one HEADERS frame, followed by zero or more - CONTINUATION frames containing the request header fields, followed by one - or more DATA frames, with the last CONTINUATION (or - HEADERS) frame having the END_HEADERS flag set and the final - DATA frame having the END_STREAM flag set: - - -
- - END_STREAM - Content-Type: image/jpeg - END_HEADERS - Content-Length: 123 :method = POST - :path = /resource - {binary data} :scheme = https - - CONTINUATION - + END_HEADERS - content-type = image/jpeg - host = example.org - content-length = 123 - - DATA - + END_STREAM - {binary data} -]]> - - Note that data contributing to any given header field could be spread between header - block fragments. The allocation of header fields to frames in this example is - illustrative only. - -
- - - A response that includes header fields and payload data is transmitted as a - HEADERS frame, followed by zero or more CONTINUATION - frames, followed by one or more DATA frames, with the last - DATA frame in the sequence having the END_STREAM flag set: - - -
- - END_STREAM - Content-Length: 123 + END_HEADERS - :status = 200 - {binary data} content-type = image/jpeg - content-length = 123 - - DATA - + END_STREAM - {binary data} -]]> -
- - - An informational response using a 1xx status code other than 101 is transmitted as a - HEADERS frame, followed by zero or more CONTINUATION - frames. - - - Trailing header fields are sent as a header block after both the request or response - header block and all the DATA frames have been sent. The - HEADERS frame starting the trailers header block has the END_STREAM flag - set. - -
- - The following example includes both a 100 (Continue) status code, which is sent in - response to a request containing a "100-continue" token in the Expect header field, - and trailing header fields: - - - END_STREAM - + END_HEADERS - :status = 100 - extension-field = bar - - HTTP/1.1 200 OK HEADERS - Content-Type: image/jpeg ==> - END_STREAM - Transfer-Encoding: chunked + END_HEADERS - Trailer: Foo :status = 200 - content-length = 123 - 123 content-type = image/jpeg - {binary data} trailer = Foo - 0 - Foo: bar DATA - - END_STREAM - {binary data} - - HEADERS - + END_STREAM - + END_HEADERS - foo = bar -]]> -
-
- -
- - In HTTP/1.1, an HTTP client is unable to retry a non-idempotent request when an error - occurs, because there is no means to determine the nature of the error. It is possible - that some server processing occurred prior to the error, which could result in - undesirable effects if the request were reattempted. - - - HTTP/2 provides two mechanisms for providing a guarantee to a client that a request has - not been processed: - - - The GOAWAY frame indicates the highest stream number that might have - been processed. Requests on streams with higher numbers are therefore guaranteed to - be safe to retry. - - - The REFUSED_STREAM error code can be included in a - RST_STREAM frame to indicate that the stream is being closed prior to - any processing having occurred. Any request that was sent on the reset stream can - be safely retried. - - - - - Requests that have not been processed have not failed; clients MAY automatically retry - them, even those with non-idempotent methods. - - - A server MUST NOT indicate that a stream has not been processed unless it can guarantee - that fact. If frames that are on a stream are passed to the application layer for any - stream, then REFUSED_STREAM MUST NOT be used for that stream, and a - GOAWAY frame MUST include a stream identifier that is greater than or - equal to the given stream identifier. - - - In addition to these mechanisms, the PING frame provides a way for a - client to easily test a connection. Connections that remain idle can become broken as - some middleboxes (for instance, network address translators, or load balancers) silently - discard connection bindings. The PING frame allows a client to safely - test whether a connection is still active without sending a request. - -
-
- -
- - HTTP/2 allows a server to pre-emptively send (or "push") responses (along with - corresponding "promised" requests) to a client in association with a previous - client-initiated request. This can be useful when the server knows the client will need - to have those responses available in order to fully process the response to the original - request. - - - - Pushing additional message exchanges in this fashion is optional, and is negotiated - between individual endpoints. The SETTINGS_ENABLE_PUSH setting can be set - to 0 to indicate that server push is disabled. - - - Promised requests MUST be cacheable (see ), MUST be safe (see ) and MUST NOT include a request body. Clients that receive a - promised request that is not cacheable, unsafe or that includes a request body MUST - reset the stream with a stream error of type - PROTOCOL_ERROR. - - - Pushed responses that are cacheable (see ) can be stored by the client, if it implements an HTTP - cache. Pushed responses are considered successfully validated on the origin server (e.g., - if the "no-cache" cache response directive is present) while the stream identified by the - promised stream ID is still open. - - - Pushed responses that are not cacheable MUST NOT be stored by any HTTP cache. They MAY - be made available to the application separately. - - - An intermediary can receive pushes from the server and choose not to forward them on to - the client. In other words, how to make use of the pushed information is up to that - intermediary. Equally, the intermediary might choose to make additional pushes to the - client, without any action taken by the server. - - - A client cannot push. Thus, servers MUST treat the receipt of a - PUSH_PROMISE frame as a connection - error of type PROTOCOL_ERROR. Clients MUST reject any attempt to - change the SETTINGS_ENABLE_PUSH setting to a value other than 0 by treating - the message as a connection error of type - PROTOCOL_ERROR. - - -
- - Server push is semantically equivalent to a server responding to a request; however, in - this case that request is also sent by the server, as a PUSH_PROMISE - frame. - - - The PUSH_PROMISE frame includes a header block that contains a complete - set of request header fields that the server attributes to the request. It is not - possible to push a response to a request that includes a request body. - - - - Pushed responses are always associated with an explicit request from the client. The - PUSH_PROMISE frames sent by the server are sent on that explicit - request's stream. The PUSH_PROMISE frame also includes a promised stream - identifier, chosen from the stream identifiers available to the server (see ). - - - - The header fields in PUSH_PROMISE and any subsequent - CONTINUATION frames MUST be a valid and complete set of request header fields. The server MUST include a method in - the :method header field that is safe and cacheable. If a - client receives a PUSH_PROMISE that does not include a complete and valid - set of header fields, or the :method header field identifies - a method that is not safe, it MUST respond with a stream error of type PROTOCOL_ERROR. - - - - The server SHOULD send PUSH_PROMISE () - frames prior to sending any frames that reference the promised responses. This avoids a - race where clients issue requests prior to receiving any PUSH_PROMISE - frames. - - - For example, if the server receives a request for a document containing embedded links - to multiple image files, and the server chooses to push those additional images to the - client, sending push promises before the DATA frames that contain the - image links ensures that the client is able to see the promises before discovering - embedded links. Similarly, if the server pushes responses referenced by the header block - (for instance, in Link header fields), sending the push promises before sending the - header block ensures that clients do not request them. - - - - PUSH_PROMISE frames MUST NOT be sent by the client. - - - PUSH_PROMISE frames can be sent by the server in response to any - client-initiated stream, but the stream MUST be in either the "open" or "half closed - (remote)" state with respect to the server. PUSH_PROMISE frames are - interspersed with the frames that comprise a response, though they cannot be - interspersed with HEADERS and CONTINUATION frames that - comprise a single header block. - - - Sending a PUSH_PROMISE frame creates a new stream and puts the stream - into the “reserved (local)” state for the server and the “reserved (remote)” state for - the client. - -
- -
- - After sending the PUSH_PROMISE frame, the server can begin delivering the - pushed response as a response on a server-initiated - stream that uses the promised stream identifier. The server uses this stream to - transmit an HTTP response, using the same sequence of frames as defined in . This stream becomes "half closed" - to the client after the initial HEADERS frame is sent. - - - - Once a client receives a PUSH_PROMISE frame and chooses to accept the - pushed response, the client SHOULD NOT issue any requests for the promised response - until after the promised stream has closed. - - - - If the client determines, for any reason, that it does not wish to receive the pushed - response from the server, or if the server takes too long to begin sending the promised - response, the client can send an RST_STREAM frame, using either the - CANCEL or REFUSED_STREAM codes, and referencing the pushed - stream's identifier. - - - A client can use the SETTINGS_MAX_CONCURRENT_STREAMS setting to limit the - number of responses that can be concurrently pushed by a server. Advertising a - SETTINGS_MAX_CONCURRENT_STREAMS value of zero disables server push by - preventing the server from creating the necessary streams. This does not prohibit a - server from sending PUSH_PROMISE frames; clients need to reset any - promised streams that are not wanted. - - - - Clients receiving a pushed response MUST validate that either the server is - authoritative (see ), or the proxy that provided the pushed - response is configured for the corresponding request. For example, a server that offers - a certificate for only the example.com DNS-ID or Common Name - is not permitted to push a response for https://www.example.org/doc. - - - The response for a PUSH_PROMISE stream begins with a - HEADERS frame, which immediately puts the stream into the “half closed - (remote)” state for the server and “half closed (local)” state for the client, and ends - with a frame bearing END_STREAM, which places the stream in the "closed" state. - - - The client never sends a frame with the END_STREAM flag for a server push. - - - -
- -
- -
- - In HTTP/1.x, the pseudo-method CONNECT () is used to convert an HTTP connection into a tunnel to a remote host. - CONNECT is primarily used with HTTP proxies to establish a TLS session with an origin - server for the purposes of interacting with https resources. - - - In HTTP/2, the CONNECT method is used to establish a tunnel over a single HTTP/2 stream to - a remote host, for similar purposes. The HTTP header field mapping works as defined in - Request Header Fields, with a few - differences. Specifically: - - - The :method header field is set to CONNECT. - - - The :scheme and :path header - fields MUST be omitted. - - - The :authority header field contains the host and port to - connect to (equivalent to the authority-form of the request-target of CONNECT - requests, see ). - - - - - A CONNECT request that does not conform to these restrictions is malformed. - - - A proxy that supports CONNECT establishes a TCP connection to - the server identified in the :authority header field. Once - this connection is successfully established, the proxy sends a HEADERS - frame containing a 2xx series status code to the client, as defined in . - - - After the initial HEADERS frame sent by each peer, all subsequent - DATA frames correspond to data sent on the TCP connection. The payload of - any DATA frames sent by the client is transmitted by the proxy to the TCP - server; data received from the TCP server is assembled into DATA frames by - the proxy. Frame types other than DATA or stream management frames - (RST_STREAM, WINDOW_UPDATE, and PRIORITY) - MUST NOT be sent on a connected stream, and MUST be treated as a stream error if received. - - - The TCP connection can be closed by either peer. The END_STREAM flag on a - DATA frame is treated as being equivalent to the TCP FIN bit. A client is - expected to send a DATA frame with the END_STREAM flag set after receiving - a frame bearing the END_STREAM flag. A proxy that receives a DATA frame - with the END_STREAM flag set sends the attached data with the FIN bit set on the last TCP - segment. A proxy that receives a TCP segment with the FIN bit set sends a - DATA frame with the END_STREAM flag set. Note that the final TCP segment - or DATA frame could be empty. - - - A TCP connection error is signaled with RST_STREAM. A proxy treats any - error in the TCP connection, which includes receiving a TCP segment with the RST bit set, - as a stream error of type - CONNECT_ERROR. Correspondingly, a proxy MUST send a TCP segment with the - RST bit set if it detects an error with the stream or the HTTP/2 connection. - -
-
- -
- - This section outlines attributes of the HTTP protocol that improve interoperability, reduce - exposure to known security vulnerabilities, or reduce the potential for implementation - variation. - - -
- - HTTP/2 connections are persistent. For best performance, it is expected clients will not - close connections until it is determined that no further communication with a server is - necessary (for example, when a user navigates away from a particular web page), or until - the server closes the connection. - - - Clients SHOULD NOT open more than one HTTP/2 connection to a given host and port pair, - where host is derived from a URI, a selected alternative - service, or a configured proxy. - - - A client can create additional connections as replacements, either to replace connections - that are near to exhausting the available stream - identifier space, to refresh the keying material for a TLS connection, or to - replace connections that have encountered errors. - - - A client MAY open multiple connections to the same IP address and TCP port using different - Server Name Indication values or to provide different TLS - client certificates, but SHOULD avoid creating multiple connections with the same - configuration. - - - Servers are encouraged to maintain open connections for as long as possible, but are - permitted to terminate idle connections if necessary. When either endpoint chooses to - close the transport-layer TCP connection, the terminating endpoint SHOULD first send a - GOAWAY () frame so that both endpoints can reliably - determine whether previously sent frames have been processed and gracefully complete or - terminate any necessary remaining tasks. - - -
- - Connections that are made to an origin servers, either directly or through a tunnel - created using the CONNECT method MAY be reused for - requests with multiple different URI authority components. A connection can be reused - as long as the origin server is authoritative. For - http resources, this depends on the host having resolved to - the same IP address. - - - For https resources, connection reuse additionally depends - on having a certificate that is valid for the host in the URI. An origin server might - offer a certificate with multiple subjectAltName attributes, - or names with wildcards, one of which is valid for the authority in the URI. For - example, a certificate with a subjectAltName of *.example.com might permit the use of the same connection for - requests to URIs starting with https://a.example.com/ and - https://b.example.com/. - - - In some deployments, reusing a connection for multiple origins can result in requests - being directed to the wrong origin server. For example, TLS termination might be - performed by a middlebox that uses the TLS Server Name Indication - (SNI) extension to select an origin server. This means that it is possible - for clients to send confidential information to servers that might not be the intended - target for the request, even though the server is otherwise authoritative. - - - A server that does not wish clients to reuse connections can indicate that it is not - authoritative for a request by sending a 421 (Misdirected Request) status code in response - to the request (see ). - - - A client that is configured to use a proxy over HTTP/2 directs requests to that proxy - through a single connection. That is, all requests sent via a proxy reuse the - connection to the proxy. - -
- -
- - The 421 (Misdirected Request) status code indicates that the request was directed at a - server that is not able to produce a response. This can be sent by a server that is not - configured to produce responses for the combination of scheme and authority that are - included in the request URI. - - - Clients receiving a 421 (Misdirected Request) response from a server MAY retry the - request - whether the request method is idempotent or not - over a different connection. - This is possible if a connection is reused () or if an alternative - service is selected (). - - - This status code MUST NOT be generated by proxies. - - - A 421 response is cacheable by default; i.e., unless otherwise indicated by the method - definition or explicit cache controls (see ). - -
-
- -
- - Implementations of HTTP/2 MUST use TLS version 1.2 or higher - for HTTP/2 over TLS. The general TLS usage guidance in SHOULD be - followed, with some additional restrictions that are specific to HTTP/2. - - - The TLS implementation MUST support the Server Name Indication - (SNI) extension to TLS. HTTP/2 clients MUST indicate the target domain name when - negotiating TLS. - - - Deployments of HTTP/2 that negotiate TLS 1.3 or higher need only support and use the SNI - extension; deployments of TLS 1.2 are subject to the requirements in the following - sections. Implementations are encouraged to provide defaults that comply, but it is - recognized that deployments are ultimately responsible for compliance. - - -
- - This section describes restrictions on the TLS 1.2 feature set that can be used with - HTTP/2. Due to deployment limitations, it might not be possible to fail TLS negotiation - when these restrictions are not met. An endpoint MAY immediately terminate an HTTP/2 - connection that does not meet these TLS requirements with a connection error of type - INADEQUATE_SECURITY. - - - - A deployment of HTTP/2 over TLS 1.2 MUST disable compression. TLS compression can lead - to the exposure of information that would not otherwise be revealed . Generic compression is unnecessary since HTTP/2 provides - compression features that are more aware of context and therefore likely to be more - appropriate for use for performance, security or other reasons. - - - A deployment of HTTP/2 over TLS 1.2 MUST disable renegotiation. An endpoint MUST treat - a TLS renegotiation as a connection error - of type PROTOCOL_ERROR. Note that disabling renegotiation can result in - long-lived connections becoming unusable due to limits on the number of messages the - underlying cipher suite can encipher. - - - An endpoint MAY use renegotiation to provide confidentiality protection for client - credentials offered in the handshake, but any renegotiation MUST occur prior to sending - the connection preface. A server SHOULD request a client certificate if it sees a - renegotiation request immediately after establishing a connection. - - - This effectively prevents the use of renegotiation in response to a request for a - specific protected resource. A future specification might provide a way to support this - use case. Alternatively, a server might use an - error of type HTTP_1_1_REQUIRED to request the client - use a protocol which supports renegotiation. - - - Implementations MUST support ephemeral key exchange sizes of at least 2048 bits for - cipher suites that use ephemeral finite field Diffie-Hellman (DHE) and 224 bits for cipher suites that use ephemeral elliptic curve - Diffie-Hellman (ECDHE) . Clients MUST accept DHE sizes of up - to 4096 bits. Endpoints MAY treat negotiation of key sizes smaller than the lower - limits as a connection error of type - INADEQUATE_SECURITY. - -
- -
- - A deployment of HTTP/2 over TLS 1.2 SHOULD NOT use any of the cipher suites that are - listed in . - - - Endpoints MAY choose to generate a connection - error of type INADEQUATE_SECURITY if one of the prohibited cipher - suites are negotiated. A deployment that chooses to use a prohibited cipher suite - risks triggering a connection error unless the set of potential peers is known to - accept that cipher suite. - - - Implementations MUST NOT generate this error in reaction to the negotiation of a cipher - suite that is not in the prohibited list. Consequently, when clients offer a cipher - suite that is not prohibited, they have to be prepared to use that cipher suite with - HTTP/2. - - - The effect of prohibiting these cipher suites is that TLS 1.2 deployments could have - non-intersecting sets of available cipher suites, since the prohibited set includes the - cipher suite that TLS 1.2 makes mandatory. To avoid this problem, deployments of HTTP/2 - that use TLS 1.2 MUST support TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 with the P256 elliptic curve . - - - Note that clients might advertise support of cipher suites that are prohibited by the - above restrictions in order to allow for connection to servers that do not support - HTTP/2 and support only prohibited cipher suites. This allows servers to select - HTTP/1.1 with a cipher suite that is prohibited for HTTP/2. However, this can result in - HTTP/2 being negotiated with a prohibited cipher suite if the application protocol and - cipher suite are independently selected. - -
-
-
- -
-
- - HTTP/2 relies on the HTTP/1.1 definition of authority for determining whether a server is - authoritative in providing a given response, see . This relies on local name resolution for the "http" - URI scheme, and the authenticated server identity for the "https" scheme (see ). - -
- -
- - In a cross-protocol attack, an attacker causes a client to initiate a transaction in one - protocol toward a server that understands a different protocol. An attacker might be able - to cause the transaction to appear as valid transaction in the second protocol. In - combination with the capabilities of the web context, this can be used to interact with - poorly protected servers in private networks. - - - Completing a TLS handshake with an ALPN identifier for HTTP/2 can be considered sufficient - protection against cross protocol attacks. ALPN provides a positive indication that a - server is willing to proceed with HTTP/2, which prevents attacks on other TLS-based - protocols. - - - The encryption in TLS makes it difficult for attackers to control the data which could be - used in a cross-protocol attack on a cleartext protocol. - - - The cleartext version of HTTP/2 has minimal protection against cross-protocol attacks. - The connection preface contains a string that is - designed to confuse HTTP/1.1 servers, but no special protection is offered for other - protocols. A server that is willing to ignore parts of an HTTP/1.1 request containing an - Upgrade header field in addition to the client connection preface could be exposed to a - cross-protocol attack. - -
- -
- - The HTTP/2 header field encoding allows the expression of names that are not valid field - names in the Internet Message Syntax used by HTTP/1.1. Requests or responses containing - invalid header field names MUST be treated as malformed. - An intermediary therefore cannot translate an HTTP/2 request or response containing an - invalid field name into an HTTP/1.1 message. - - - Similarly, HTTP/2 allows header field values that are not valid. While most of the values - that can be encoded will not alter header field parsing, carriage return (CR, ASCII 0xd), - line feed (LF, ASCII 0xa), and the zero character (NUL, ASCII 0x0) might be exploited by - an attacker if they are translater verbatim. Any request or response that contains a - character not permitted in a header field value MUST be treated as malformed. Valid characters are defined by the field-content ABNF rule in . - -
- -
- - Pushed responses do not have an explicit request from the client; the request - is provided by the server in the PUSH_PROMISE frame. - - - Caching responses that are pushed is possible based on the guidance provided by the origin - server in the Cache-Control header field. However, this can cause issues if a single - server hosts more than one tenant. For example, a server might offer multiple users each - a small portion of its URI space. - - - Where multiple tenants share space on the same server, that server MUST ensure that - tenants are not able to push representations of resources that they do not have authority - over. Failure to enforce this would allow a tenant to provide a representation that would - be served out of cache, overriding the actual representation that the authoritative tenant - provides. - - - Pushed responses for which an origin server is not authoritative (see - ) are never cached or used. - -
- -
- - An HTTP/2 connection can demand a greater commitment of resources to operate than a - HTTP/1.1 connection. The use of header compression and flow control depend on a - commitment of resources for storing a greater amount of state. Settings for these - features ensure that memory commitments for these features are strictly bounded. - - - The number of PUSH_PROMISE frames is not constrained in the same fashion. - A client that accepts server push SHOULD limit the number of streams it allows to be in - the "reserved (remote)" state. Excessive number of server push streams can be treated as - a stream error of type - ENHANCE_YOUR_CALM. - - - Processing capacity cannot be guarded as effectively as state capacity. - - - The SETTINGS frame can be abused to cause a peer to expend additional - processing time. This might be done by pointlessly changing SETTINGS parameters, setting - multiple undefined parameters, or changing the same setting multiple times in the same - frame. WINDOW_UPDATE or PRIORITY frames can be abused to - cause an unnecessary waste of resources. - - - Large numbers of small or empty frames can be abused to cause a peer to expend time - processing frame headers. Note however that some uses are entirely legitimate, such as - the sending of an empty DATA or CONTINUATION frame at the - end of a stream. - - - Header compression also offers some opportunities to waste processing resources; see Section 7 of for more details on potential abuses. - - - Limits in SETTINGS parameters cannot be reduced instantaneously, which - leaves an endpoint exposed to behavior from a peer that could exceed the new limits. In - particular, immediately after establishing a connection, limits set by a server are not - known to clients and could be exceeded without being an obvious protocol violation. - - - All these features - i.e., SETTINGS changes, small frames, header - compression - have legitimate uses. These features become a burden only when they are - used unnecessarily or to excess. - - - An endpoint that doesn't monitor this behavior exposes itself to a risk of denial of - service attack. Implementations SHOULD track the use of these features and set limits on - their use. An endpoint MAY treat activity that is suspicious as a connection error of type - ENHANCE_YOUR_CALM. - - -
- - A large header block can cause an implementation to - commit a large amount of state. Header fields that are critical for routing can appear - toward the end of a header block, which prevents streaming of header fields to their - ultimate destination. For this an other reasons, such as ensuring cache correctness, - means that an endpoint might need to buffer the entire header block. Since there is no - hard limit to the size of a header block, some endpoints could be forced commit a large - amount of available memory for header fields. - - - An endpoint can use the SETTINGS_MAX_HEADER_LIST_SIZE to advise peers of - limits that might apply on the size of header blocks. This setting is only advisory, so - endpoints MAY choose to send header blocks that exceed this limit and risk having the - request or response being treated as malformed. This setting specific to a connection, - so any request or response could encounter a hop with a lower, unknown limit. An - intermediary can attempt to avoid this problem by passing on values presented by - different peers, but they are not obligated to do so. - - - A server that receives a larger header block than it is willing to handle can send an - HTTP 431 (Request Header Fields Too Large) status code . A - client can discard responses that it cannot process. The header block MUST be processed - to ensure a consistent connection state, unless the connection is closed. - -
-
- -
- - HTTP/2 enables greater use of compression for both header fields () and entity bodies. Compression can allow an attacker to recover - secret data when it is compressed in the same context as data under attacker control. - - - There are demonstrable attacks on compression that exploit the characteristics of the web - (e.g., ). The attacker induces multiple requests containing - varying plaintext, observing the length of the resulting ciphertext in each, which - reveals a shorter length when a guess about the secret is correct. - - - Implementations communicating on a secure channel MUST NOT compress content that includes - both confidential and attacker-controlled data unless separate compression dictionaries - are used for each source of data. Compression MUST NOT be used if the source of data - cannot be reliably determined. Generic stream compression, such as that provided by TLS - MUST NOT be used with HTTP/2 (). - - - Further considerations regarding the compression of header fields are described in . - -
- -
- - Padding within HTTP/2 is not intended as a replacement for general purpose padding, such - as might be provided by TLS. Redundant padding could even be - counterproductive. Correct application can depend on having specific knowledge of the - data that is being padded. - - - To mitigate attacks that rely on compression, disabling or limiting compression might be - preferable to padding as a countermeasure. - - - Padding can be used to obscure the exact size of frame content, and is provided to - mitigate specific attacks within HTTP. For example, attacks where compressed content - includes both attacker-controlled plaintext and secret data (see for example, ). - - - Use of padding can result in less protection than might seem immediately obvious. At - best, padding only makes it more difficult for an attacker to infer length information by - increasing the number of frames an attacker has to observe. Incorrectly implemented - padding schemes can be easily defeated. In particular, randomized padding with a - predictable distribution provides very little protection; similarly, padding payloads to a - fixed size exposes information as payload sizes cross the fixed size boundary, which could - be possible if an attacker can control plaintext. - - - Intermediaries SHOULD retain padding for DATA frames, but MAY drop padding - for HEADERS and PUSH_PROMISE frames. A valid reason for an - intermediary to change the amount of padding of frames is to improve the protections that - padding provides. - -
- -
- - Several characteristics of HTTP/2 provide an observer an opportunity to correlate actions - of a single client or server over time. This includes the value of settings, the manner - in which flow control windows are managed, the way priorities are allocated to streams, - timing of reactions to stimulus, and handling of any optional features. - - - As far as this creates observable differences in behavior, they could be used as a basis - for fingerprinting a specific client, as defined in . - - - HTTP/2's preference for using a single TCP connection allows correlation of a user's - activity on a site. If connections are reused for different origins, this allows tracking - across those origins. - - - Because the PING and SETTINGS frames solicit immediate responses, they can be used by an - endpoint to measure latency to their peer. This might have privacy implications in - certain scenarios. - -
-
- -
- - A string for identifying HTTP/2 is entered into the "Application Layer Protocol Negotiation - (ALPN) Protocol IDs" registry established in . - - - This document establishes a registry for frame types, settings, and error codes. These new - registries are entered into a new "Hypertext Transfer Protocol (HTTP) 2 Parameters" section. - - - This document registers the HTTP2-Settings header field for - use in HTTP; and the 421 (Misdirected Request) status code. - - - This document registers the PRI method for use in HTTP, to avoid - collisions with the connection preface. - - -
- - This document creates two registrations for the identification of HTTP/2 in the - "Application Layer Protocol Negotiation (ALPN) Protocol IDs" registry established in . - - - The "h2" string identifies HTTP/2 when used over TLS: - - HTTP/2 over TLS - 0x68 0x32 ("h2") - This document - - - - The "h2c" string identifies HTTP/2 when used over cleartext TCP: - - HTTP/2 over TCP - 0x68 0x32 0x63 ("h2c") - This document - - -
- -
- - This document establishes a registry for HTTP/2 frame type codes. The "HTTP/2 Frame - Type" registry manages an 8-bit space. The "HTTP/2 Frame Type" registry operates under - either of the "IETF Review" or "IESG Approval" policies for - values between 0x00 and 0xef, with values between 0xf0 and 0xff being reserved for - experimental use. - - - New entries in this registry require the following information: - - - A name or label for the frame type. - - - The 8-bit code assigned to the frame type. - - - A reference to a specification that includes a description of the frame layout, its - semantics, and flags that the frame type uses, including any parts of the frame that - are conditionally present based on the value of flags. - - - - - The entries in the following table are registered by this document. - - - Frame Type - Code - Section - DATA0x0 - HEADERS0x1 - PRIORITY0x2 - RST_STREAM0x3 - SETTINGS0x4 - PUSH_PROMISE0x5 - PING0x6 - GOAWAY0x7 - WINDOW_UPDATE0x8 - CONTINUATION0x9 - -
- -
- - This document establishes a registry for HTTP/2 settings. The "HTTP/2 Settings" registry - manages a 16-bit space. The "HTTP/2 Settings" registry operates under the "Expert Review" policy for values in the range from 0x0000 to - 0xefff, with values between and 0xf000 and 0xffff being reserved for experimental use. - - - New registrations are advised to provide the following information: - - - A symbolic name for the setting. Specifying a setting name is optional. - - - The 16-bit code assigned to the setting. - - - An initial value for the setting. - - - An optional reference to a specification that describes the use of the setting. - - - - - An initial set of setting registrations can be found in . - - - Name - Code - Initial Value - Specification - HEADER_TABLE_SIZE - 0x14096 - ENABLE_PUSH - 0x21 - MAX_CONCURRENT_STREAMS - 0x3(infinite) - INITIAL_WINDOW_SIZE - 0x465535 - MAX_FRAME_SIZE - 0x516384 - MAX_HEADER_LIST_SIZE - 0x6(infinite) - - -
- -
- - This document establishes a registry for HTTP/2 error codes. The "HTTP/2 Error Code" - registry manages a 32-bit space. The "HTTP/2 Error Code" registry operates under the - "Expert Review" policy. - - - Registrations for error codes are required to include a description of the error code. An - expert reviewer is advised to examine new registrations for possible duplication with - existing error codes. Use of existing registrations is to be encouraged, but not - mandated. - - - New registrations are advised to provide the following information: - - - A name for the error code. Specifying an error code name is optional. - - - The 32-bit error code value. - - - A brief description of the error code semantics, longer if no detailed specification - is provided. - - - An optional reference for a specification that defines the error code. - - - - - The entries in the following table are registered by this document. - - - Name - Code - Description - Specification - NO_ERROR0x0 - Graceful shutdown - - PROTOCOL_ERROR0x1 - Protocol error detected - - INTERNAL_ERROR0x2 - Implementation fault - - FLOW_CONTROL_ERROR0x3 - Flow control limits exceeded - - SETTINGS_TIMEOUT0x4 - Settings not acknowledged - - STREAM_CLOSED0x5 - Frame received for closed stream - - FRAME_SIZE_ERROR0x6 - Frame size incorrect - - REFUSED_STREAM0x7 - Stream not processed - - CANCEL0x8 - Stream cancelled - - COMPRESSION_ERROR0x9 - Compression state not updated - - CONNECT_ERROR0xa - TCP connection error for CONNECT method - - ENHANCE_YOUR_CALM0xb - Processing capacity exceeded - - INADEQUATE_SECURITY0xc - Negotiated TLS parameters not acceptable - - HTTP_1_1_REQUIRED0xd - Use HTTP/1.1 for the request - - - -
- -
- - This section registers the HTTP2-Settings header field in the - Permanent Message Header Field Registry. - - - HTTP2-Settings - - - http - - - standard - - - IETF - - - of this document - - - This header field is only used by an HTTP/2 client for Upgrade-based negotiation. - - - -
- -
- - This section registers the PRI method in the HTTP Method - Registry (). - - - PRI - - - No - - - No - - - of this document - - - This method is never used by an actual client. This method will appear to be used - when an HTTP/1.1 server or intermediary attempts to parse an HTTP/2 connection - preface. - - - -
- -
- - This document registers the 421 (Misdirected Request) HTTP Status code in the Hypertext - Transfer Protocol (HTTP) Status Code Registry (). - - - - - 421 - - - Misdirected Request - - - of this document - - - -
- -
- -
- - This document includes substantial input from the following individuals: - - - Adam Langley, Wan-Teh Chang, Jim Morrison, Mark Nottingham, Alyssa Wilk, Costin - Manolache, William Chan, Vitaliy Lvin, Joe Chan, Adam Barth, Ryan Hamilton, Gavin - Peters, Kent Alstad, Kevin Lindsay, Paul Amer, Fan Yang, Jonathan Leighton (SPDY - contributors). - - - Gabriel Montenegro and Willy Tarreau (Upgrade mechanism). - - - William Chan, Salvatore Loreto, Osama Mazahir, Gabriel Montenegro, Jitu Padhye, Roberto - Peon, Rob Trace (Flow control). - - - Mike Bishop (Extensibility). - - - Mark Nottingham, Julian Reschke, James Snell, Jeff Pinner, Mike Bishop, Herve Ruellan - (Substantial editorial contributions). - - - Kari Hurtta, Tatsuhiro Tsujikawa, Greg Wilkins, Poul-Henning Kamp, Jonathan Thackray. - - - Alexey Melnikov was an editor of this document during 2013. - - - A substantial proportion of Martin's contribution was supported by Microsoft during his - employment there. - - - The Japanese HTTP/2 community provided an invaluable contribution, - including a number of implementations, plus numerous technical and - editorial contributions. - - - -
-
- - - - - - HPACK - Header Compression for HTTP/2 - - - - - - - - - - - - Transmission Control Protocol - - - University of Southern California (USC)/Information Sciences - Institute - - - - - - - - - - - Key words for use in RFCs to Indicate Requirement Levels - - - Harvard University -
sob@harvard.edu
-
- -
- - -
- - - - - HTTP Over TLS - - - - - - - - - - Uniform Resource Identifier (URI): Generic - Syntax - - - - - - - - - - - - The Base16, Base32, and Base64 Data Encodings - - - - - - - - - Guidelines for Writing an IANA Considerations Section in RFCs - - - - - - - - - - - Augmented BNF for Syntax Specifications: ABNF - - - - - - - - - - - The Transport Layer Security (TLS) Protocol Version 1.2 - - - - - - - - - - - Transport Layer Security (TLS) Extensions: Extension Definitions - - - - - - - - - - Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension - - - - - - - - - - - - - TLS Elliptic Curve Cipher Suites with SHA-256/384 and AES Galois - Counter Mode (GCM) - - - - - - - - - - - Digital Signature Standard (DSS) - - NIST - - - - - - - - - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing - - Adobe Systems Incorporated -
fielding@gbiv.com
-
- - greenbytes GmbH -
julian.reschke@greenbytes.de
-
- -
- - -
- - - - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content - - Adobe Systems Incorporated -
fielding@gbiv.com
-
- - greenbytes GmbH -
julian.reschke@greenbytes.de
-
- -
- - -
- - - Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests - - Adobe Systems Incorporated -
fielding@gbiv.com
-
- - greenbytes GmbH -
julian.reschke@greenbytes.de
-
- -
- -
- - - Hypertext Transfer Protocol (HTTP/1.1): Range Requests - - Adobe Systems Incorporated -
fielding@gbiv.com
-
- - World Wide Web Consortium -
ylafon@w3.org
-
- - greenbytes GmbH -
julian.reschke@greenbytes.de
-
- -
- -
- - - Hypertext Transfer Protocol (HTTP/1.1): Caching - - Adobe Systems Incorporated -
fielding@gbiv.com
-
- - Akamai -
mnot@mnot.net
-
- - greenbytes GmbH -
julian.reschke@greenbytes.de
-
- -
- - -
- - - Hypertext Transfer Protocol (HTTP/1.1): Authentication - - Adobe Systems Incorporated -
fielding@gbiv.com
-
- - greenbytes GmbH -
julian.reschke@greenbytes.de
-
- -
- - -
- - - - HTTP State Management Mechanism - - - - - -
- - - - - - TCP Extensions for High Performance - - - - - - - - - - - - - Transport Layer Security Protocol Compression Methods - - - - - - - - - Additional HTTP Status Codes - - - - - - - - - - - Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS) - - - - - - - - - - - - - - HTML5 - - - - - - - - - - - - Latest version available at - . - - - - - - - Talking to Yourself for Fun and Profit - - - - - - - - - - - - - - BREACH: Reviving the CRIME Attack - - - - - - - - - - - Registration Procedures for Message Header Fields - - Nine by Nine -
GK-IETF@ninebynine.org
-
- - BEA Systems -
mnot@pobox.com
-
- - HP Labs -
JeffMogul@acm.org
-
- -
- - -
- - - - Recommendations for Secure Use of TLS and DTLS - - - - - - - - - - - - HTTP Alternative Services - - - Akamai - - - Mozilla - - - greenbytes - - - - - - -
- -
- - The following cipher suites are prohibited for use in HTTP/2 over TLS 1.2: - TLS_NULL_WITH_NULL_NULL, - TLS_RSA_WITH_NULL_MD5, - TLS_RSA_WITH_NULL_SHA, - TLS_RSA_EXPORT_WITH_RC4_40_MD5, - TLS_RSA_WITH_RC4_128_MD5, - TLS_RSA_WITH_RC4_128_SHA, - TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5, - TLS_RSA_WITH_IDEA_CBC_SHA, - TLS_RSA_EXPORT_WITH_DES40_CBC_SHA, - TLS_RSA_WITH_DES_CBC_SHA, - TLS_RSA_WITH_3DES_EDE_CBC_SHA, - TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA, - TLS_DH_DSS_WITH_DES_CBC_SHA, - TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA, - TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA, - TLS_DH_RSA_WITH_DES_CBC_SHA, - TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA, - TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, - TLS_DHE_DSS_WITH_DES_CBC_SHA, - TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, - TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, - TLS_DHE_RSA_WITH_DES_CBC_SHA, - TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA, - TLS_DH_anon_EXPORT_WITH_RC4_40_MD5, - TLS_DH_anon_WITH_RC4_128_MD5, - TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA, - TLS_DH_anon_WITH_DES_CBC_SHA, - TLS_DH_anon_WITH_3DES_EDE_CBC_SHA, - TLS_KRB5_WITH_DES_CBC_SHA, - TLS_KRB5_WITH_3DES_EDE_CBC_SHA, - TLS_KRB5_WITH_RC4_128_SHA, - TLS_KRB5_WITH_IDEA_CBC_SHA, - TLS_KRB5_WITH_DES_CBC_MD5, - TLS_KRB5_WITH_3DES_EDE_CBC_MD5, - TLS_KRB5_WITH_RC4_128_MD5, - TLS_KRB5_WITH_IDEA_CBC_MD5, - TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA, - TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA, - TLS_KRB5_EXPORT_WITH_RC4_40_SHA, - TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5, - TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5, - TLS_KRB5_EXPORT_WITH_RC4_40_MD5, - TLS_PSK_WITH_NULL_SHA, - TLS_DHE_PSK_WITH_NULL_SHA, - TLS_RSA_PSK_WITH_NULL_SHA, - TLS_RSA_WITH_AES_128_CBC_SHA, - TLS_DH_DSS_WITH_AES_128_CBC_SHA, - TLS_DH_RSA_WITH_AES_128_CBC_SHA, - TLS_DHE_DSS_WITH_AES_128_CBC_SHA, - TLS_DHE_RSA_WITH_AES_128_CBC_SHA, - TLS_DH_anon_WITH_AES_128_CBC_SHA, - TLS_RSA_WITH_AES_256_CBC_SHA, - TLS_DH_DSS_WITH_AES_256_CBC_SHA, - TLS_DH_RSA_WITH_AES_256_CBC_SHA, - TLS_DHE_DSS_WITH_AES_256_CBC_SHA, - TLS_DHE_RSA_WITH_AES_256_CBC_SHA, - TLS_DH_anon_WITH_AES_256_CBC_SHA, - TLS_RSA_WITH_NULL_SHA256, - TLS_RSA_WITH_AES_128_CBC_SHA256, - TLS_RSA_WITH_AES_256_CBC_SHA256, - TLS_DH_DSS_WITH_AES_128_CBC_SHA256, - TLS_DH_RSA_WITH_AES_128_CBC_SHA256, - TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, - TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, - TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA, - TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA, - TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA, - TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, - TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA, - TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, - TLS_DH_DSS_WITH_AES_256_CBC_SHA256, - TLS_DH_RSA_WITH_AES_256_CBC_SHA256, - TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, - TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, - TLS_DH_anon_WITH_AES_128_CBC_SHA256, - TLS_DH_anon_WITH_AES_256_CBC_SHA256, - TLS_RSA_WITH_CAMELLIA_256_CBC_SHA, - TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA, - TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA, - TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA, - TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, - TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA, - TLS_PSK_WITH_RC4_128_SHA, - TLS_PSK_WITH_3DES_EDE_CBC_SHA, - TLS_PSK_WITH_AES_128_CBC_SHA, - TLS_PSK_WITH_AES_256_CBC_SHA, - TLS_DHE_PSK_WITH_RC4_128_SHA, - TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA, - TLS_DHE_PSK_WITH_AES_128_CBC_SHA, - TLS_DHE_PSK_WITH_AES_256_CBC_SHA, - TLS_RSA_PSK_WITH_RC4_128_SHA, - TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA, - TLS_RSA_PSK_WITH_AES_128_CBC_SHA, - TLS_RSA_PSK_WITH_AES_256_CBC_SHA, - TLS_RSA_WITH_SEED_CBC_SHA, - TLS_DH_DSS_WITH_SEED_CBC_SHA, - TLS_DH_RSA_WITH_SEED_CBC_SHA, - TLS_DHE_DSS_WITH_SEED_CBC_SHA, - TLS_DHE_RSA_WITH_SEED_CBC_SHA, - TLS_DH_anon_WITH_SEED_CBC_SHA, - TLS_RSA_WITH_AES_128_GCM_SHA256, - TLS_RSA_WITH_AES_256_GCM_SHA384, - TLS_DH_RSA_WITH_AES_128_GCM_SHA256, - TLS_DH_RSA_WITH_AES_256_GCM_SHA384, - TLS_DH_DSS_WITH_AES_128_GCM_SHA256, - TLS_DH_DSS_WITH_AES_256_GCM_SHA384, - TLS_DH_anon_WITH_AES_128_GCM_SHA256, - TLS_DH_anon_WITH_AES_256_GCM_SHA384, - TLS_PSK_WITH_AES_128_GCM_SHA256, - TLS_PSK_WITH_AES_256_GCM_SHA384, - TLS_RSA_PSK_WITH_AES_128_GCM_SHA256, - TLS_RSA_PSK_WITH_AES_256_GCM_SHA384, - TLS_PSK_WITH_AES_128_CBC_SHA256, - TLS_PSK_WITH_AES_256_CBC_SHA384, - TLS_PSK_WITH_NULL_SHA256, - TLS_PSK_WITH_NULL_SHA384, - TLS_DHE_PSK_WITH_AES_128_CBC_SHA256, - TLS_DHE_PSK_WITH_AES_256_CBC_SHA384, - TLS_DHE_PSK_WITH_NULL_SHA256, - TLS_DHE_PSK_WITH_NULL_SHA384, - TLS_RSA_PSK_WITH_AES_128_CBC_SHA256, - TLS_RSA_PSK_WITH_AES_256_CBC_SHA384, - TLS_RSA_PSK_WITH_NULL_SHA256, - TLS_RSA_PSK_WITH_NULL_SHA384, - TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256, - TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256, - TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256, - TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256, - TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, - TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256, - TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256, - TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256, - TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256, - TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256, - TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256, - TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256, - TLS_EMPTY_RENEGOTIATION_INFO_SCSV, - TLS_ECDH_ECDSA_WITH_NULL_SHA, - TLS_ECDH_ECDSA_WITH_RC4_128_SHA, - TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, - TLS_ECDHE_ECDSA_WITH_NULL_SHA, - TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, - TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, - TLS_ECDH_RSA_WITH_NULL_SHA, - TLS_ECDH_RSA_WITH_RC4_128_SHA, - TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, - TLS_ECDHE_RSA_WITH_NULL_SHA, - TLS_ECDHE_RSA_WITH_RC4_128_SHA, - TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, - TLS_ECDH_anon_WITH_NULL_SHA, - TLS_ECDH_anon_WITH_RC4_128_SHA, - TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA, - TLS_ECDH_anon_WITH_AES_128_CBC_SHA, - TLS_ECDH_anon_WITH_AES_256_CBC_SHA, - TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA, - TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA, - TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA, - TLS_SRP_SHA_WITH_AES_128_CBC_SHA, - TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA, - TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA, - TLS_SRP_SHA_WITH_AES_256_CBC_SHA, - TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA, - TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA, - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, - TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, - TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, - TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, - TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, - TLS_ECDHE_PSK_WITH_RC4_128_SHA, - TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA, - TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, - TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, - TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256, - TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384, - TLS_ECDHE_PSK_WITH_NULL_SHA, - TLS_ECDHE_PSK_WITH_NULL_SHA256, - TLS_ECDHE_PSK_WITH_NULL_SHA384, - TLS_RSA_WITH_ARIA_128_CBC_SHA256, - TLS_RSA_WITH_ARIA_256_CBC_SHA384, - TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256, - TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384, - TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256, - TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384, - TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256, - TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384, - TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256, - TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384, - TLS_DH_anon_WITH_ARIA_128_CBC_SHA256, - TLS_DH_anon_WITH_ARIA_256_CBC_SHA384, - TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256, - TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384, - TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256, - TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384, - TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256, - TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384, - TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256, - TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384, - TLS_RSA_WITH_ARIA_128_GCM_SHA256, - TLS_RSA_WITH_ARIA_256_GCM_SHA384, - TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256, - TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384, - TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256, - TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384, - TLS_DH_anon_WITH_ARIA_128_GCM_SHA256, - TLS_DH_anon_WITH_ARIA_256_GCM_SHA384, - TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256, - TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384, - TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256, - TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384, - TLS_PSK_WITH_ARIA_128_CBC_SHA256, - TLS_PSK_WITH_ARIA_256_CBC_SHA384, - TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256, - TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384, - TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256, - TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384, - TLS_PSK_WITH_ARIA_128_GCM_SHA256, - TLS_PSK_WITH_ARIA_256_GCM_SHA384, - TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256, - TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384, - TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256, - TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384, - TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, - TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, - TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256, - TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384, - TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256, - TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384, - TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256, - TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384, - TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256, - TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384, - TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256, - TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384, - TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256, - TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384, - TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256, - TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384, - TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256, - TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384, - TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256, - TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384, - TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256, - TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384, - TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256, - TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384, - TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256, - TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384, - TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, - TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, - TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256, - TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384, - TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256, - TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384, - TLS_RSA_WITH_AES_128_CCM, - TLS_RSA_WITH_AES_256_CCM, - TLS_RSA_WITH_AES_128_CCM_8, - TLS_RSA_WITH_AES_256_CCM_8, - TLS_PSK_WITH_AES_128_CCM, - TLS_PSK_WITH_AES_256_CCM, - TLS_PSK_WITH_AES_128_CCM_8, - TLS_PSK_WITH_AES_256_CCM_8. - - - This list was assembled from the set of registered TLS cipher suites at the time of - writing. This list includes those cipher suites that do not offer an ephemeral key - exchange and those that are based on the TLS null, stream or block cipher type (as - defined in Section 6.2.3 of ). Additional cipher suites with - these properties could be defined; these would not be explicitly prohibited. - - - -
- -
- - This section is to be removed by RFC Editor before publication. - - -
- - Enabled the sending of PRIORITY for any stream state. - - - Added a cipher suite blacklist and made several changes to the TLS usage section. - -
- -
- - Renamed Not Authoritative status code to Misdirected Request. - - - Added HTTP_1_1_REQUIRED error code. - -
- -
- - Pseudo-header fields are now required to appear strictly before regular ones. - - - Restored 1xx series status codes, except 101. - - - Changed frame length field 24-bits. Expanded frame header to 9 octets. Added a setting - to limit the damage. - - - Added a setting to advise peers of header set size limits. - - - Removed segments. - - - Made non-semantic-bearing HEADERS frames illegal in the HTTP mapping. - -
- -
- - Restored extensibility options. - - - Restricting TLS cipher suites to AEAD only. - - - Removing Content-Encoding requirements. - - - Permitting the use of PRIORITY after stream close. - - - Removed ALTSVC frame. - - - Removed BLOCKED frame. - - - Reducing the maximum padding size to 256 octets; removing padding from - CONTINUATION frames. - - - Removed per-frame GZIP compression. - -
- -
- - Added BLOCKED frame (at risk). - - - Simplified priority scheme. - - - Added DATA per-frame GZIP compression. - -
- -
- - Changed "connection header" to "connection preface" to avoid confusion. - - - Added dependency-based stream prioritization. - - - Added "h2c" identifier to distinguish between cleartext and secured HTTP/2. - - - Adding missing padding to PUSH_PROMISE. - - - Integrate ALTSVC frame and supporting text. - - - Dropping requirement on "deflate" Content-Encoding. - - - Improving security considerations around use of compression. - -
- -
- - Adding padding for data frames. - - - Renumbering frame types, error codes, and settings. - - - Adding INADEQUATE_SECURITY error code. - - - Updating TLS usage requirements to 1.2; forbidding TLS compression. - - - Removing extensibility for frames and settings. - - - Changing setting identifier size. - - - Removing the ability to disable flow control. - - - Changing the protocol identification token to "h2". - - - Changing the use of :authority to make it optional and to allow userinfo in non-HTTP - cases. - - - Allowing split on 0x0 for Cookie. - - - Reserved PRI method in HTTP/1.1 to avoid possible future collisions. - -
- -
- - Added cookie crumbling for more efficient header compression. - - - Added header field ordering with the value-concatenation mechanism. - -
- -
- - Marked draft for implementation. - -
- -
- - Adding definition for CONNECT method. - - - Constraining the use of push to safe, cacheable methods with no request body. - - - Changing from :host to :authority to remove any potential confusion. - - - Adding setting for header compression table size. - - - Adding settings acknowledgement. - - - Removing unnecessary and potentially problematic flags from CONTINUATION. - - - Added denial of service considerations. - -
-
- - Marking the draft ready for implementation. - - - Renumbering END_PUSH_PROMISE flag. - - - Editorial clarifications and changes. - -
- -
- - Added CONTINUATION frame for HEADERS and PUSH_PROMISE. - - - PUSH_PROMISE is no longer implicitly prohibited if SETTINGS_MAX_CONCURRENT_STREAMS is - zero. - - - Push expanded to allow all safe methods without a request body. - - - Clarified the use of HTTP header fields in requests and responses. Prohibited HTTP/1.1 - hop-by-hop header fields. - - - Requiring that intermediaries not forward requests with missing or illegal routing - :-headers. - - - Clarified requirements around handling different frames after stream close, stream reset - and GOAWAY. - - - Added more specific prohibitions for sending of different frame types in various stream - states. - - - Making the last received setting value the effective value. - - - Clarified requirements on TLS version, extension and ciphers. - -
- -
- - Committed major restructuring atrocities. - - - Added reference to first header compression draft. - - - Added more formal description of frame lifecycle. - - - Moved END_STREAM (renamed from FINAL) back to HEADERS/DATA. - - - Removed HEADERS+PRIORITY, added optional priority to HEADERS frame. - - - Added PRIORITY frame. - -
- -
- - Added continuations to frames carrying header blocks. - - - Replaced use of "session" with "connection" to avoid confusion with other HTTP stateful - concepts, like cookies. - - - Removed "message". - - - Switched to TLS ALPN from NPN. - - - Editorial changes. - -
- -
- - Added IANA considerations section for frame types, error codes and settings. - - - Removed data frame compression. - - - Added PUSH_PROMISE. - - - Added globally applicable flags to framing. - - - Removed zlib-based header compression mechanism. - - - Updated references. - - - Clarified stream identifier reuse. - - - Removed CREDENTIALS frame and associated mechanisms. - - - Added advice against naive implementation of flow control. - - - Added session header section. - - - Restructured frame header. Removed distinction between data and control frames. - - - Altered flow control properties to include session-level limits. - - - Added note on cacheability of pushed resources and multiple tenant servers. - - - Changed protocol label form based on discussions. - -
- -
- - Changed title throughout. - - - Removed section on Incompatibilities with SPDY draft#2. - - - Changed INTERNAL_ERROR on GOAWAY to have a value of 2 . - - - Replaced abstract and introduction. - - - Added section on starting HTTP/2.0, including upgrade mechanism. - - - Removed unused references. - - - Added flow control principles based on . - -
- -
- - Adopted as base for draft-ietf-httpbis-http2. - - - Updated authors/editors list. - - - Added status note. - -
-
- -
-
- diff --git a/lib/fetch-issues.py b/lib/fetch-issues.py deleted file mode 100755 index 12ebc8122..000000000 --- a/lib/fetch-issues.py +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env python - -""" -Exports Github Issues from a specified repository to a JSON file -""" - -import json -from parse_link import parse_link_value -import requests -import sys - -repo = 'httpwg/http-extensions' # format is username/repo -repo_url = 'https://api.github.com/repos/%s/issues?state=all' % repo - -def getIssues(url, issues=None): - sys.stderr.write("* %s\n" % url) - if not issues: - issues = [] - res = requests.get(url) - issues.append(res.json()[:]) - - if 'link' in res.headers: - links = parse_link_value(res.headers['link']) - rel_next = rel_last = None - for link, params in links.items(): - rel = params.get('rel', None) - if rel == 'next': - rel_next = link - elif rel == 'last': - rel_last = link - if rel_next: - getIssues(rel_next, issues) - elif rel_last: - getIssues(rel_last, issues) - return issues - -issues = getIssues(repo_url) -print json.dumps(issues, indent=1) - - diff --git a/lib/myxml2rfc.xslt b/lib/myxml2rfc.xslt deleted file mode 100644 index f669f2c6a..000000000 --- a/lib/myxml2rfc.xslt +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/lib/parse_link.py b/lib/parse_link.py deleted file mode 100755 index 3fe3f068b..000000000 --- a/lib/parse_link.py +++ /dev/null @@ -1,88 +0,0 @@ -#!/usr/bin/env python - -""" -HTTP Link Header Parsing -Simple routines to parse and manipulate Link headers. -""" - -__license__ = """ -Copyright (c) 2009 Mark Nottingham - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -""" - -import re - -TOKEN = r'(?:[^\(\)<>@,;:\\"/\[\]\?={} \t]+?)' -QUOTED_STRING = r'(?:"(?:\\"|[^"])*")' -PARAMETER = r'(?:%(TOKEN)s(?:=(?:%(TOKEN)s|%(QUOTED_STRING)s))?)' % locals() -LINK = r'<[^>]*>\s*(?:;\s*%(PARAMETER)s?\s*)*' % locals() -COMMA = r'(?:\s*(?:,\s*)+)' -LINK_SPLIT = r'%s(?=%s|\s*$)' % (LINK, COMMA) - -def _unquotestring(instr): - if instr[0] == instr[-1] == '"': - instr = instr[1:-1] - instr = re.sub(r'\\(.)', r'\1', instr) - return instr -def _splitstring(instr, item, split): - if not instr: - return [] - return [ h.strip() for h in re.findall(r'%s(?=%s|\s*$)' % (item, split), instr)] - -link_splitter = re.compile(LINK_SPLIT) - -def parse_link_value(instr): - """ - Given a link-value (i.e., after separating the header-value on commas), - return a dictionary whose keys are link URLs and values are dictionaries - of the parameters for their associated links. - - Note that internationalised parameters (e.g., title*) are - NOT percent-decoded. - - Also, only the last instance of a given parameter will be included. - - For example, - - >>> parse_link_value('; rel="self"; title*=utf-8\'de\'letztes%20Kapitel') - {'/foo': {'title*': "utf-8'de'letztes%20Kapitel", 'rel': 'self'}} - - """ - out = {} - if not instr: - return out - for link in [h.strip() for h in link_splitter.findall(instr)]: - url, params = link.split(">", 1) - url = url[1:] - param_dict = {} - for param in _splitstring(params, PARAMETER, "\s*;\s*"): - try: - a, v = param.split("=", 1) - param_dict[a.lower()] = _unquotestring(v) - except ValueError: - param_dict[param.lower()] = None - out[url] = param_dict - return out - - -if __name__ == '__main__': - import sys - if len(sys.argv) > 1: - print parse_link_value(sys.argv[1]) \ No newline at end of file diff --git a/lib/rfc2629-other.ent b/lib/rfc2629-other.ent deleted file mode 100755 index f3a1fb672..000000000 --- a/lib/rfc2629-other.ent +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/rfc2629-xhtml.ent b/lib/rfc2629-xhtml.ent deleted file mode 100755 index a23f01038..000000000 --- a/lib/rfc2629-xhtml.ent +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/rfc2629.dtd b/lib/rfc2629.dtd deleted file mode 100644 index 06578ab18..000000000 --- a/lib/rfc2629.dtd +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - - - - - - - -%rfc2629-xhtml; - - -%rfc2629-other; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/rfc2629.xslt b/lib/rfc2629.xslt deleted file mode 100644 index 323e5f14e..000000000 --- a/lib/rfc2629.xslt +++ /dev/null @@ -1,10645 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - yes - no - - - - no - yes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - 2 - 3 - 4 - 5 - 99 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - no - yes - - - - - - - - - - - - - - - yes - no - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -fft-sans-serif ffb-serif ff-cleartype - - - - - - - - 'Noto Serif', - - - 'Noto Sans', - - - - - cambria, georgia, - - - candara, calibri, - - - - segoe, optima, arial, sans-serif, - - serif - - - - - - - - - - - 'Noto Serif', - - - 'Noto Sans', - - - - - cambria, georgia, - - - candara, calibri, - - - - serif, - - - segoe, optima, arial, - - sans-serif - - - - - - - - - - 'Roboto Mono', - - - consolas, monaco, - - monospace - - - - - - - - - - @import url('https://fonts.googleapis.com/css?family=Noto+Sans:r,b,i,bi'); - - - @import url('https://fonts.googleapis.com/css?family=Noto+Serif:r,b,i,bi'); - - @import url('https://fonts.googleapis.com/css?family=Roboto+Mono:r,b,i,bi'); - - - - - - - - - - - - , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -This note is to be removed before publishing as an RFC. -This section is to be removed before publishing as an RFC. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - yes - no - - - - - - - - - - - - - - yes - no - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - no - yes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - https://www.worldcat.org/search?q=isbn:{isbn} - - - - - - - - - - - - - - - - - https://tools.ietf.org/html/rfc{rfc} - - - - - - - - - - - - - - - - - https://tools.ietf.org/html/{internet-draft} - - - - - - - - - - - - - - - - - http://dx.doi.org/{doi} - - - - - - - - - - - - - - - - - - - http://www.rfc-editor.org/info/{type}{no} - https://www.rfc-editor.org/info/{type}{no} - - - - - - - - - - - - - - - - - - - - - - - - - - - https://www.rfc-editor.org/errata/eid{eid} - - - - - - - - - - - - - - - - - https://www.rfc-editor.org/errata_search.php?rfc={rfc} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This stylesheet requires either an XSLT-1.0 processor with node-set() - extension function, or an XSLT-2.0 processor. Therefore, parts of the - document couldn't be displayed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IETF - - - - - - - - - - - - - - - - - - - - - - - yes - no - - - - - - - - - - - - - - 2010 - - - - - - - - 2010 - - - - - - - - - - - https - http - - - - - - - - - https - http - - - - - - - - - Section 2 of RFC 7841 - Section 2 of RFC 5741 - - - - - - - 2010 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -

Abstract

- -
-
- - - function parseXml(str) { - try { - var doc = new ActiveXObject("MSXML2.DOMDocument"); - doc.async = false; - if (doc.loadXML(str)) { - return ""; - } - else { - return doc.parseError.reason + "\n" + doc.parseError.srcText + " (" + doc.parseError.line + "/" + doc.parseError.linepos + ")"; - } - } - catch(e) { - return ""; - } - } - - - - - - inline - text2 - text - drawing - text - - - - - - - - - - - - - - - - -
<CODE BEGINS>
-
-
- - - -
<CODE ENDS>
-
-
- - - - - - - -
- XML PARSE ERROR; parsed the body below: -
-        
-        
- resulting in: -
-        
-        
-
-
-
- - - -
- XML PARSE ERROR: -
-
-
-
-
- - - - - - - - - - - - - - - - - - -
- -
-          
-          
-          
-        
- -
-
- -
- -
-          
-          
-          
-        
- -
-
- - -
-        
-        
-        
-      
- -
-
- - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - artwork line too long: '' ( characters) - - - - - - - - - - 69 - - - - - artwork line too long: '' ( characters) - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - -
- - - -

- Additional contact information: -
- - - -
-
-
- - - - - - - - - - - - - - - ( - - ) - - - - - - - - -
- - - - - - - - -
- - - - - - - - - - -
- -
-
- - - - - - - - -
- -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -   - - - - - - - , - - - -
- - - - - - - - - -
- -
-
-
- - - - - - - - -
- Phone: - -
-
- - - - - - - - -
- Fax: - -
-
- - - - - -
- - Email: - EMail: - - - - - - - - - -
- - - - - -
- URI: - - - - - -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - < - - > - - - - - - - - - - - - - - - span - div - - - - - - - - - - - - - - - - - -

- - Figure - - : - - -

-
-
- - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- -

- - - - - - The @docName attribute '' is ignored because an RFC number is specified as well. - - - -
-
-
- - - - - - The @docName attribute '' should contain the base name, not the filename (thus no file extension). - - - - - - - - - - - - - - The @docName attribute '' should not contain the character ''. - - - - - - The @docName attribute '' should not contain the character sequence '--'. - - - - - - The @docName attribute '' should start with 'draft-'. - - - - - - - latest - - - - - - - - The @docName attribute '' should end with a two-digit sequence number or 'latest'. - - - - - - The @docName attribute '', excluding sequence number, should have less than 50 characters. - - - -
-
-
- - - -

- Note: a later version of this document has been published as . -

-
- - - - - - - Either /rfc/@ipr or /rfc/@number is required - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
- - - - - - - - - - - section. - - - - iref.. - - - iref. - - - - - - - - - - extref.. - - - extref. - - - - - - - -
    - - - -
-
- - -
- - - -
-
- - - - - - - -   - -
- - compact - - - - -
-
- - -
    - - - -
-
- - - - - - - - - - - - - - la - - ua - - -
    - - - -
-
- - -
    - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - -
-
- - - - - - - - -
- - -
-
- -
-
-
-
-
- -
- - - - - - - - -
- - -
-
- -
-
-
-
-
-
- - - - - - compact - nohang - - - - -
- - - -
- - - - - - - - -
-
-
- - -
- - -
-
- - -
- - - - - - - -

- - -

-
- - - -
-
-
- - - -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - -
- - - -
    - - - - - - - -
-
-
- - - - - -
- - - - -
    - - - empty - - -
-
-
- - -
  • - - - - - - - - - - - - -
  • -
    - - - - -
  • - - - - - - -
  • -
    - - - -
    - - - - - - - - - - - - - -
    -
    - - - - - - - -
    - - - - margin-left: em - - -
    -
    - -
     
    -
    -
    -
    - - - - - - - - - - - - - - -
    - - - - - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  • - - -
  • -
    - - - - - - - - - - - - - - -
    - - - - - -
    -
    - -
    -
    - - - -
    - - - - - - - - - - - -
    -
    -
    - - - - margin-left: em - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - % - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - note - - rfcEditorRemove - - -
    -

    - - - - -

    - - - - - -
    - - - -
    -
    - -
    -
    - - - -

    - - - -

    -
    -
    - - - -

    - - - - -

    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - section. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Not a fragment identifier: - - - - - - - - Anchor '' in not found in source file ''. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Can't generate section link for to ; no @x:rel specified - - - - - - - - - - - - Can't generate section link for to ; no @relative specified - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - displayreference will create non-unique reference name. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ) - - - , Ed. - - - - - - - - Ignoring @target in link calculation - - - - - - - - - - - - - - - - invalid (empty) target attribute in reference '' - - - - - - - - - - - - - - - - - - - - - missing anchor on reference: - - - - - unused reference '' - - - - - unused (included) reference '' - - - - - - - - - - - - - - OK - - - - - all references to the normative reference '' appear to be informative - - - - - - - - - - -
    - - - - - - - - - - -
    - -
    - - - - - - - - - - - - - - - - - - - - - , - and - - - , - - - - - - - - - - - - - - - - - - , - and - - - , - - - - - - - - - - - - - - - - - - - - - ( - - - - ) - - - - - - seriesInfo present both on reference and reference/front - - - - - - - - - - - , - - - - - - - - - - -   - - - - - - - - - - -   - - - - Unexpected DOI for RFC, found , expected - - - - - - - - - - - -   - - - - - Work in Progress, - - - - -   - (work in progress) - - - - - - - RFC number preceding number in reference '' - - - - - - - - , - - - - - - DOI  - - - - - , - - - - - - <date> missing in reference '' (note that it can be empty) - - - - - - - date/@year should be a number: '' in reference '' - - - , -   - - - - - - , < - - > - - - , < - - - - - - - - > - - - , < - - - - - - - - > - - - - - . - - -
    - -
    - -
    - -
    - - - - - - - - - - -
    - - - - - - - - - -

    - - - - - - - -

    - - - - - -
    -
    - - - - - - - - -
    - -
    - - - - - - - del- - - - - - - - h3 - h2 - - - - - - - - - both @title attribute and name child node present - - - - - - - - - - - - - - - - - . - - -
    - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <xsl:apply-templates select="front/title" mode="get-text-content" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - getMeta(,"rfc.meta"); - initFeedback(); - RfcRefresh.initRefresh() - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - abstract - note - boilerplate - section - - - - - - The paragraph below is misplaced; maybe a section is closed in the wrong place: - - - - -
    - - - - - avoidbreakafter - - - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    - - - - - - abstract - note - boilerplate - section - - - - - - - - - - - - - - - - - - -

    -
    - - - - -
    -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - title/@abbrev too long (max 40 characters) - - - - - - title too long, should supply title/@abbrev attribute with less than 40 characters - - - - - - title/@abbrev was specified despite the title being short enough () - Title: '', abbreviated title='' - - - - - - - - - - - - - - - - - - - - - - - - - - both @title attribute and name child node present - - - - - - - - - - - - - - - - - - - - - - The "appendix" element is deprecated, use "section" inside "back" instead. - - - - - - - - - - - - - - - - - h - h6 - - - - - - - - rfcEditorRemove - -
    - - - - - - - - - - - - - - - section. - - - - - np - - - - - - - - - - - - - - - -   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -
    -
    - - - - - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - unknown spanx style attribute '' ignored - - - - - - - - - - - -
    - -
    - -
    - -
    - -
    - - - -
    -
    -
    - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @displayFormat is ignored on <relref> with content - - - - - - of - - - - number-only - - - unknown format for @displayFormat: - - - - - - - @sectionFormat is deprecated, use @x:fmt instead - - - - both @x:fmt and @sectionFormat specified - - - - - - - - - unknown format for @sectionFormat - - - - - - - parens - of - comma - none - section - number-only - - - unknown format for @x:fmt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xref.. - - - - - - - - - - - - - - - - - - - - relref/@target must be a reference - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ( - - - - - - - ) - - - - - - - xref to cref, but comments aren't included in the output - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - definition - letters - Letters - rnumbers - Rnumbers - format - numbers - - - - - - - - - - - - - - 1 - - - - - - - - - - a - A - i - I - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Paragraph  - - - ? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - emit-link called both with text and child-nodes - - - - - - a - cite - span - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - comma - of - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - x:rel attribute '' in reference to is expected to start with '#'. - - - - - - - - - - - - Appendix - Section - - - - - - - - - - - Anchor '' not found in . - - - - - - - - - - - - - - - - - - - - - - - - - - - of - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @format attribute is undefined for relref - - - - - - - - - - - - - - - - - ( - - - - - - ) - - - , - - - - - - - - - - - - - - - - - - xref.. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xref to cref, but comments aren't included in the output - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - no XSLT template for element '' - - <> - - </> - - - - - - - - - - - - - - - Independent Submission - - - Internet Engineering Task Force (IETF) - - - Internet Research Task Force (IRTF) - - - Internet Architecture Board (IAB) - - - - - - - - The /rfc/front/workgroup should only be used for Working/Research Group drafts - - - - - - - - - No need to include 'Working Group' or 'Research Group' postfix in /rfc/front/workgroup value '' - - - - - - - - - - - - - - - - - - - - - - - - - WG submissions should include a /rfc/front/workgroup element - - - Network Working Group - - - - - - - - Applications - app - - - Applications and Real-Time - art - - General - gen - Internet - int - Operations and Management - ops - - Real-time Applications and Infrastructure - rai - - Routing - rtg - Security - sec - Transport - tsv - - - - - - - - - Unknown IETF area: "" - should be one of: - " - - " - - , - - - (as of the publication date of - - ) - - - - - - - - Internet-Draft - Request for Comments: - - - - - Obsoletes: - - - - (if approved) - - - - - - BCP: - FYI: - STD: - - - There is no IETF document series called '' - - - - - - - - - Updates: - - - - (if approved) - - - - - - Category: - - - Intended status: - - - - - - Expires: - - - - - - - - - - ISSN: 2070-1721 - - - - - - - - - - - - - - - - - - - - - - ( - - - - ) - - - - - , Editor - - - , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - , - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - on - - - - - - - - - - in - - - - - - - - - - - - - - - - - - - - - - WRONG SYNTAX FOR MONTH - - - - - - - - - - - - - - - - - 31 - 29 - 28 - 30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 01 - 02 - 03 - 04 - 05 - 06 - 07 - 08 - 09 - 10 - 11 - 12 - WRONG SYNTAX FOR MONTH - - - - - - - January - February - March - April - May - June - July - August - September - October - November - December - WRONG SYNTAX FOR MONTH - - - - - - - Author's Address - Authors' Addresses - - - - - - - - - - - - - - - - - - -
    - -

    - - . - - - -

    - - -
    -
    -
    - - - - - - - - - -
    - - - - - - Copyright © The IETF Trust (). - - - Copyright © The Internet Society (). - - - - - This document is subject to the rights, licenses and restrictions - contained in BCP 78 and at http://www.rfc-editor.org/copyright.html, and except as set forth therein, the authors - retain all their rights. - - - This document and the information contained herein are provided - on an “AS IS” basis and THE CONTRIBUTOR, - THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), - THE INTERNET SOCIETY, THE IETF TRUST - AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, - EXPRESS OR IMPLIED, - INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE - INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED - WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - - - - - - Copyright © The Internet Society (). All Rights Reserved. - - - This document and translations of it may be copied and furnished to - others, and derivative works that comment on or otherwise explain it - or assist in its implementation may be prepared, copied, published and - distributed, in whole or in part, without restriction of any kind, - provided that the above copyright notice and this paragraph are - included on all such copies and derivative works. However, this - document itself may not be modified in any way, such as by removing - the copyright notice or references to the Internet Society or other - Internet organizations, except as needed for the purpose of - developing Internet standards in which case the procedures for - copyrights defined in the Internet Standards process must be - followed, or as required to translate it into languages other than - English. - - - The limited permissions granted above are perpetual and will not be - revoked by the Internet Society or its successors or assigns. - - - This document and the information contained herein is provided on an - “AS IS” basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING - TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING - BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION - HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF - MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - - - -
    - -
    - - - - The IETF takes no position regarding the validity or scope of any - Intellectual Property Rights or other rights that might be claimed to - pertain to the implementation or use of the technology described in - this document or the extent to which any license under such rights - might or might not be available; nor does it represent that it has - made any independent effort to identify any such rights. Information - on the procedures with respect to rights in RFC documents - can be found in BCP 78 and BCP 79. - - - Copies of IPR disclosures made to the IETF Secretariat and any - assurances of licenses to be made available, or the result of an - attempt made to obtain a general license or permission for the use - of such proprietary rights by implementers or users of this - specification can be obtained from the IETF on-line IPR repository - at http://www.ietf.org/ipr. - - - The IETF invites any interested party to bring to its attention any - copyrights, patents or patent applications, or other proprietary - rights that may cover technology that may be required to implement - this standard. Please address the information to the IETF at - ietf-ipr@ietf.org. - - - - - The IETF takes no position regarding the validity or scope of - any intellectual property or other rights that might be claimed - to pertain to the implementation or use of the technology - described in this document or the extent to which any license - under such rights might or might not be available; neither does - it represent that it has made any effort to identify any such - rights. Information on the IETF's procedures with respect to - rights in standards-track and standards-related documentation - can be found in BCP-11. Copies of claims of rights made - available for publication and any assurances of licenses to - be made available, or the result of an attempt made - to obtain a general license or permission for the use of such - proprietary rights by implementors or users of this - specification can be obtained from the IETF Secretariat. - - - The IETF invites any interested party to bring to its - attention any copyrights, patents or patent applications, or - other proprietary rights which may cover technology that may be - required to practice this standard. Please address the - information to the IETF Executive Director. - - - - The IETF has been notified of intellectual property rights - claimed in regard to some or all of the specification contained - in this document. For more information consult the online list - of claimed rights. - - - - -
    - - - - -
    - - - Acknowledgement - Acknowledgment - - - - Funding for the RFC Editor function is provided by the IETF - Administrative Support Activity (IASA). - -
    -
    - -
    - - - Acknowledgement - Acknowledgment - - - - Funding for the RFC Editor function is currently provided by - the Internet Society. - -
    -
    - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -

    Abstract

    -
    - -
    -
    - - -
    - -
    -
    - - - - - https://github.com/mnot/RFCBootstrap - - - - - - - \ No newline at end of file diff --git a/lib/saxon9.jar b/lib/saxon9.jar deleted file mode 100644 index de236e50a..000000000 Binary files a/lib/saxon9.jar and /dev/null differ diff --git a/lib/style.css b/lib/style.css deleted file mode 100644 index 477ece864..000000000 --- a/lib/style.css +++ /dev/null @@ -1,78 +0,0 @@ -@viewport { - zoom: 1.0; - width: extend-to-zoom; -} - -@-ms-viewport { - width: extend-to-zoom; - zoom: 1.0; -} - -body { - font: 11pt cambria, helvetica, arial, sans-serif; - font-size-adjust: 0.5; - line-height: 130%; - margin: 1em auto; - max-width: 700px; -} - -.title, .filename, h1, h2, h3, h4 { - font-family: candara, helvetica, arial, sans-serif; - font-size-adjust: 0.5; -} -.title { font-size: 150%; } -h1 { font-size: 130%; } -h2 { font-size: 120%; } -h3, h4 { font-size: 110%; } -ul.toc >li { font-size: 95%; } -ul.toc >li >ul, .figure, caption { font-size: 90%; } - -table { - margin-left: 0em; -} -table.header { - width: 100%; -} - -table.header td { - background-color: inherit; - color: black; -} - -samp, tt, code, pre { - font: 11pt consolas, monospace; - font-size-adjust: none; -} - -pre.text, pre.text2 { - width: 90%; -} - -dt { - float: left; clear: left; - margin: 0.5em 0.5em 0 0; -} -dt:first-child { - margin-top: 0; -} -dd { - margin: 0.5em 0 0 2em; -} -dd p, dd ul { - margin-top: 0; margin-bottom: 0; -} -dd *+p { - margin-top: 0.5em; -} - -ol, ul { - padding: 0; - margin: 0.5em 0 0.5em 2em; -} -ul.toc, ul.toc ul { - margin: 0 0 0 1.5em; -} -ul.toc a:first-child { - display: inline-block; - min-width: 1.2em; -} \ No newline at end of file