nghttp man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

NGHTTP(1)			    nghttp2			     NGHTTP(1)

NAME
       nghttp - HTTP/2 client

SYNOPSIS
       nghttp [OPTIONS]... <URI>...

DESCRIPTION
       HTTP/2 client

       <URI>  Specify URI to access.

OPTIONS
       -v, --verbose
	      Print    debug   information   such  as	reception   and trans‐
	      mission of frames and name/value pairs.  Specifying this	option
	      multiple times increases verbosity.

       -n, --null-out
	      Discard downloaded data.

       -O, --remote-name
	      Save   download	data  in  the  current	directory.   The file‐
	      name  is	 derived  from	 URI.	If   URI   ends	   with	  '/',
	      'index.html'  is used  as a  filename.  Not  implemented yet.

       -t, --timeout=<DURATION>
	      Timeout  each  request after <DURATION>.	Set 0 to disable time‐
	      out.

       -w, --window-bits=<N>
	      Sets the stream level initial window size to 2**<N>-1.

       -W, --connection-window-bits=<N>
	      Sets   the   connection	level	 initial   window   size    to
	      2**<N>-1.

       -a, --get-assets
	      Download	assets	 such as stylesheets, images  and script files
	      linked  from the downloaded resource.   Only links  whose	  ori‐
	      gins  are	  the  same   with the	linking resource will be down‐
	      loaded.	nghttp prioritizes resources using  HTTP/2  dependency
	      based  priority.	 The   priority order, from highest to lowest,
	      is html itself, css, javascript and images.

       -s, --stat
	      Print statistics.

       -H, --header=<HEADER>
	      Add a header to the requests.  Example: -H':method: PUT'

       --trailer=<HEADER>
	      Add a trailer header to the requests.  <HEADER> must not include
	      pseudo  header field  (header field name starting with ':').  To
	      send trailer, one must use  -d  option  to  send	request	 body.
	      Example: --trailer 'foo: bar'.

       --cert=<CERT>
	      Use  the specified  client certificate  file.  The  file must be
	      in PEM format.

       --key=<KEY>
	      Use the  client private key  file.  The file  must   be  in  PEM
	      format.

       -d, --data=<PATH>
	      Post  FILE  to  server. If '-'  is given, data will be read from
	      stdin.

       -m, --multiply=<N>
	      Request each URI	<N>  times.   By  default,  same  URI  is  not
	      requested twice.	This option disables it too.

       -u, --upgrade
	      Perform  HTTP Upgrade for HTTP/2.	 This option is ignored if the
	      request URI has https scheme.  If -d is used, the	 HTTP  upgrade
	      request is performed with OPTIONS method.

       -p, --weight=<WEIGHT>
	      Sets  priority group weight.  The valid value range is [1, 256],
	      inclusive.

	      Default: 16

       -M, --peer-max-concurrent-streams=<N>
	      Use  <N>	as  SETTINGS_MAX_CONCURRENT_STREAMS  value  of	remote
	      endpoint as if it	 is received in SETTINGS frame.

	      Default: 100

       -c, --header-table-size=<SIZE>
	      Specify  decoder	 header	 table	size.  If this	option is used
	      multiple times,  and the	minimum value  among the given	values
	      except   for  last  one  is  strictly less than the last	value,
	      that minimum  value is set  in SETTINGS frame   payload	before
	      the    last   value,   to	  simulate  multiple header table size
	      change.

       -b, --padding=<N>
	      Add at  most <N>	bytes to a  frame payload  as padding.	 Spec‐
	      ify 0 to disable padding.

       -r, --har=<PATH>
	      Output  HTTP   transactions  <PATH>  in  HAR  format.  If '-' is
	      given, data is written to stdout.

       --color
	      Force colored log output.

       --continuation
	      Send large header to test CONTINUATION.

       --no-content-length
	      Don't send content-length header field.

       --no-dep
	      Don't send dependency based priority hint to server.

       --hexdump
	      Display  the   incoming  traffic	in    hexadecimal   (Canonical
	      hex+ASCII	 display).   If	 SSL/TLS   is used, decrypted data are
	      used.

       --no-push
	      Disable server push.

       --max-concurrent-streams=<N>
	      The   number  of	 concurrent   pushed   streams	this	client
	      accepts.

       --version
	      Display version information and exit.

       -h, --help
	      Display this help and exit.

       The <SIZE> argument is an integer and an optional unit (e.g., 10K is 10
       * 1024).	 Units are K, M and G (powers of 1024).

       The <DURATION> argument is an integer and an optional unit (e.g., 1s is
       1  second  and  500ms  is  500  milliseconds).  Units are h, m, s or ms
       (hours, minutes, seconds and milliseconds, respectively).  If a unit is
       omitted, a second is used as unit.

DEPENDENCY BASED PRIORITY
       nghttp  sends  priority	hints  to server by default unless --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 differ‐
       ent  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:

		   +-----+
		   |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 -p option, which defaults to 16.

       If  -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" ele‐
       ment 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
       nghttpd(1), nghttpx(1), h2load(1)

AUTHOR
       Tatsuhiro Tsujikawa

COPYRIGHT
       2012, 2015, Tatsuhiro Tsujikawa

1.6.0			       December 23, 2015		     NGHTTP(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net