a noter que 'put' c'est maintenant 'post' (nspeed est maintenant en phase avec les méthodes du protocol http)
PUT et POST sont deux méthodes HTTP différentes.
Avec bouygues.testdebit.info, le test d'upload en HTTP/1.1 exploite des limitations :
- Avec PUT, le serveur répond "100 Continue", on envoie les données, et à la fin il répond "405 Method Not Allowed".
- Avec POST, le serveur répond "100 Continue", on envoie les données, et à la fin il répond par la page HTML.
En HTTP/2 le serveur répond en parallèle, puis termine l'échange.
Et même en essayant de tricher :
curl -vvv --http2-prior-knowledge -X POST -F "filecontent=@/dev/zero" -o /dev/null http://bouygues.testdebit.info/1G.iso
Curl envoie la taille de la window HTTP/2, soit 64Ko, puis il s'arrête et il n'y a plus que le download qui continue.
Sinon, j'avais déjà relevé le comportement peu intuitif de la commande "nspeed server" sans l'option -a, ou avec une interface.
Le readme dit que par défaut ça utilise 127.0.0.1, mais ça dépend des machines :
- sur WSL j'ai 127.0.0.1 par défaut, et "nspeed server -6" échoue (mais "nspeed server -a ::1" fonctionne)
- sous Linux et Windows, j'ai ::1 par défaut (IPv6 seulement), et "nspeed server -4" fonctionne pour avoir l'IPv4
De même "-a lo" ou toute autre interface semble choisir IPV6.
Certes on peut :
- utiliser -a "" ou -a :: pour écouter sur toutes les interfaces en IPv4 et IPv6.
- donner deux commandes : "nspeed server -a enp5s0 -4 server -a enp5s0 -6" ou "nspeed server -a 127.0.0.1 server -a ::1"
De même -