Transférer de gros fichiers en utilisant HTTP / POST

Comment puis-je télécharger un fichier (très) volumineux avec le protocole HTTP en C (ou C ++)?

Je sais que ce n’est pas la bonne façon de télécharger d’énormes fichiers, mais ce n’est pas la question.

J’ai déjà vu des sources sur les transferts POST de fichiers en C ++, mais j’ai remarqué qu’à chaque fois, le fichier binary TOUT était inclus dans la séquence POST (entre “–boundary”).

Donc, avant d’approfondir en profondeur dans le code source de Webkit / Gecko, est-ce que quelqu’un sait comment ils font?

    Vous pouvez utiliser l’en-tête “Content-Range” dans la requête HTTP POST pour télécharger une tranche d’un fichier volumineux.

     POST http://[server_ip]:80/upload?fn=xx.dat HTTP/1.1 Content-Range: bytes=0-4095 Content-Type: application/octet-stream Content-Length: 4096 ...... 

    Vous pouvez utiliser la méthode de segmentation pour envoyer les données en morceaux. Cela vous permettra d’envoyer / recevoir des données à plus grande échelle. Reportez-vous à la RFC 2616 pour savoir comment fonctionne la segmentation.