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.

Note:

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:

  1. SSL

  2. Rate Limiting DDOS

  3. WAF

  4. DataScript Auth Event

  5. Client Authentication and Authorization

  6. Security Policy

  7. Request Policy

  8. HTTP Application Profile Attributes

  9. DataScript

  10. Caching

  11. Server Selection & Persistence

  12. Request Queuing

  13. Connection Switching/ Connection Multiplexing

  14. Server SSL

HTTP Body Processing

HTTP body processing happens through the following layers:

  1. SSL

  2. WAF

  3. DataScript

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

  1. SSL

  2. Cache to Client

  3. Compression

  4. Content Rewrite

  5. Response Policy

  6. HTTP Profile Attributes

  7. DataScript

  8. WAF

  9. Cache from Server

  10. Server SSL

HTTP Body Processing

The following are the processes involved in HTTP body processing:

  1. SSL

  2. Cache to client

  3. Compression

  4. Content rewrite

  5. DataScript

  6. WAF

  7. Cache from server

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