ADC NITRO APIs

nshttpprofile

Configuration for HTTP profile resource.

Properties

(click to see Operations )

Name Data Type Permissions Description
name <String> Read-write Name for an HTTP profile. Must begin with a letter, number, or the underscore \(_\) character. Other characters allowed, after the first character, are the hyphen \(-\), period \(.\), hash \(\#\), space \( \), at \(@\), colon \(:\), and equal \(=\) characters. The name of a HTTP profile cannot be changed after it is created.



CLI Users: If the name includes one or more spaces, enclose the name in double or single quotation marks \(for example, "my http profile" or 'my http profile'\).

Minimum length = 1

Maximum length = 127
dropinvalreqs <String> Read-write Drop invalid HTTP requests or responses.

Default value: DISABLED

Possible values = ENABLED, DISABLED
markhttp09inval <String> Read-write Mark HTTP/0.9 requests as invalid.

Default value: DISABLED

Possible values = ENABLED, DISABLED
markconnreqinval <String> Read-write Mark CONNECT requests as invalid.

Default value: DISABLED

Possible values = ENABLED, DISABLED
marktracereqinval <String> Read-write Mark TRACE requests as invalid.

Default value: DISABLED

Possible values = ENABLED, DISABLED
markrfc7230noncompliantinval <String> Read-write Mark RFC7230 non-compliant transaction as invalid.

Default value: DISABLED

Possible values = ENABLED, DISABLED
markhttpheaderextrawserror <String> Read-write Mark Http header with extra white space as invalid.

Default value: DISABLED

Possible values = ENABLED, DISABLED
cmponpush <String> Read-write Start data compression on receiving a TCP packet with PUSH flag set.

Default value: DISABLED

Possible values = ENABLED, DISABLED
conmultiplex <String> Read-write Reuse server connections for requests from more than one client connections.

Default value: ENABLED

Possible values = ENABLED, DISABLED
maxreusepool <Double> Read-write Maximum limit on the number of connections, from the Citrix ADC to a particular server that are kept in the reuse pool. This setting is helpful for optimal memory utilization and for reducing the idle connections to the server just after the peak time. Zero implies no limit on reuse pool size. If non-zero value is given, it has to be greater than or equal to the number of running Packet Engines.

Default value: 0

Minimum value = 0

Maximum value = 360000
dropextracrlf <String> Read-write Drop any extra 'CR' and 'LF' characters present after the header.

Default value: ENABLED

Possible values = ENABLED, DISABLED
incomphdrdelay <Double> Read-write Maximum time to wait, in milliseconds, between incomplete header packets. If the header packets take longer to arrive at Citrix ADC, the connection is silently dropped.

Default value: 7000

Minimum value = 1

Maximum value = 360000
websocket <String> Read-write HTTP connection to be upgraded to a web socket connection. Once upgraded, Citrix ADC does not process Layer 7 traffic on this connection.

Default value: DISABLED

Possible values = ENABLED, DISABLED
rtsptunnel <String> Read-write Allow RTSP tunnel in HTTP. Once application/x-rtsp-tunnelled is seen in Accept or Content-Type header, Citrix ADC does not process Layer 7 traffic on this connection.

Default value: DISABLED

Possible values = ENABLED, DISABLED
reqtimeout <Double> Read-write Time, in seconds, within which the HTTP request must complete. If the request does not complete within this time, the specified request timeout action is executed. Zero disables the timeout.

Default value: 0

Minimum value = 0

Maximum value = 86400
adpttimeout <String> Read-write Adapts the configured request timeout based on flow conditions. The timeout is increased or decreased internally and applied on the flow.

Default value: DISABLED

Possible values = ENABLED, DISABLED
reqtimeoutaction <String> Read-write Action to take when the HTTP request does not complete within the specified request timeout duration. You can configure the following actions:

* RESET - Send RST (reset) to client when timeout occurs.

* DROP - Drop silently when timeout occurs.

* Custom responder action - Name of the responder action to trigger when timeout occurs, used to send custom message.
dropextradata <String> Read-write Drop any extra data when server sends more data than the specified content-length.

Default value: DISABLED

Possible values = ENABLED, DISABLED
weblog <String> Read-write Enable or disable web logging.

Default value: ENABLED

Possible values = ENABLED, DISABLED
clientiphdrexpr <String> Read-write Name of the header that contains the real client IP address.
maxreq <Double> Read-write Maximum number of requests allowed on a single connection. Zero implies no limit on the number of requests.

Default value: 0

Minimum value = 0

Maximum value = 65534
persistentetag <String> Read-write Generate the persistent Citrix ADC specific ETag for the HTTP response with ETag header.

Default value: DISABLED

Possible values = ENABLED, DISABLED
spdy <String> Read-write Enable SPDYv2 or SPDYv3 or both over SSL vserver. SSL will advertise SPDY support either during NPN Handshake or when client will advertises SPDY support during ALPN handshake. Both SPDY versions are enabled when this parameter is set to ENABLED.

Default value: DISABLED

Possible values = DISABLED, ENABLED, V2, V3
http2 <String> Read-write Choose whether to enable support for HTTP/2.

Default value: DISABLED

Possible values = ENABLED, DISABLED
http2direct <String> Read-write Choose whether to enable support for Direct HTTP/2.

Default value: DISABLED

Possible values = ENABLED, DISABLED
http2strictcipher <String> Read-write Choose whether to enable strict HTTP/2 cipher selection.

Default value: ENABLED

Possible values = ENABLED, DISABLED
altsvc <String> Read-write Choose whether to enable support for Alternative Service.

Default value: DISABLED

Possible values = ENABLED, DISABLED
reusepooltimeout <Double> Read-write Idle timeout (in seconds) for server connections in re-use pool. Connections in the re-use pool are flushed, if they remain idle for the configured timeout.

Default value: 0

Minimum value = 0

Maximum value = 31536000
maxheaderlen <Double> Read-write Number of bytes to be queued to look for complete header before returning error. If complete header is not obtained after queuing these many bytes, request will be marked as invalid and no L7 processing will be done for that TCP connection.

Default value: 24820

Minimum value = 2048

Maximum value = 61440
minreusepool <Double> Read-write Minimum limit on the number of connections, from the Citrix ADC to a particular server that are kept in the reuse pool. This setting is helpful for optimal memory utilization and for reducing the idle connections to the server just after the peak time. Zero implies no limit on reuse pool size.

Default value: 0

Minimum value = 0

Maximum value = 360000
http2maxheaderlistsize <Double> Read-write Maximum size of header list that the Citrix ADC is prepared to accept, in bytes. NOTE: The actual plain text header size that the Citrix ADC accepts is limited by maxHeaderLen. Please change maxHeaderLen parameter as well when modifying http2MaxHeaderListSize.

Default value: 24576

Minimum value = 8192

Maximum value = 65535
http2maxframesize <Double> Read-write Maximum size of the frame payload that the Citrix ADC is willing to receive, in bytes.

Default value: 16384

Minimum value = 16384

Maximum value = 32768
http2maxconcurrentstreams <Double> Read-write Maximum number of concurrent streams that is allowed per connection.

Default value: 100

Minimum value = 0

Maximum value = 1000
http2initialwindowsize <Double> Read-write Initial window size for stream level flow control, in bytes.

Default value: 65535

Minimum value = 8192

Maximum value = 20971520
http2headertablesize <Double> Read-write Maximum size of the header compression table used to decode header blocks, in bytes.

Default value: 4096

Minimum value = 0

Maximum value = 16384
http2minseverconn <Double> Read-write Minimum number of HTTP2 connections established to backend server, on receiving HTTP requests from client before multiplexing the streams into the available HTTP/2 connections.

Default value: 20

Minimum value = 1

Maximum value = 360000
http2maxpingframespermin <Double> Read-write Maximum number of ping frames allowed in HTTP2 connection per minute.

Default value: 60

Minimum value = 1

Maximum value = 360000
http2maxsettingsframespermin <Double> Read-write Maximum number of settings frames allowed in HTTP2 connection per minute.

Default value: 15

Minimum value = 1

Maximum value = 360000
http2maxresetframespermin <Double> Read-write Maximum number of reset frames allowed in HTTP/2 connection per minute.

Default value: 90

Minimum value = 1

Maximum value = 360000
http2maxemptyframespermin <Double> Read-write Maximum number of empty frames allowed in HTTP2 connection per minute.

Default value: 60

Minimum value = 1

Maximum value = 360000
apdexcltresptimethreshold <Double> Read-write This option sets the satisfactory threshold (T) for client response time in milliseconds to be used for APDEX calculations. This means a transaction responding in less than this threshold is considered satisfactory. Transaction responding between T and 4*T is considered tolerable. Any transaction responding in more than 4*T time is considered frustrating. Citrix ADC maintains stats for such tolerable and frustrating transcations. And client response time related apdex counters are only updated on a vserver which receives clients traffic.

Default value: 500

Minimum value = 1

Maximum value = 3600000
refcnt <Double> Read-only Number of entities using this profile.
builtin <String[]> Read-only Flag to determine if http profile is built-in or not.

Possible values = MODIFIABLE, DELETABLE, IMMUTABLE, PARTITION_ALL
feature <String> Read-only The feature to be checked while applying this config.
apdexsvrresptimethreshold <Double> Read-only This option sets the satisfactory threshold (T) for server response time in milliseconds to be used for APDEX calculations. This means a transaction responding in less than this threshold is considered satisfactory. Transaction responding between T and 4*T is considered tolerable. Any transaction responding in more than 4*T time is considered frustrating. Citrix ADC maintains stats for such tolerable and frustrating transcations. Server Response time related apdex counters are only updated on backend services or a backend vserver which is not accepting client traffic.

Default value: 400

Minimum value = 1

Maximum value = 3600000
__count <Double> Read-only count parameter

Operations

(click to see Properties )

  • ADD
  • DELETE
  • UPDATE
  • UNSET
  • GET (ALL)
  • GET
  • COUNT

Some options that you can use for each operations:

  • Getting warnings in response: NITRO allows you to get warnings in an operation by specifying the 'warning' query parameter as 'yes'. For example, to get warnings while connecting to the NetScaler appliance, the URL is as follows:

    http:// <netscaler-ip-address> /nitro/v1/config/login?warning=yes

    If any, the warnings are displayed in the response payload with the HTTP code '209 X-NITRO-WARNING'.

  • Authenticated access for individual NITRO operations: NITRO allows you to logon to the NetScaler appliance to perform individual operations. You can use this option instead of creating a NITRO session (using the login object) and then using that session to perform all operations,

    To do this, you must specify the username and password in the request header of the NITRO request as follows:

    X-NITRO-USER: <username>

    X-NITRO-PASS: <password>

    Note: In such cases, make sure that the request header DOES not include the following:

    Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

*Note: *

Mandatory parameters are marked in red and placeholder content is marked in green

add

URL: http:// <netscaler-ip-address> /nitro/v1/config/nshttpprofile

HTTP Method: POST

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Content-Type:application/json

Request Payload:


{"nshttpprofile":{
<b>      "name":<String_value>,
</b>      "dropinvalreqs":<String_value>,
      "markhttp09inval":<String_value>,
      "markconnreqinval":<String_value>,
      "marktracereqinval":<String_value>,
      "markrfc7230noncompliantinval":<String_value>,
      "markhttpheaderextrawserror":<String_value>,
      "cmponpush":<String_value>,
      "conmultiplex":<String_value>,
      "maxreusepool":<Double_value>,
      "dropextracrlf":<String_value>,
      "incomphdrdelay":<Double_value>,
      "websocket":<String_value>,
      "rtsptunnel":<String_value>,
      "reqtimeout":<Double_value>,
      "adpttimeout":<String_value>,
      "reqtimeoutaction":<String_value>,
      "dropextradata":<String_value>,
      "weblog":<String_value>,
      "clientiphdrexpr":<String_value>,
      "maxreq":<Double_value>,
      "persistentetag":<String_value>,
      "spdy":<String_value>,
      "http2":<String_value>,
      "http2direct":<String_value>,
      "http2strictcipher":<String_value>,
      "altsvc":<String_value>,
      "reusepooltimeout":<Double_value>,
      "maxheaderlen":<Double_value>,
      "minreusepool":<Double_value>,
      "http2maxheaderlistsize":<Double_value>,
      "http2maxframesize":<Double_value>,
      "http2maxconcurrentstreams":<Double_value>,
      "http2initialwindowsize":<Double_value>,
      "http2headertablesize":<Double_value>,
      "http2minseverconn":<Double_value>,
      "http2maxpingframespermin":<Double_value>,
      "http2maxsettingsframespermin":<Double_value>,
      "http2maxresetframespermin":<Double_value>,
      "http2maxemptyframespermin":<Double_value>,
      "apdexcltresptimethreshold":<Double_value>
}}

<!--NeedCopy-->

Response:

HTTP Status Code on Success: 201 Created

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

delete

URL: http:// <netscaler-ip-address> /nitro/v1/config/nshttpprofile/ name_value<String>

HTTP Method: DELETE

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Response:

HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

update

URL: http:// <netscaler-ip-address> /nitro/v1/config/nshttpprofile

HTTP Method: PUT

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Content-Type:application/json

Request Payload:


{"nshttpprofile":{
<b>      "name":<String_value>,
</b>      "dropinvalreqs":<String_value>,
      "markhttp09inval":<String_value>,
      "markconnreqinval":<String_value>,
      "marktracereqinval":<String_value>,
      "markrfc7230noncompliantinval":<String_value>,
      "markhttpheaderextrawserror":<String_value>,
      "cmponpush":<String_value>,
      "conmultiplex":<String_value>,
      "maxreusepool":<Double_value>,
      "dropextracrlf":<String_value>,
      "incomphdrdelay":<Double_value>,
      "websocket":<String_value>,
      "rtsptunnel":<String_value>,
      "reqtimeout":<Double_value>,
      "adpttimeout":<String_value>,
      "reqtimeoutaction":<String_value>,
      "dropextradata":<String_value>,
      "weblog":<String_value>,
      "clientiphdrexpr":<String_value>,
      "maxreq":<Double_value>,
      "persistentetag":<String_value>,
      "spdy":<String_value>,
      "http2":<String_value>,
      "http2direct":<String_value>,
      "http2strictcipher":<String_value>,
      "altsvc":<String_value>,
      "http2maxheaderlistsize":<Double_value>,
      "http2maxframesize":<Double_value>,
      "http2maxconcurrentstreams":<Double_value>,
      "http2initialwindowsize":<Double_value>,
      "http2headertablesize":<Double_value>,
      "http2minseverconn":<Double_value>,
      "http2maxpingframespermin":<Double_value>,
      "http2maxsettingsframespermin":<Double_value>,
      "http2maxresetframespermin":<Double_value>,
      "http2maxemptyframespermin":<Double_value>,
      "reusepooltimeout":<Double_value>,
      "maxheaderlen":<Double_value>,
      "minreusepool":<Double_value>,
      "apdexcltresptimethreshold":<Double_value>
}}

<!--NeedCopy-->

Response:

HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

unset

URL: http:// <netscaler-ip-address> /nitro/v1/config/nshttpprofile? action=unset

HTTP Method: POST

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Content-Type:application/json

Request Payload:


{"nshttpprofile":{
<b>      "name":<String_value>,
</b>      "dropinvalreqs":true,
      "markhttp09inval":true,
      "markconnreqinval":true,
      "marktracereqinval":true,
      "markrfc7230noncompliantinval":true,
      "markhttpheaderextrawserror":true,
      "cmponpush":true,
      "conmultiplex":true,
      "maxreusepool":true,
      "dropextracrlf":true,
      "incomphdrdelay":true,
      "websocket":true,
      "dropextradata":true,
      "clientiphdrexpr":true,
      "reqtimeout":true,
      "adpttimeout":true,
      "reqtimeoutaction":true,
      "weblog":true,
      "maxreq":true,
      "persistentetag":true,
      "spdy":true,
      "http2":true,
      "http2maxheaderlistsize":true,
      "http2maxframesize":true,
      "http2maxconcurrentstreams":true,
      "http2initialwindowsize":true,
      "http2headertablesize":true,
      "http2minseverconn":true,
      "http2maxpingframespermin":true,
      "http2maxsettingsframespermin":true,
      "http2maxresetframespermin":true,
      "http2maxemptyframespermin":true,
      "reusepooltimeout":true,
      "maxheaderlen":true,
      "rtsptunnel":true,
      "minreusepool":true,
      "apdexcltresptimethreshold":true,
      "http2direct":true,
      "http2strictcipher":true,
      "altsvc":true
}}

<!--NeedCopy-->

Response:

HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

get (all)

URL: http:// <netscaler-ip-address> /nitro/v1/config/nshttpprofile

Query-parameters:

attrs

http:// <netscaler-ip-address> /nitro/v1/config/nshttpprofile? attrs=property-name1,property-name2

Use this query parameter to specify the resource details that you want to retrieve.

filter

http:// <netscaler-ip-address> /nitro/v1/config/nshttpprofile? filter=property-name1:property-val1,property-name2:property-val2

Use this query-parameter to get the filtered set of nshttpprofile resources configured on NetScaler.Filtering can be done on any of the properties of the resource.

view

http:// <netscaler-ip-address> /nitro/v1/config/nshttpprofile? view=summary

Use this query-parameter to get the summary output of nshttpprofile resources configured on NetScaler.

Note: By default, the retrieved results are displayed in detail view (?view=detail).

pagination

http:// <netscaler-ip-address> /nitro/v1/config/nshttpprofile? pagesize=#no;pageno=#no

Use this query-parameter to get the nshttpprofile resources in chunks.

HTTP Method: GET

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Accept:application/json

Response:

HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

Response Header:

Content-Type:application/json

Response Payload:


{ "nshttpprofile": [ {
      "name":<String_value>,
      "dropinvalreqs":<String_value>,
      "markhttp09inval":<String_value>,
      "markconnreqinval":<String_value>,
      "marktracereqinval":<String_value>,
      "markrfc7230noncompliantinval":<String_value>,
      "markhttpheaderextrawserror":<String_value>,
      "cmponpush":<String_value>,
      "conmultiplex":<String_value>,
      "maxreusepool":<Double_value>,
      "websocket":<String_value>,
      "refcnt":<Double_value>,
      "dropextracrlf":<String_value>,
      "incomphdrdelay":<Double_value>,
      "reqtimeout":<Double_value>,
      "adpttimeout":<String_value>,
      "reqtimeoutaction":<String_value>,
      "dropextradata":<String_value>,
      "weblog":<String_value>,
      "clientiphdrexpr":<String_value>,
      "maxreq":<Double_value>,
      "persistentetag":<String_value>,
      "spdy":<String_value>,
      "http2":<String_value>,
      "http2direct":<String_value>,
      "http2strictcipher":<String_value>,
      "altsvc":<String_value>,
      "http2maxheaderlistsize":<Double_value>,
      "http2maxframesize":<Double_value>,
      "http2maxconcurrentstreams":<Double_value>,
      "http2initialwindowsize":<Double_value>,
      "http2headertablesize":<Double_value>,
      "http2minseverconn":<Double_value>,
      "http2maxpingframespermin":<Double_value>,
      "http2maxsettingsframespermin":<Double_value>,
      "http2maxresetframespermin":<Double_value>,
      "http2maxemptyframespermin":<Double_value>,
      "reusepooltimeout":<Double_value>,
      "maxheaderlen":<Double_value>,
      "rtsptunnel":<String_value>,
      "minreusepool":<Double_value>,
      "builtin":<String[]_value>,
      "feature":<String_value>,
      "apdexsvrresptimethreshold":<Double_value>,
      "apdexcltresptimethreshold":<Double_value>
}]}

<!--NeedCopy-->

get

URL: http:// <netscaler-ip-address> /nitro/v1/config/nshttpprofile/ name_value<String>

Query-parameters:

attrs

http:// <netscaler-ip-address> /nitro/v1/config/nshttpprofile/ name_value<String> ? attrs=property-name1,property-name2

Use this query parameter to specify the resource details that you want to retrieve.

view

http:// <netscaler-ip-address> /nitro/v1/config/nshttpprofile/ name_value<String> ? view=summary

Use this query-parameter to get the summary output of nshttpprofile resources configured on NetScaler.

Note: By default, the retrieved results are displayed in detail view (?view=detail).

HTTP Method: GET

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Accept:application/json

Response:

HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

Response Header:

Content-Type:application/json

Response Payload:


{  "nshttpprofile": [ {
      "name":<String_value>,
      "dropinvalreqs":<String_value>,
      "markhttp09inval":<String_value>,
      "markconnreqinval":<String_value>,
      "marktracereqinval":<String_value>,
      "markrfc7230noncompliantinval":<String_value>,
      "markhttpheaderextrawserror":<String_value>,
      "cmponpush":<String_value>,
      "conmultiplex":<String_value>,
      "maxreusepool":<Double_value>,
      "websocket":<String_value>,
      "refcnt":<Double_value>,
      "dropextracrlf":<String_value>,
      "incomphdrdelay":<Double_value>,
      "reqtimeout":<Double_value>,
      "adpttimeout":<String_value>,
      "reqtimeoutaction":<String_value>,
      "dropextradata":<String_value>,
      "weblog":<String_value>,
      "clientiphdrexpr":<String_value>,
      "maxreq":<Double_value>,
      "persistentetag":<String_value>,
      "spdy":<String_value>,
      "http2":<String_value>,
      "http2direct":<String_value>,
      "http2strictcipher":<String_value>,
      "altsvc":<String_value>,
      "http2maxheaderlistsize":<Double_value>,
      "http2maxframesize":<Double_value>,
      "http2maxconcurrentstreams":<Double_value>,
      "http2initialwindowsize":<Double_value>,
      "http2headertablesize":<Double_value>,
      "http2minseverconn":<Double_value>,
      "http2maxpingframespermin":<Double_value>,
      "http2maxsettingsframespermin":<Double_value>,
      "http2maxresetframespermin":<Double_value>,
      "http2maxemptyframespermin":<Double_value>,
      "reusepooltimeout":<Double_value>,
      "maxheaderlen":<Double_value>,
      "rtsptunnel":<String_value>,
      "minreusepool":<Double_value>,
      "builtin":<String[]_value>,
      "feature":<String_value>,
      "apdexsvrresptimethreshold":<Double_value>,
      "apdexcltresptimethreshold":<Double_value>
}]}

<!--NeedCopy-->

count

URL: http:// <netscaler-ip-address> /nitro/v1/config/nshttpprofile? count=yes

HTTP Method: GET

Request Headers:

Cookie:NITRO_AUTH_TOKEN= <tokenvalue>

Accept:application/json

Response:

HTTP Status Code on Success: 200 OK

HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

Response Header:

Content-Type:application/json

Response Payload:


{ "nshttpprofile": [ { "__count": "#no"} ] }

<!--NeedCopy-->
nshttpprofile