分散システムとポエム

draft-ietf-httpbis-cacheを眺めてみた[執筆途中]

IETFのメーリングリストを眺めていたら,httpbis-cacheのdraftの議論があったので眺めてみました.既存のRFC 7234からの変更点(Change Log)で気になったものピックアップしてみました.

この記事では,draft-ietf-httpbis-cache-08の段階での情報を書いています.今後の動向は最新のDraftを確認してください.

C.4. Since draft-ietf-httpbis-cache-02

Warningヘッダの非推奨

In Section 5.5, deprecated “Warning” header field
(https://github.com/httpwg/http-core/issues/139)

https://datatracker.ietf.org/doc/draft-ietf-httpbis-cache/

個人的には,こんなヘッダがあることに驚きです.MDNによるとレスポンスヘッダに状況の説明として含めることが想定されているそうです.ヘッダの構造は以下で定義されています.

Warning: <warn-code> <warn-agent> <warn-text> [<warn-date>]

C.5. Since draft-ietf-httpbis-cache-03

リクエストヘッダのキャッシュ制御を削除

Remove requirements around cache request directives
(https://github.com/httpwg/http-core/issues/129)

https://datatracker.ietf.org/doc/draft-ietf-httpbis-cache/

リンク先のGitHubでも書かれているとおり,リクエストヘッダのキャッシュ制御ヘッダがブラウザやWebサーバ,CDNで無視されている状況から取り除くことになったそうです.

Pragmaヘッダの非推奨

Deprecate Pragma (<https://github.com/httpwg/http-core/issues/140>)

https://datatracker.ietf.org/doc/draft-ietf-httpbis-cache/

HTTP/1.1ではCache-Controlヘッダが同様の働きをするので非推奨になったようです.

C.7. Since draft-ietf-httpbis-cache-05

キャッシュ可能メソッドのコンセプトを削除

In Section 3, remove concept of “cacheable methods” in favor of prose (https://github.com/httpwg/http-core/issues/54, https://www.rfc-editor.org/errata/eid5300)

https://datatracker.ietf.org/doc/draft-ietf-httpbis-cache/

リンク先の表には,メソッドごとにSafe(安全性), Idempotent(冪等性)の2カラムが存在します.Safeはリクエストのメソッドがリソースの読み取り専用であるか(変更を伴うか)を表しています.Idempotentは,同時に同一のリクエストが複数あった場合と1つあった場合で影響が同一であることを表しています.

MethodSafeIdempotentReference
CONNECTnonoSection 7.3.6
DELETEnoyesSection 7.3.5
GETyesyesSection 7.3.1
HEADyesyesSection 7.3.2
OPTIONSyesyesSection 7.3.7
POSTnonoSection 7.3.3
PUTnoyesSection 7.3.4
TRACEyesyesSection 7.3.8
Table 8
https://httpwg.org/http-core/draft-ietf-httpbis-semantics-latest.html#rfc.section.7.2

7.2ではSafeとIdempotent, Cacheについて触れられているものの,表にはSafeとIdempotentの2つのみ記載がありCacheは省略されていました.以下がGitHubのPull Requestです.

Get rid of “cacheable methods” by mnot · Pull Request #229 · httpwg/http-core

クオートで囲まれたキャッシュ制御ディレクティブの扱い

Change requirements for handling different forms of cache directives in Section 5.2 (https://github.com/httpwg/http-core/issues/128)

https://datatracker.ietf.org/doc/draft-ietf-httpbis-cache/

執筆中

C.8. Since draft-ietf-httpbis-cache-06

Varyディレクティブが * の場合キャッシュを無効化

In Section 4.1, clarify that any “*” as a member of Vary will disable caching (https://github.com/httpwg/http-core/issues/286)

https://datatracker.ietf.org/doc/draft-ietf-httpbis-cache/

執筆中

C.9. Since draft-ietf-httpbis-cache-07

明確: 他のキャッシュ要件を無視

In Section 5.2.2.6 and Section 5.2.2.7, make it clear that these directives do not ignore other requirements for caching (https://github.com/httpwg/http-core/issues/320)

https://datatracker.ietf.org/doc/draft-ietf-httpbis-cache/

執筆中

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です