36 lines
1.8 KiB
Markdown
36 lines
1.8 KiB
Markdown
|
|
# WebSocket protocol
|
||
|
|
|
||
|
|
This directory contains the implementation of
|
||
|
|
[the WebSocket protocol](https://tools.ietf.org/html/rfc6455).
|
||
|
|
|
||
|
|
## Design docs
|
||
|
|
|
||
|
|
* [WebSocketBasicHandshakeStream design
|
||
|
|
memo](https://docs.google.com/document/d/1r7dQDA9AQBD_kOk-z-yMi0WgLQZ-5m7psMO5pYLFUL8/edit).
|
||
|
|
Some details have changed, but still a mostly-accurate description of
|
||
|
|
Chromium's current implementation.
|
||
|
|
* [WebSocket Throttling
|
||
|
|
Design](https://docs.google.com/document/d/1a8sUFQsbN5uve7ziW61ATkrFr3o9A-Tiyw8ig6T3puA/edit)
|
||
|
|
discusses how we enforce WebSocket connection throttling. Also contains
|
||
|
|
detailed discussion of how WebSockets integrate with the socket pools. Dates
|
||
|
|
from 2014, but still mostly relevant.
|
||
|
|
* [WebSockets over
|
||
|
|
HTTP/2](https://docs.google.com/document/d/1ZxaHz4j2BDMa1aI5CQHMjtFI3UxGT459pjYv4To9rFY/edit).
|
||
|
|
Current as of 2019 description of WebSocket over H/2 implementation.
|
||
|
|
* [WebSocket + Network Service + WebRequest
|
||
|
|
API](https://docs.google.com/document/d/1L85aXX-m5NaV-g223lH7kKB2HPg6kMi1cjrDVeEptE8/edit):
|
||
|
|
design for how extension callbacks are called when the network service is
|
||
|
|
enabled.
|
||
|
|
* [WebSocket HTTP Auth
|
||
|
|
Design](https://docs.google.com/document/d/129rLtf5x3hvhP5rayLiSxnEjOXS8Z7EnLJgBL4CdwjI/edit).
|
||
|
|
This document is very low on detail, but can serve as an overview of how auth
|
||
|
|
works for WebSockets.
|
||
|
|
* [Per-renderer WebSocket
|
||
|
|
throttling](https://docs.google.com/document/d/1aw2oN5PKfk-1gLnBrlv1OwLA8K3-ykM2ckwX2lubTg4/edit).
|
||
|
|
While the algorithm described in this document is still used, the code has
|
||
|
|
moved around significantly due to network servicification.
|
||
|
|
* [WebSocket Protocol Stack in
|
||
|
|
chrome/net](https://docs.google.com/document/d/11n3hpwb9lD9YVqnjX3OwzE_jHgTmKIqd6GvXE9bDGUg/edit).
|
||
|
|
Early design doc for the current implementation. Mostly of historical interest
|
||
|
|
only.
|