Errata

High Performance Browser Networking

Errata for High Performance Browser Networking

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
Chapter 12
Initiating a New Stream

Author mentions:
"client-initiated streams have even-numbered stream IDs and server-initiated streams have odd-numbered stream IDs."

It should be the opposite:
Client initiated ==> odd numbered stream IDs
Server initiated ==> even numbered stream IDs

The author gives an example afterwards which confirms what I am saying.

Mohamad  Aug 27, 2016 
ePub Page Chapter 17 (file ch17.html)
"Note" under "Binary Framing Layer" section

FPID: 9781449344757, "High Performance Browser Networking"
Link Text: "Talking to Yourself for Fun and Profit”.
Hypertext Link: "w2spconf.com/2011/papers/websocket.pdf"
This link directs to a gambling site.

O'Reilly Editorial provided the new link:
"adambarth.com/papers/2011/huang-chen-barth-rescorla-jackson.pdf"

Douglas Schneider  Apr 03, 2023 
Printed Page 18
Figure 2-2

BEGIN QUOTE
If, for any reason, one of the sides is not able to keep up, then it can advertise a smaller window to the sender. If the window reaches zero, then it is treated as a signal that no more data should be sent until the existing data in the buffer has been cleared by the application layer. This workflow continues throughout the lifetime of every TCP connection: each ACK packet carries the latest rwnd value for each side, allowing both sides to dynamically adjust the data flow rate to the capacity and processing speed of the sender and receiver.
END QUOTE

Having just been through the mechanism of the TCP handshake, I find Figure 2-2 very confusing: why is the receiver sending an ACK packet last?

Figure 2-1 states there are the 3 steps:

- SYN (sender)
- SYN ACK (receiver)
- ACK (sender)
- start data (sender).

But Figure 2-2 tells me that it's also:

- SYN (sender)
- SYN ACK (receiver)
- ACK (sender)
- ACK ... (receiver– not sure what the ellipsis indicates?)

The online link is here: https://hpbn.co/building-blocks-of-tcp/#flow-control. Hope you can help me see the light!

Anonymous  Oct 15, 2019 
Printed Page 20
2nd paragraph

online version: https://hpbn.co/building-blocks-of-tcp/

There is no mention of what a network segment is. Googling for the mysterious 1460 bytes in the equation that concludes the chapter, it turns out to be the Maximum Segment Size, which is a fairly simple but crucial concept here. It would be nice if the author provided a box or memo about it. Bottom-up learning all the way...

Anonymous  Oct 15, 2019 
PDF, Other Digital Version Page 26
First paragraph

Reducing time taken from 264ms to 96ms is 2.75 times better performance but that means the performance improvement is 175%, not 275%.

Ankit Goel  Sep 09, 2018