| OLD | NEW |
| 1 # SDCH | 1 # SDCH |
| 2 | 2 |
| 3 "SDCH" stands for "Shared Dictionary Compression over HTTP". It is a | 3 "SDCH" stands for "Shared Dictionary Compression over HTTP". It is a |
| 4 protocol for compressing URL responses used when the server and | 4 protocol for compressing URL responses used when the server and |
| 5 the client share a dictionary that can be referred to for | 5 the client share a dictionary that can be referred to for |
| 6 compression/encoding and decompression/decoding. The details of the | 6 compression/encoding and decompression/decoding. The details of the |
| 7 SDCH protocol are specified in | 7 SDCH protocol are specified in |
| 8 [the spec](https://docs.google.com/a/chromium.org/document/d/1REMkwjXY5yFOkJwtJP
jCMwZ4Shx3D9vfdAytV_KQCUo/edit?pli=1) | 8 [the spec](https://docs.google.com/a/chromium.org/document/d/1REMkwjXY5yFOkJwtJP
jCMwZ4Shx3D9vfdAytV_KQCUo/edit?pli=1) |
| 9 (soon to be moved to github) but in brief: | 9 (soon to be moved to github) but in brief: |
| 10 | 10 |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 dictionaries in response to new fetches, and constraints on the | 56 dictionaries in response to new fetches, and constraints on the |
| 57 amount of memory that is usable by SDCH dictionaries. It initiates | 57 amount of memory that is usable by SDCH dictionaries. It initiates |
| 58 dictionary fetches as appropriate when it receives notification of | 58 dictionary fetches as appropriate when it receives notification of |
| 59 a "Get-Dictionary" header from the SdchManager. | 59 a "Get-Dictionary" header from the SdchManager. |
| 60 | 60 |
| 61 A net/ embedder should instantiate an SdchManager and an SdchOwner, | 61 A net/ embedder should instantiate an SdchManager and an SdchOwner, |
| 62 and guarantee that the SdchManager outlive the SdchOwner. | 62 and guarantee that the SdchManager outlive the SdchOwner. |
| 63 | 63 |
| 64 Note the layering of the above classes: | 64 Note the layering of the above classes: |
| 65 | 65 |
| 66 1. The SdchManager and SdchOwner classes have no knowledge of | 66 1. The SdchManager class has no knowledge of URLRequests. URLRequest |
| 67 URLRequests. URLRequest is dependent on those classes, not the | 67 is dependent on that class, not the reverse. |
| 68 reverse. | |
| 69 2. SdchDictionaryFetcher is dependent on URLRequest, but is still a | 68 2. SdchDictionaryFetcher is dependent on URLRequest, but is still a |
| 70 utility class exported by the net/ library for use by higher levels. | 69 utility class exported by the net/ library for use by higher levels. |
| 71 3. SdchOwner manages the entire system on behalf of the embedder. The | 70 3. SdchOwner manages the entire system on behalf of the embedder. The |
| 72 intent is that the embedder can change policies through methods on | 71 intent is that the embedder can change policies through methods on |
| 73 SdchOwner, while letting the SdchOwner class take care of policy | 72 SdchOwner, while letting the SdchOwner class take care of policy |
| 74 implementation. | 73 implementation. |
| 75 | 74 |
| 76 ## SDCH in Chromium: Debugging | 75 ## SDCH in Chromium: Debugging |
| 77 | 76 |
| 78 Data that is useful in debugging SDCH problems: | 77 Data that is useful in debugging SDCH problems: |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 the server in question, temporarily (if it can recover that request) | 109 the server in question, temporarily (if it can recover that request) |
| 111 or permanently (if it can't). This can lead to a mysterious lack of | 110 or permanently (if it can't). This can lead to a mysterious lack of |
| 112 SDCH encoding when it's expected to be present. | 111 SDCH encoding when it's expected to be present. |
| 113 * The network cache currently stores the response precisely as received from | 112 * The network cache currently stores the response precisely as received from |
| 114 the network. This means that requests that don't advertise SDCH | 113 the network. This means that requests that don't advertise SDCH |
| 115 may get a cached value that is SDCH encoded, and requests that do | 114 may get a cached value that is SDCH encoded, and requests that do |
| 116 advertise SDCH may get a cached value that is not SDCH encoded. | 115 advertise SDCH may get a cached value that is not SDCH encoded. |
| 117 The second case is handled transparently, but the first case may | 116 The second case is handled transparently, but the first case may |
| 118 lead to request failure. | 117 lead to request failure. |
| 119 | 118 |
| OLD | NEW |