Many DataScript capabilities can be performed through policies or standard features. It is important to understand the order of precedence, as the execution priority dictates the order that various features, policies, and DataScripts occur. For example, if a policy decides to discard a connection while a DataScript decides to redirect the client, the order of execution is critical to ensure that the intended behavior occurs.
Responses generated by DataScripts or policies, as opposed to responses generated by a server, are not evaluated by DataScripts. For example, an HTTP response generated by the HTTP Request Policy cannot be inspected or modified by a DataScript.
More than one DataScript can be applied to a single virtual service. The order of the DataScripts is important, as DataScripts with the same event are executed in the order established. When adding DataScripts through the UI, use the up and down arrows next to the DataScript to reorder. The DataScript at the top of the list executes first.
Client Request to Server
The Avi Load Balancer processes client-to-back-end-server traffic in the following order of precedence.
Individual features can be inserted at different points based on the functionality. For example, even though connection throttling is defined as part of an HTTP application profile, if turned on, connection throttling would occur during step 8 of the client request and not in step 5.
HTTP Header Processing
The following are the levels involved in HTTP header processing:
SSL
Rate Limiting DDOS
WAF
DataScript Auth Event
Client Authentication and Authorization
Security Policy
Request Policy
HTTP Application Profile Attributes
DataScript
Caching
Server Selection & Persistence
Request Queuing
Connection Switching/ Connection Multiplexing
Server SSL
HTTP Body Processing
HTTP body processing happens through the following layers:
SSL
WAF
DataScript
Server SSL
Server Response to Client
The Avi Load Balancer processes back-end-server-to-client traffic in the following order of precedence:
HTTP Header Processing
The HTTP header processing involves the following layers:
SSL
Cache to Client
Compression
Content Rewrite
Response Policy
HTTP Profile Attributes
DataScript
WAF
Cache from Server
Server SSL
HTTP Body Processing
The following are the processes involved in HTTP body processing:
SSL
Cache to client
Compression
Content rewrite
DataScript
WAF
Cache from server
Server SSL
Multiple DataScripts
More than one DataScript can be applied to a single virtual service. The order of the DataScripts is important, as DataScripts with the same event are executed in the order set. When adding DataScripts through the UI, use the up and down arrows next to the DataScript to reorder. The DataScript at the top of the list executes first.