HTTP
On completion of HTTP Request or HTTP Response, the uplink or downlink data packets are offloaded to VPP in the following cases:
-
Content-Length—Volume-based offloading is supported for methods such as GET and POST. The HTTP flow with chunk-encoding data transfer mechanism does not get offloaded irrespective of the method defined in HTTP. If the stream is offloaded based on content-length, then the stream on the other end will also get offloaded until the former is not onloaded.
-
CONNECT Method—The method where both uplink and downlink streams are offloaded after the flow is upgraded to CONNECT.
-
WebSocket Method—After the flow is classified as WebSocket protocol, both uplink and downlink streams are offloaded.
-
The streams are onloaded back in either of the following cases:
-
FIN packet received
-
Content-length is breached
-
PDN update
-
Header Parsing
Only the header fields defined in ruledefs, which are included in rulebase, are parsed. For x-header features, redirection is configured with dependencies on some HTTP header fields.
HTTP Charging
-
Complete packets are charged.
-
Partial packets are charged on completion. Packet completing the partial packet is also charged.
-
Concatenated packets are charged.
-
Delay Charging is enabled – Control packets are charged against application-based rule, depending on delay charging CLI configuration.
-
Response-based charging is enabled – After HTTP request's response is received, then the HTTP request is charged against response rule's CA.
X-Header Parsing and Rule-Matching
Ruledefs with x-header rule-lines are parsed and matched.
WebSocket
Involves charging of subsequent packets of the flow after HTTP GET request as per the HTTP request, if the HTTP flow is upgraded to be a websocket flow.
Response-based TRM
Transactional Rule Matching is engaged after HTTP response packet is received.
X-Header Insertion
X-header Insertion is supported in HTTP Requests.
For more information, see X-Header Insertion and Encryption.