Une attaque par HTTP flood est basée sur les requêtes GET ou POST du client. Le client, c’est-à-dire le navigateur qui appelle la page Web, envoie une de ces demandes, le serveur traite la demande et renvoie le résultat au client.
La requête GET est utilisée pour récupérer des contenus statiques tels que des images ou des blocs de texte. Une demande POST est utilisée lorsque l’accès à des ressources dynamiques est requis. En termes simples, la méthode GET reçoit des données du serveur et la méthode POST envoie des données au serveur. Les deux méthodes peuvent être utilisées dans l’attaque, mais la méthode POST est davantage utilisée car elle implique un traitement plus complexe pour le serveur.
L’attaque par HTTP flood repose sur le fait que de nombreuses demandes de ce type sont faites simultanément sur une longue période de temps. Un botnet (ou « réseau de machines zombies ») est généralement utilisé pour augmenter le volume des demandes. L’attaque par HTTP flood est conçue de sorte que le serveur alloue la plus grande ressource possible à chaque requête. Dans une situation normale, cela est voulu, car le serveur ne reçoit pas des milliers ou des centaines de milliers de demandes par minute. Compte tenu du nombre élevé de demandes et d’appels, l’attaquant s’attend toutefois à ce que le serveur soit surchargé par les demandes à forte intensité de traitement et à ce que la page ou l’application Web ne s’affiche plus correctement.