Il traffico HTTP / 1.x consiste in una singola richiesta seguita da una singola risposta all'interno di una connessione TCP o TLS. Possono esserci più richieste e risposte corrispondenti all'interno della stessa connessione, ma in genere una nuova richiesta viene inviata solo dopo aver ricevuto la risposta completa. Tenendo presente questo, è possibile eseguire un'analisi del flusso, ossia esaminare i record di tipo application_data e analizzare in quale direzione vengono inviati (ad esempio richiesta o risposta) e quanti byte trasportano. Da ciò è possibile distinguere facilmente richieste e risposte anche se il traffico è criptato. Otterrete anche la dimensione delle richieste e delle risposte, sebbene non il numero esatto di byte ma un valore di chiusura.
Sebbene questo descriva il tipico traffico HTTP / 1.x, può esserci un comportamento meno comune. Alcuni client usano la pipeline HTTP dove la richiesta è già inviata prima che la risposta precedente sia ricevuta. A causa dei limiti di questo messaggio (vale a dire fine della richiesta e della risposta) sono più difficili o impossibili da rilevare. Questo vale anche per il traffico HTTP / 2 in cui più richieste e risposte sono interlacciate all'interno della stessa connessione TLS. E poi ci sono Websocket che forniscono uno scambio di dati bidirezionale dopo la coppia iniziale di richiesta e risposta. A seconda del tipo di scambio di dati, questo potrebbe sembrare simile a richiesta e risposta o essere completamente diverso.