manpagez: man pages & more
man nghttp(1)
Home | html | info | man
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
              transmission 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
              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 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.

       --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 incremental is false.

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

       --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 response. This option is ignored unless combined with
              the -d option.

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

       --ktls Enable ktls.

       --no-rfc7540-pri
              Disable RFC7540 priorities.

       --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.65.0-DEV                     January 12, 2025                      nghttp(1)

nghttp2 1.65.0 - Generated Sun Mar 2 06:20:17 CST 2025
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.