Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
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 transmis-
	    sion of frames and name/value pairs.  Specifying this option  multi-
	    ple times increases verbosity.

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

     -O, --remote-name
	    Save  download  data  in  the  current  directory.	 The filename 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 timeout.

     -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  origins
	    are  the same   with  the	linking  resource  will  be  downloaded.
	    nghttp  prioritizes  resources using HTTP/2 dependency  based prior-
	    ity.  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.  Exam-
	    ple: --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  re-
	    quest URI has https scheme.  If -d is used, the HTTP upgrade request
	    is performed with OPTIONS method.

     --extpri=<PRI>
	    Sets RFC 9218 priority of  given URI.  <PRI> must be the wire format
	    of	priority   header field  (e.g., "u=3,i").  This  option  can  be
	    used  multiple  times,  and  N-th --extpri option sets  priority  of
	    N-th  URI  in  the command line.  If  the number  of this option  is
	    less  than the number of  URI, the last  option value is   repeated.
	    If	there	is   no  --extpri  option,  urgency   is  3,  and incre-
	    mental is false.

     -M, --peer-max-concurrent-streams=<N>
	    Use  <N>  as  SETTINGS_MAX_CONCURRENT_STREAMS  value  of remote end-
	    point 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   mul-
	    tiple  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.

     --encoder-header-table-size=<SIZE>
	    Specify  encoder  header table size.  The decoder (server) specifies
	    the maximum  dynamic table	size it  accepts.  Then  the  negotiated
	    dynamic table size is the minimum of this option value and the value
	    which server specified.

     -b, --padding=<N>
	    Add  at  most <N>  bytes to a  frame payload  as padding.  Specify 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.

     --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.

     --expect-continue
	    Perform an Expect/Continue handshake:  wait to send DATA (up  to   a
	    short   timeout)  until the server sends  a 100 Continue interim re-
	    sponse. This option is ignored unless combined with the -d option.

     -y, --no-verify-peer
	    Suppress  warning  on  server  certificate	verification failure.

     --ktls
	    Enable ktls.

     --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.

SEE ALSO
     nghttpd(1), nghttpx(1), h2load(1)

Author
     Tatsuhiro Tsujikawa

Copyright
     2012, 2015, 2016, Tatsuhiro Tsujikawa

1.69.0				  Apr 19, 2026			       NGHTTP(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=nghttp&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help