| 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)` |