- From: 姓名 <falsandtru@gmail.com>
- Date: Sat, 9 Dec 2023 06:13:23 +0900
- To: Christian Huitema <huitema@huitema.net>, ietf-http-wg@w3.org
- Message-ID: <CA+isZA+7nfsjwON2VyBpyTzKCVSTThV9eDqG_uikg0LXAZofAw@mail.gmail.com>
I'm not sure, but do you think it's optimized for a specific word? That is just a compressed example. Huffman code(HUFFMAN_HP_CODES) is exactly the same as HPACK. There is no training set. 2023年12月9日(土) 5:05 Christian Huitema <huitema@huitema.net>: > I have no opinion on the benefits or not of defining better compression > than HPACK/QPACK, but I do have an opinion on the inclusion of brands in > the training set, like: > > > > -1, '"Google Chrome";v="117", "Not;A=Brand";v="8", "Chromium";v="117"' > > > -1, '"Google Chrome";v="117.0.5938.89", "Not;A=Brand";v="8.0.0.0", > > "Chromium";v="117.0.5938.89"' > > > -3, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 > > (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36' > > > > 0, '1P_JAR=2023-11-22-18; expires=Fri, 22-Dec-2023 18:46:19 GMT; > > path=/; domain=.google.com; Secure; SameSite=none' > > I assume that this kind of branded content reflects the reality of the > market place, and that assigning short Huffman codes to it will indeed > reduce the size of messages. But I think dedicating codes to such brands > today is an error. Market shares and product names will change over > time, making such optimizations ephemeral. But even if the optimizations > were stable, optimizing for the existing set of brands will provide an > advantage to these brands over newcomers, and thus contribute to > increased concentration -- something that standards should certainly not > encourage. > > -- Christian Huitema > > On 12/8/2023 8:06 AM, 姓名 wrote: > > HPACK/QPACK uses only one static table of Huffman coding, but the > > compression ratio can be improved by combining multiple tables. There is > *no > > overhead* in data size due to the combination. Theoretically, two code > > tables can reduce the bit length of one code table by an average of one > > bit, since the two code tables itself has one bit of information. *This > > proposal especially reduces the token size increasing in recent years.* > Let > > me know the link to the conclusions if this approach has been considered. > > The following is a comparison based on my proof of concept code. The > > leftmost number is the reduced bit size. > > > > 'XPACK comp. ratio request', 0.2533415841584158, 1.3393005138405436 > > 'HPACK comp. ratio request', 0.2471534653465347, 1.3282919612033537 > > 0, 'accept' > > 0, > 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' > > 0, 'accept-encoding' > > 0, 'gzip, deflate, br' > > 0, 'accept-language' > > 0, 'ja,en-US;q=0.9,en;q=0.8' > > 0, 'cache-control' > > 0, 'max-age=0' > > 0, 'dnt' > > 0, '1' > > 0, 'sec-ch-ua' > > -1, '"Google Chrome";v="117", "Not;A=Brand";v="8", "Chromium";v="117"' > > 0, 'sec-ch-ua-arch' > > 0, '"x86"' > > 0, 'sec-ch-ua-bitness' > > 0, '"64"' > > 0, 'sec-ch-ua-full-version' > > 0, '"117.0.5938.89"' > > 0, 'sec-ch-ua-full-version-list' > > -1, '"Google Chrome";v="117.0.5938.89", "Not;A=Brand";v="8.0.0.0", > > "Chromium";v="117.0.5938.89"' > > 0, 'sec-ch-ua-mobile' > > 0, '?0' > > 0, 'sec-ch-ua-model' > > 0, '""' > > 0, 'sec-ch-ua-platform' > > 0, '"Windows"' > > 0, 'sec-ch-ua-platform-version' > > 0, '"10.0.0"' > > 0, 'sec-ch-ua-wow64' > > 0, '?0' > > 0, 'sec-fetch-dest' > > 0, 'document' > > 0, 'sec-fetch-mode' > > 0, 'navigate' > > 0, 'sec-fetch-site' > > 0, 'same-origin' > > 0, 'sec-fetch-user' > > 0, '?1' > > 0, 'sec-gpc' > > 0, '1' > > 0, 'upgrade-insecure-requests' > > 0, '1' > > 0, 'user-agent' > > -3, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 > > (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36' > > 0, 'x-client-data' > > -45, > 'CKa1yQEIj7bJAQiltskBCKmdygEI5tTKAQieicsBCJahywEIhaDNAQjwsc0BCNy9zQEI38TNAQi1xc0BCLnKzQEI1dDNAQiR0s0BCIrTzQEIwtTNAQjJ1s0BCPnA1BUYwcvMARi4v80B' > > > > 'XPACK comp. ratio response', 0.25389886578449905, 1.340300870942201 > > 'HPACK comp. ratio response', 0.24155245746691867, 1.3184827478775605 > > 0, 'accept-ch' > > -2, 'Sec-CH-UA-Arch' > > 0, 'accept-ch' > > -2, 'Sec-CH-UA-Bitness' > > 0, 'accept-ch' > > -2, 'Sec-CH-UA-Full-Version' > > 0, 'accept-ch' > > -2, 'Sec-CH-UA-Full-Version-List' > > 0, 'accept-ch' > > -2, 'Sec-CH-UA-Model' > > 0, 'accept-ch' > > -2, 'Sec-CH-UA-Platform' > > 0, 'accept-ch' > > -2, 'Sec-CH-UA-Platform-Version' > > 0, 'accept-ch' > > -1, 'Sec-CH-UA-WoW64' > > 0, 'alt-svc' > > 0, 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000' > > 0, 'cache-control' > > 0, 'private, max-age=0' > > 0, 'content-encoding' > > 0, 'br' > > 0, 'content-length' > > 0, '54188' > > 0, 'content-security-policy-report-only' > > -2, 'object-src 'none';base-uri 'self';script-src > > 'nonce-OqX2tRcsQ42YI77KwfGMfg' 'strict-dynamic' 'report-sample' > > 'unsafe-eval' 'unsafe-inline' https' > > 0, 'http:;report-uri https://csp.withgoogle.com/csp/gws/other-hp' > > 0, 'content-type' > > -1, 'text/html; charset=UTF-8' > > 0, 'cross-origin-opener-policy' > > 0, 'same-origin-allow-popups; report-to="gws"' > > 0, 'date' > > -2, 'Wed, 22 Nov 2023 18:46:19 GMT' > > 0, 'expires' > > 0, '-1' > > 0, 'origin-trial' > > -50, > 'Ap+qNlnLzJDKSmEHjzM5ilaa908GuehlLqGb6ezME5lkhelj20qVzfv06zPmQ3LodoeujZuphAolrnhnPA8w4AIAAABfeyJvcmlnaW4iOiJodHRwczovL3d3dy5nb29nbGUuY29tOjQ0MyIsImZlYXR1cmUiOiJQZXJtaXNzaW9uc1BvbGljeVVubG9hZCIsImV4cGlyeSI6MTY4NTY2Mzk5OX0=' > > 0, 'origin-trial' > > -83, > 'AvudrjMZqL7335p1KLV2lHo1kxdMeIN0dUI15d0CPz9dovVLCcXk8OAqjho1DX4s6NbHbA/AGobuGvcZv0drGgQAAAB9eyJvcmlnaW4iOiJodHRwczovL3d3dy5nb29nbGUuY29tOjQ0MyIsImZlYXR1cmUiOiJCYWNrRm9yd2FyZENhY2hlTm90UmVzdG9yZWRSZWFzb25zIiwiZXhwaXJ5IjoxNjkxNTM5MTk5LCJpc1N1YmRvbWFpbiI6dHJ1ZX0=' > > 0, 'p3p' > > -2, 'CP="This is not a P3P policy! See g.co/p3phelp for more info."' > > 0, 'permissions-policy' > > 0, 'unload=()' > > 0, 'report-to' > > 0, '{"group":"gws","max_age":2592000,"endpoints":[{"url":" > https://csp.withgoogle.com/csp/report-to/gws/other"}]}' > > 0, 'server' > > 0, 'gws' > > 0, 'set-cookie' > > 0, '1P_JAR=2023-11-22-18; expires=Fri, 22-Dec-2023 18:46:19 GMT; > > path=/; domain=.google.com; Secure; SameSite=none' > > 0, 'set-cookie' > > -23, 'AEC=Ackid1QH6gVXB6Rn68KWRmRtOGSW1unAfUHYsxuZh3Zs8cyWCZdKy8vrhQ; > > expires=Mon, 20-May-2024 18:46:19 GMT; path=/; domain=.google.com; > > Secure; HttpOnly; SameSite=lax' > > 0, 'set-cookie' > > -19, > 'NID=511=fx_DiN-XffVTX7QHZe7UgP5GQd0mx2HY9B0Hz6MgzEpOESnD8DldcSLyj-U6AHIo8t4-dcOKelciAyOK2j03GJE1r_31zKvXnECnKWvOQiFPO6mtTTaCZWqtn2x8m5lnzbB_CyUA-HzXz-Vw3TXC0eeW_AQlcu8CybBgyxtW5Kc; > > expires=Thu, 23-May-2024 18:46:19 GMT; path=/; domain=.google.com; > > Secure; HttpOnly; SameSite=none' > > 0, 'strict-transport-security' > > 0, 'max-age=31536000' > > 0, 'x-frame-options' > > -12, 'SAMEORIGIN' > > 0, 'x-xss-protection' > > 0, '0' > > > > https://github.com/falsandtru/spica/blob/master/src/ascii.xpack.ts > > >
Received on Friday, 8 December 2023 21:14:08 UTC