DEPENDENCY BASED PRIORITY ------------------------- nghttp sends priority hints to server by default unless :option:`--no-dep` is used. nghttp mimics the way Firefox employs to manages dependency using idle streams. We follows the behaviour of Firefox Nightly as of April, 2015, and nghttp's behaviour is very static and could be different from Firefox in detail. But reproducing the same behaviour of Firefox is not our goal. The goal is provide the easy way to test out the dependency priority in server implementation. When connection is established, nghttp sends 5 PRIORITY frames to idle streams 3, 5, 7, 9 and 11 to create "anchor" nodes in dependency tree: .. code-block:: text +-----+ |id=0 | +-----+ ^ ^ ^ w=201 / | \ w=1 / | \ / w=101| \ +-----+ +-----+ +-----+ |id=3 | |id=5 | |id=7 | +-----+ +-----+ +-----+ ^ ^ w=1 | w=1 | | | +-----+ +-----+ |id=11| |id=9 | +-----+ +-----+ In the above figure, ``id`` means stream ID, and ``w`` means weight. The stream 0 is non-existence stream, and forms the root of the tree. The stream 7 and 9 are not used for now. The URIs given in the command-line depend on stream 11 with the weight given in :option:`-p` option, which defaults to 16. If :option:`-a` option is used, nghttp parses the resource pointed by URI given in command-line as html, and extracts resource links from it. When requesting those resources, nghttp uses dependency according to its resource type. For CSS, and Javascript files inside "head" element, they depend on stream 3 with the weight 2. The Javascript files outside "head" element depend on stream 5 with the weight 2. The mages depend on stream 11 with the weight 12. The other resources (e.g., icon) depend on stream 11 with the weight 2. SEE ALSO -------- :manpage:`nghttpd(1)`, :manpage:`nghttpx(1)`, :manpage:`h2load(1)`