ep52 Monthly Web 201904
- published_at
- 2019-05-06
- guest
- @myakura
- toc
-
headings
Theme
第 52 回のテーマは 2019 年 4 月の Monthly Web です。
Show Note
Chrome 動向
- Stable: 74
-
Updates
-
New in Chrome 74
- https://developers.google.com/web/updates/2019/04/nic74
- Private class fields blog]
- prefers-reduced-motion
- CSS transition events
- Feature Policy API updates
-
Deprecations and removals in Chrome 74
- https://developers.google.com/web/updates/2019/03/chrome-74-deps-rems
- Remove PaymentAddress's languageCode property
- Don't allow popups during page unload
- Deprecate drive-by downloads in sandboxed iframes
-
The Chromium Chronicle: Task Scheduling Best Practices
- https://developers.google.com/web/updates/2019/04/chromium-chronicle-1
- Chrome チームが始めた Chromium 開発者のためのシリーズ
- Code Health, Unittesting, Tooling などを開発者が月刊で紹介していく
- 初回はタスクスケジューリング
-
What's New In DevTools (Chrome 75)
- https://developers.google.com/web/updates/2019/04/devtools
- Meaningful preset values when autocompleting CSS functions
- Clear site data from the Command Menu
- View all IndexedDB databases
- View a resource's uncompressed size on hover
- Inline breakpoints in the breakpoint pane
- IndexedDB and Cache resource counts
- Setting for disabling the detailed inspect tooltip
- Setting for toggling tab indentation in the Sources panel editor
-
Chromium Blog: Data Saver is now Lite mode
- https://blog.chromium.org/2019/04/data-saver-is-now-lite-mode.html
- Data Saver が通信量だけでなくメモリ消費量やパフォーマンスを向上させるようになったので名前を変更した
-
テキストや画像が最初に表示されるまで 5 秒以上かかるなら、自動的に Lite pages をダウンロードするようにも
- 仕組みはまた改めて公開予定とのこと
- Android 版 Chrome のみに。デスクトップ版の Data Saver 拡張は廃止
-
New in Chrome 74
-
BlinkOn 10
- Schedule
- LiveStream
- LT
- Portals
-
BlinkOn 10 "Decision Making":
<script>
+modules roadmap planning- https://docs.google.com/presentation/d/1zuuKMe8SPyiZQf9dmj8xL7EbL6IQnrE8bpZdytH3JIs
- スクリプト読み込み関連の機能がいっぱいあるのでリスト化 & オーナーを決めるなどのディスカッション記録
-
Off Main Thread CSS Paint
- https://docs.google.com/presentation/d/1WrzDN_PiKBfOVUrrbOV8gHQO-ODN0gdCpWE4xMYv29c/
- Paint Worklet 専用のスレッドと、アニメーションの Compositor での処理を検討中という話
-
Microsoft Edge: Adopting and contributing to Chromium
- Edge の Chromium 採用について
- すでに公開されているモチベーションや貢献範囲などの(再)共有
- ビルド環境や PlayReady DRM の実装、開発内部の話も
- Google のサービスに依存した機能の置き換えなども
-
Writing Secure JavaScript Is Hard: War Stories from Blink's Streams Implementation
- https://docs.google.com/presentation/d/1xszf-auCws84g298BOuhzSjZnjQl-V4qC99idZmEk4k/edit
- V8 Extras で実装した Streams API の問題について
- C++ から JavaScript のコードを叩くことからパフォーマンスに影響
- スレッドの終了で JavaScript の実行が失敗するなどのクラッシュが発生
- セキュリティの問題もあり C++ での再実装へ
-
Long-term Browser Mitigations for Spectre
- https://docs.google.com/presentation/d/1xszf-auCws84g298BOuhzSjZnjQl-V4qC99idZmEk4k/edit
- 昨年導入された Site Isolation がまだ一部のデータしか守れていない
- 現状の CORB は HTML, XML, JSON などドキュメントに対してしか有効でない
- セーフリストや CORS-only モードなど、追加の対策について検討
-
PWAs State of the Union
- https://docs.google.com/presentation/d/1hdlVAyrj9HcPhpOLmB2vU0tt8gGrZd3fRO5oBfS31uc/edit
- PWA の概要
- デスクトップ PWA と実験中の Tabbed application mode という、アプリ固有のウインドウについて紹介
- Fugu とそのロードマップも
-
Desiloing files on the web
- https://docs.google.com/presentation/d/1o751xGhXzCdPk25faAiGPw4OQ5SErfQEVvFy2nhZOwc/edit
- Web Share まわりの現状と、検討中の File Handling について紹介
-
The Interop Update | The Chrome Gap | BlinkOn 10
- https://docs.google.com/presentation/d/1_On7g2EAUrVumIZr0PC-_iZszKyGT2_u1HbieThXjKA/edit
- web-platform-tests まわりの話や、ブラウザ間の機能の差がどれくらい広がっているかなどの調査
-
Feature Policies for a Better Web
- https://docs.google.com/presentation/d/16Ae9JJNZt3zSZtRoztTqfruStmv1vKoSkMVnSgJKc3M/
- Feature Policy で定義されているポリシーの大まかなまとめ
- ソースには 41 個定義されていて、うち 16 個が ship 、 experimental なものが 8 個、などなど
- Fonts Update
-
New Speed Metrics
- https://docs.google.com/presentation/d/1WtXMsHzTTr5za2X9fD8L7lzjtPVs7NQ8NQW3QsT2f3g/
- First Input Delay だけではなく、 Layout Stability(どれくらい読み込み中にコンテンツが動いたか)、 Largest Content Paint(最も大きな画像やテキストが表示されるまでの時間)などを検討している
-
AMP Conf 2019
- AMP Conf 2019: Successful web experiences for everyone
-
Intents
- Ship: Animation constructor
- Ship: AnimationEffect and KeyframeEffect (except composite/iterationComposite)
-
Ship: Web Share Level 2
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/Cr7Jrb9XMgE/lja4PhCtBgAJ
- ファイルをシェアできるようになる
- シェアできるコンテンツのチェックのために canShare() の追加
-
Ship:
Sec-Fetch-{Mode,Site,User}
request headers. - Ship: Web Share Target Level 2
- Ship: DateTimeFormat dateStyle & timeStyle options
-
Ship: User Timing L3
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/CWN34Qo8icI/cpHrV7GPBgAJ
- mark と mesure に引数が追加
- 例えば CPU busy で click からハンドラ実行まで時間がかかる場合正確に測れない
- start に e.timeStamp を渡せるようにし開始を正確にできる
- detail などのメタデータを拡充
-
Ship: Lazily load below-the-fold images and iframes
- https://groups.google.com/a/chromium.org/d/topic/blink-dev/jxiJvQc-gVg/discussion
- loading 属性を img と iframe に追加
- 値に lazy, eager, auto (default) のいずれかをとる。 lazy は lazy loading に opt-in 、 eager は opt-out 。
-
Ship: WebAssembly Bulk Memory operations
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/_TN1EsRyT_s/4c0CZ3s_BwAJ
- memset, memcopy 的なものができる
- Ship: Storage Quota Usage Details
- Ship: Async Clipboard read/write with image support
- Ship: Promise.allSettled
- Ship 'white-space: break-spaces'
- Ship: Promise.{all, race, allSettled} optimization
-
Implement and Ship: CSS pseudo-class ":picture-in-picture"
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/X-qPSmdSR_g/Yd0xweofBgAJ
- PinP した時に有効になる擬似クラス
- :fullscreen などと同じ
- Implement and Ship: Support for SVG in favicons
- Implement and Ship : Support "noreferrer" for window.open()
- Implement and Ship: CSS containment: Remove style from strict and content
- Implement: MSE in Workers
- Implement: Media Capabilities: encoding
- Implement: Gamepad light indicator API
- Implement: Concurrent Marking in Oilpan
- Implement & Ship: RTCRtpTransceiver.stop()
- Implement: SMS OTP Retriever API
- Implement: WebXR plane detection API
- Implement: PaymentRequestEvent.changePaymentMethod()
- Implement: Blink Editing Rearchitecture with TextCursor
- Experiment: Allow to set Jitter Buffer Target Delay
- Extend Origin Trial: Picking echo canceller for getUserMedia
-
Extend Origin Trial: EventTiming
- https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/WwszZpavn6U/x9pyllbZCQAJ
- First Input Delay などが取れる
- Extend Origin Trial: Priority Hints
- Change:
- Unship:
- Remove:
- PSA - AppCache: Cross-origin resource size padding
- PSA: You can now view screenshots of failing reftests on wpt.fyi
- https://bit.ly/blinkintents
- https://groups.google.com/a/chromium.org/forum/#!forum/blink-dev
- Team Weekly Snippet
- v8
-
Other
- App like animation experiences in AMP
- Building the future of email with AMP
- Encouraging More Voices in AMP
- AMP on the Times of India
- AMPproject.org moves to amp.dev!
- Guest Post: AMP Email
- Support JPEG2000
-
chromium/src - 3ee9f7924f - Add Reiwa era to date input calendarPicker
- https://chromium.googlesource.com/chromium/src/+/3ee9f7924f
- 日付系 input の元号に令和追加
- Official Google Webmaster Central Blog: Instant-loading AMP pages from your own domain
-
AMP Conf 2019: Successful web experiences for everyone - The AMP Blog
- https://blog.amp.dev/2019/04/17/amp-conf-2019-successful-web-experiences-for-everyone/
- amp-script の Origin Trial
- Next.js での AMP サポート
- Google Search での Signed Exchange 展開
- Google に AMP Stories の専用 UI が追加される
- AMP Email が Gmail の Dynamic mail として登場、 Outlook なども検討中
-
AMP コンポーネントを AMP 外で使えるようにする Bento AMP プロジェクトの発表
- リアーキテクチャが必要になるとのことで特に詳細はなし
-
isInputPending: Facebook's first browser API contribution - Facebook Code
- https://code.fb.com/developer-tools/isinputpending-api/
isInputPending()
を Facebook が Chromium に実装- Chrome 74 から Origin Trial 開始
-
Announcing AMP Real URL
- https://blog.cloudflare.com/announcing-amp-real-url/
- Cloudflare がホストしている AMP ページの Signed package を AMP Real URL というブランディングで無料で提供する
-
Presenting search app and browser options to Android users in Europe
- https://www.blog.google/around-the-globe/google-europe/presenting-search-app-and-browser-options-android-users-europe/
- ヨーロッパで展開する Android 端末で表示される、ブラウザと検索エンジンの選択・インストール画面について
Firefox 動向
- Stable: 66
-
Updates
-
Protections Against Fingerprinting and Cryptocurrency Mining Available in Firefox Nightly and Beta - Future Releases
- https://blog.mozilla.org/futurereleases/2019/04/09/protections-against-fingerprinting-and-cryptocurrency-mining-available-in-firefox-nightly-and-beta/
- Fingerprinting と cryptomining のブロック機能を Nightly と Beta に展開
- These Weeks in Firefox: Issue 57
- These Weeks in Firefox: Issue 56
- Scroll Anchoring in Firefox 66 - Mozilla Hacks - the Web developer blog
-
Backward-Compatibility FIDO U2F support shipping soon in Firefox
- https://blog.mozilla.org/security/2019/04/04/shipping-fido-u2f-api-support-in-firefox/
- WebAuthn をサポートしたが、 Google アカウントでは FIDO U2F API しかサポートしないので互換性のため一部ドメインで有効にする
-
DNS-over-HTTPS (DoH) Update - Recent Testing Results and Next Steps - Future Releases
- https://blog.mozilla.org/futurereleases/2019/04/02/dns-over-https-doh-update-recent-testing-results-and-next-steps/
- 2018 年 11 月に行った DoH のテストの結果
- 75 パーセンタイルでパフォーマンスに影響はない、もしくは向上も
- 4 月 1 日から US の一部のユーザーに対して、リリース版で DoH をテストする
-
Reducing Notification Permission Prompt Spam in Firefox
- https://blog.nightly.mozilla.org/2019/04/01/reducing-notification-permission-prompt-spam-in-firefox/
- Web Push のプロンプトについて 2018 年 12 月 25 日からひと月調査した
- 1800 万以上のプロンプトが表示され、許可されたのが 3% 未満、表示されたら即離脱したケースが 19% も
- カメラの許可が 85% 以上なので、これは多すぎる
- 4 月の 1 ヶ月間、 Nightly でユーザージェスチャーのないプロンプトを拒否する実験をする
- リリース版においても、プロンプトに関する情報を限定的に集めるとも
- Stop videos from automatically playing with new autoplay controls from Firefox
- Firefox Front-End Performance Update #16 | Mike Conley's Blog
- Firefox Front-End Performance Update #17 | Mike Conley's Blog
-
Protections Against Fingerprinting and Cryptocurrency Mining Available in Firefox Nightly and Beta - Future Releases
-
Intents
-
Implement and Ship: add
preventScroll
option to HTMLElement's, SVGElement's and XULElement'sfocus
method -
Implement and Ship:
<link rel="stylesheet" disabled>
, reflected by HTMLLinkElement.disabled - Implement and Ship: Document.cookie
- Implement and Ship: Support "noreferrer" feature for window.open()
- Implement: Delegated Credentials for TLS 1.3
- Implementing a new tracking blocking mechanism using a separate nsIPrincipal for cookie jar access: StoragePrincipal
- Unship: -moz-block-height value for line-height
- Unship: CSP "require-sri-for" Support
- Unship: DH algorithm support for WebCrypto
- Unship: XMLDocument.load and XMLDocument.async APIs
-
User-Initiated Picture-in-Picture enabled on Windows, Nightly only for now
- https://groups.google.com/forum/#!msg/mozilla.dev.platform/V2UFoG0t65I/KJoMyCaWCgAJ
- PiP API の実装ではなく、コンテキストメニューから PiP を実行できるようにする
-
Implement and Ship: add
- Site Compat
-
Other
- Standardizing WASI: A system interface to run WebAssembly outside the web
- Firefox Lockbox Now on Android, Keeping your Passwords Safe
- DNS-over-HTTPS Policy Requirements for Resolvers
Safari 動向
- Stable: 12.1
-
New WebKit Features in Safari 12.1
- https://webkit.org/blog/8718/new-webkit-features-in-safari-12-1/
- STP 59-76 の更新が反映されている
-
Dark Mode for the Web
- supported-color-schemes
- prefers-color-scheme
- Intelligent Tracking Prevention 2.1
- Payment Request API
- WebRTC Improvements
- Modern Encrypted Media Extensions API
- Change Codecs and Containers in MSE
- Intersection Observer
- Web Share API
- Color Input
- Data Lists
-
Better Text Decorations
- text-underline-offset
- text-decoration-thickness
- from-font
- Web Inspector Improvements
-
Release Notes for Safari Technology Preview 79
- https://webkit.org/blog/8706/release-notes-for-safari-technology-preview-79/
- Implemented FIDO AppID extension (r243193)
- Implemented support for new meter ARIA role (r243198)
- Changed to use a ServiceWorker process per registrable domain (r242905)
- Blocked all plugins smaller than 5px x 5px (r242949)
- Changed to use smaller default storage quotas for third-party frames (r243247)
-
Release Notes for Safari Technology Preview 80
- https://webkit.org/blog/8825/release-notes-for-safari-technology-preview-80/
- Implemented ResizeObserver (r243643)
- Added support for "noreferrer" window feature to window.open() (r243705)
- Added support for
<object>
.contentWindow (r243638) - Added support for muting screen capture and camera/microphone independently (r243899)
- Implemented white-space: break-spaces value (r244036)
- Legacy Safari Extensions (.safariextz files) are no longer supported.
-
Other
- Introducing the JetStream 2 Benchmark Suite
-
Intelligent Tracking Prevention 2.2
- https://webkit.org/blog/8828/intelligent-tracking-prevention-2-2/
- QueryParameter でトラッキングしているっぽい場合
- JS で付与された Cookie は 1 日で消える
- (2.1 では document.cookie は 7 日になった)
- SSO は ID Provider の 1st party Cookie が Header から出ていれば大丈夫ということか
-
Link Click Analytics and Privacy
- https://webkit.org/blog/8821/link-click-analytics-and-privacy/
- blog
- ping 属性を無効にする設定を入れないのか、という質問に対する回答
-
Safari は Privacy by Default である
- partition third-party data storage and ServiceWorkers by default
- partition HTTP caches by default
- ITP is on by default
-
コンテンツの互換性に影響があるかもしれないが、より強い保護を求めるユーザもいるために以下の機能がある
- Private Mode
- Content Blocker
-
Link Click Analytics の方法はいくつかある
- Synchronous XHR (XMLHttpRequest).
- Asynchronous XHR or Fetch, with a delay.
- First-party bounce tracking.
- The Beacon API.
- The Ping attribute.
-
Beacon と ping 以外は UX (パフォーマンス)に悪影響
- だから Beacon と ping を無効にしたらより悪い方法が使われるだけ
- この二つを無効にしてもプライバシーの問題は解決しないどころか悪くなる
- この二つを無効にするかどうかは、プライバシーの問題だけでは済まない
-
Safari はどうしているか
- 全ての手法でリクエストが 3rd party に送られる場合はリファラや Cookie を消す
- 3rd party tracking に使われることを防ぎ、 1st party のクリック解析は許可
- これがちょうど良いバランスだと考えている
-
それでも ping させたくなければ
- Content Blocker を使えば良い
-
実装の詳細
- Apple Platform では Use Defaults メカニズムが使われている
- そのセッティングは Safari のメニューにはない
- しかし開発者には問題の切り分けなどのため、デフォルトを上書きする手段があるものもある
- ここに最近まで ping 属性を無効にするフラグも入っていた
- しかし Safari のメニューに出す意図はなかった
- 代替手段があるのに、標準機能の無効を可能にすると誤った方向に導いてしまう
- 代わりに ITP や Content Blocker がある。
Edge 動向
- Stable: Edge 44/EdgeHTML 18
-
Dev/Canary: 75.0
- Microsoft Edge Insider
- Microsoft Edge preview builds: The next step in our OSS journey
- What to expect in the new Microsoft Edge Insider Channels - Microsoft Edge Blog
- Chromium ベースの Microsoft Edge の Dev と Canary ビルドが公開
- 公開時点では Beta / Stable はなし、プラットフォームも Windows 10 のみ
-
UA 文字列のトークンに "Edg/version" が追加
- Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.48 Safari/537.36 Edg/74.1.96.24
- EdgeHTML 版と区別するためにあえて "Edg" らしい
- すでに公開されている Android/iOS 版 Edge もそうなっているらしい
-
Chromium 74 ベースっぽい
- しかし全ての機能(API)があるわけではなさそう
Sec-Fetch-*
なども飛んでない- DevTools はほぼそのまま
- edge:// に設定がある(edge://flags, edge://edge-urls etc)
-
ソースコード
- Github にはリポジトリがあるがコードが無い
- https://github.com/MicrosoftEdge/MSEdge
- Redmond の住所に $5 払ったらコード送るよ的なことが edge://terms に書いてある
- Source code for portions of Microsoft Edge is available free of charge from https://thirdpartysource.microsoft.com under the third party open source license terms provided at http://aka.ms/thirdpartynotices and in Microsoft Edge at edge://credits after installation. Or to obtain this source code you may send a check or money order for US $5.00, including the Edge version number, to: [住所]
- でもダウンロードリンクが出回っていて普通に取得できる
- (3.7G) https://thirdpartysource.microsoft.com/download/Microsoft%20Edge/75.0.121.1/Windows%20x64/chromium.zip
- Status Updates
- EdgeHTML
- Build Changelog
-
Chakra
- Release ChakraCore v1.11.8 - Microsoft/ChakraCore
-
Other
-
windowsinsider - Mixer
- https://mixer.com/windowsinsider
- Edge チームが配信はじめたらしい
- Microsoft Edge での EV 証明書の信頼 (EV Trust Badge) 表示について
-
windowsinsider - Mixer
WHATWG/W3C 動向
-
Recommendation
- Pointer Events Level 2 is a W3C Recommendation
- Proposed Recommendation
-
Candidate Recommendation
- W3C Invites Implementations of WebVTT: The Web Video Text Tracks Format
- W3C Invites Implementations of Verifiable Credentials Data Model 1.0
- W3C Invites Implementations of Payment Request API
- W3C Invites Implementations of Accessibility Conformance Testing (ACT) Rules Format 1.0
- Working Draft
-
First Public Working Draft
- First Public Working Draft: Feature Policy
- First Public Working Draft: CSS Spatial Navigation Level 1
-
Chartering
-
[PROPOSED] Media Working Group Charter
- https://www.w3.org/2019/04/media-charter-draft.html
- https://lists.w3.org/Archives/Public/public-new-work/2019Apr/0003.html
- MSE や EME 、 PiP などメディア関連の仕様を策定する新たな WG が提案
- [PROPOSED] Web & Networks Interest Group Charter
- Graph Standardization Business Group Proposed
- Proposed W3C Charters: HTML Working Group; Internationalization (i18n) Working Group and Interest Group (until 2019-05-03)
- ACT Rules Community Group created
- Web Application Security Working Group Revised Charter Approved; Call for Participation
- SPARQL
- Verifiable Claims Working Group Charter Extended until 30 September 2019
- Functional Knowledge Graph Community Group created
- EMVCo, FIDO Alliance, and W3C Form Interest Group to Enhance Security and Interoperability of Web Payments
- Proposed W3C Charter: Media and Entertainment Interest Group
-
[PROPOSED] Media Working Group Charter
-
Other
-
DRAFT Memorandum of Understanding Between W3C and WHATWG
- https://www.w3.org/2019/04/WHATWG-W3C-MOU.html
- HTML と DOM 仕様を WHATWG で策定し、 W3C がその Review Drafts を REC に持って行くという方針のドラフト
-
Idiosyncrancies of the HTML parser - The HTML Parser Book
- https://htmlparser.info/
- https://leanpub.com/html-parser-book/
- Simon Pieters(元 Opera 、現 Bocoup)による HTML の parser についての書籍
- Proposal: Comments element - HTML - WICG
-
W3C honored with a second Technology & Engineering Emmy (R) Award
- https://www.w3.org/blog/news/archives/7690
- W3C が standardize a Full TV Experience on the Web で Emmy 賞
-
Avoiding Built-In Tracking in Signed Packages · Issue #422 · WICG/webpackage
- https://github.com/WICG/webpackage/issues/422
- Apple の John Wilander による Signed Exchange のプライバシーにおける考察
-
リソースのないニュースサイトにアドテクが Signed Exchange を提供するようになるとどうなるか?
- トラッキング入りの個別の Signed package を送られやしないか?
- W3C Strategic Highlights, Spring 2019
-
DRAFT Memorandum of Understanding Between W3C and WHATWG
TC39 動向
-
TC39
- https://github.com/rwaldron/tc39-notes/tree/master/es9/2018-03
- Open-ended discussion: How should we evolve the JavaScript standard library over time?
- Update on Array.prototype.flatten web incompatibility
- Follow up: Champions will pick a name and bring one or several to the committee
- Update on WASM ES modules
- Update on improved TC39 documentation efforts
- What does 1JS mean in a world of transpilers?
- Test262 Status Updates with a short summary from the latest work.
- Summarize classes
-
Proposals Diff
-
https://github.com/tc39/proposals/compare/master@{2019-04-01}...master@{2019-05-01}
- stage 1 のファイルの分離された
-
0->1
- Promise.any (3 月)
-
1->2
- String.replaceAll (3 月)
-
2->3
- Promise.allSettled (3 月)
- Static class fields and private static methods (3 月)
- 3->4
-
https://github.com/tc39/proposals/compare/master@{2019-04-01}...master@{2019-05-01}
-
New Proposals
- isTemplateObject (3 月)
- mikesamuel/evalable
-
mikesamuel/proposal-hostensurecancompilestrings-passthru
- https://github.com/mikesamuel/proposal-hostensurecancompilestrings-passthru
- HostEnsureCanCompileStrings
- 2 つを組み合わせて TrustedTypes の JS 版 TrustedScript 的なものを入れる
- eval の仕様を変えずに XSS リスクを減らす
- Other
IETF 動向
-
IETF
-
wg-materials/minutes.md at gh-pages · httpwg/wg-materials
- https://github.com/httpwg/wg-materials/blob/gh-pages/ietf104/minutes.md
-
Client Hints
- https://github.com/httpwg/wg-materials/blob/gh-pages/ietf104/client-hints.pdf
- Fingerprint で議論が平行線
- HTTPS-over-QUIC
-
SecondaryCerts
- https://github.com/httpwg/wg-materials/blob/gh-pages/ietf104/SecondaryCerts.pdf
- Client の証明書が欲しいが Renegotiation ができないので拡張フレーム
- CA 誤発行があった場合のことなのでもめてる
- Origin-Signed Exchanges
- HTTPWorkshop/workshop2019
- Minutes from the April 11 meeting
- workshop2019/Thomson-hx.pdf at master · HTTPWorkshop/workshop2019
-
wg-materials/minutes.md at gh-pages · httpwg/wg-materials
-
RFC
- (Joke) RFC 8565 - Hypertext Jeopardy Protocol
- RFC 8586 - Loop Detection in Content Delivery Networks (CDNs)
- IETF Last Call
- WG Last Call
- Call for Adoption
- I-D Action
-
Draft
- OAuth 2.0 Demonstration of Proof-of-Possession at the Application Layer
- OAuth 2.0 for Browser-Based Apps
- Suppressing Intermediate Certificates in TLS
- COSE and JOSE Registrations for WebAuthn Algorithms
- HTTP State Tokens
- TLS Authentication using IEEE 1609.2 certificates
- ACME Client Extension
- JSON Template Language
- Using TLS 1.3 with HTTP/2
- TLS Authentication using IEEE 1609.2 certificates
- Address-bound Token for QUIC
- An HTTP/2 extension for bidirectional messaging communication
- Recording Well-Known URI Capability in the URI Scheme Registry
- The QUIC Loss Bits
- YANG Groupings for HTTP Clients and HTTP Servers
- YANG Groupings for TCP Clients and TCP Servers
- Using SSRC with WebRTC Simulcast
- Using GitHub at the IETF
- JSON Web Token (JWT) Profile for OAuth 2.0 Access Tokens
-
Other
- HTTP Testing Resources - httpwg/wiki Wiki
- HTTP/2 and TLS 1.3 post-handshake authenication
- Formalizing the HTTP State Tokens proposal.
セキュリティ動向
-
Heartbleed からちょうど 5 年(4/8)
- https://twitter.com/colmmacc/status/1114944298246660100
- 当時の Amazon 内での動きなどの回顧録
- コインハイブ事件のご報告とこれからのこと
- コインハイブ事件控訴のお知らせとクラウドファンディングのお願い #JHA_Coinhive
- Apache Tomcat Patches Important Remote Code Execution Flaw
-
Transitioning to ISRG's Root - Let's Encrypt - Free SSL/TLS Certificates
- https://letsencrypt.org/2019/04/15/transitioning-to-isrg-root.html
- Let's Encrypt の証明書は IdenTrust の CrossRoot だった
- Let's Encrypt を運用している ISRG の証明書が広く普及した
- 2019/7/8 からは CrossRoot ではなく ISRG Root X1 で証明書を配布するようになる
- 多くのユーザは特に何もしなくても更新のタイミングで新しくなる
- もし古いデバイスをサポートしたければ 2021/9/29 までは CrossRoot を使うこともできる
-
Content Security Policy: A successful mess between hardening and mitigation
- https://speakerdeck.com/mikispag/content-security-policy-a-successful-mess-between-hardening-and-mitigation
- Google における CSP の導入
- XSS は未だに多く、 Google ドメインは広く CSP でカバーしている
- 60% の XSS は CSP でブロックできている
- Whitelist 形式はバイパスが可能なので Level 3 の nonce ベースに移行している
- 緩和策を講じながら最終的に nonce only に移行していく
- 7 割くらい CSP をデプロイし、 nonce only は 1 割程度までデプロイ済み
周辺動向
- https://docs.google.com/document/d/1TD3fwGVKifHtwT7rGtrbYC0ka0aRGbbU9Nu3p3o8suk/edit
- Supercharging Server Timing with HTTP trailers
-
Announcing Lucet: Fastly's native WebAssembly compiler and runtime
- https://www.fastly.com/blog/announcing-lucet-fastly-native-webassembly-compiler-runtime
- https://github.com/CraneStation/cranelift
- Mozilla 製 cranelift 上に作られている
- WASI サポート
- VLC に変わって edge 上で動き色々できるように
-
Introducing Warp: Fixing Mobile Internet Performance and Security
- https://blog.cloudflare.com/1111-warp-better-vpn/
- Cloudflare が新しく無料の VPN サービス Warp をアナウンス
- 4/1 だがエイプリルフールネタじゃない模様
- 受付中で 7 月末に提供開始
- 図を見ると日本にも 2 箇所サーバがあるっぽい(Tokyo/Osaka ?)
- neumob の買収によって始まった
- OpenVPN ではなく WireGuard ベースでバッテリーや熱効率も良い
- DNS 同様、ロギングや広告もなし
- 有料サービス Warp+ も提供予定でそっちでマネタイズ
- Warp+ は Argo (輻輳最適化)の組み合わせでより早くなるっぽい
- Understanding and exploring Feature Policy
-
Can I Stop
- https://canistop.net/
- IE11 の国別シェアを見せるサイト
-
メルカリの懐かしほ〜むぺ〜じ
- https://mercari-special.jp/~natsukashi/
- 古い Web サイトの再現
-
Announcing WAPM: The WebAssembly Package Manager
- https://medium.com/wasmer/announcing-wapm-the-webassembly-package-manager-18d52fae0eea
- WASM のパッケージマネージャー
- https://wapm.io/ にホスト
- うまくいくと NPM 以上に使われるかも
- The new ECMAScript module support in Node.js 12
-
jQuery 3.4.0 Released
- http://blog.jquery.com/2019/04/10/jquery-3-4-0-released/
- Selectors API が充分に普及したので jQuery 4.0 で Sizzle を削除する予定
- そのため jQuery 独自のセレクタを deprecate した
-
A history of the HTML slot element - Component Kitchen
- https://component.kitchen/blog/posts/a-history-of-the-html-slot-element
- Shadow DOM v1 の slot について、そうなった歴史
イベント
-
4 月
-
9-10: BlinkOn 10 Canada
- https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/5K4WbTlD9rI
- 3min LT 大会が復活したらしい
- 17-18: AMP Conf 2019: Tokyo
- 25-26: Web Components F2F
-
9-10: BlinkOn 10 Canada
-
5 月
- 6-8: MS Build
- 7-9: Google I/O
- 29-30: de:code 2019
-
6 月
- 1-2: JSConf EU
-
7 月
- 20-26: IETF 105 Montreal
- 8 月
-
9 月
- 16-20: W3C TPAC 2019 (Fukuoka)