Je dois développer un serveur proxy qui fonctionne uniquement avec HTTP 1.0 sous Linux et par c. J'ai besoin d'un indice pour commencer à développer.Comment écrire un serveur proxy http1.0 dans c dans Linux?
4
A
Répondre
19
- Je suppose que vous êtes confiant dans l'utilisation de Linux et la langue c (aucune indication pour que, d'autre ne commence pas par le développement d'un proxy)
- Lire et comprendre les RFC 1945 HTTP/1.0 (attention à la mention spécifique de proxy)
- déterminer quel type de proxy que vous voulez (web/cache/filtre de contenu/anonymisation/transparent/non transparent/arrière/passerelle/tunnel/...)
- Commencer à développer le serveur
Basi c étapes
- Ouvrir le port
- Ecouter sur le port
- Obtenez toutes les demandes envoyées par le client à ce port (peut-être faire la chose multithread pour être en mesure de traiter plus de 1 demande à la fois)
- déterminer si elle est un HTTP valide 1.0 demande
- Extrait les composants de demande
- Reconstruire la demande en fonction de ce type de proxy que vous êtes
- Envoyer la nouvelle demande
- Obtenez la réponse
- Envoyer la réponse au client
6
Comment créer un serveur proxy:
- Ouvrir un port pour écouter sur
- Catch toutes les demandes entrantes sur ce rapport
- Déterminer l'adresse Web demandée
- Ouvrir une connexion à l'hôte Envoyer la réponse au client demandeur
En outre: Utilisez des threads pour autoriser plusieurs demandes au serveur.
+0
pour une meilleure performance (ou si vous voulez un certain défi) essayez d'utiliser un threadpool au lieu d'un tas de fils http: // fr .wikipedia.org/wiki/Thread_pool_pattern – svarog
Questions connexes
- 1. Écrire un serveur proxy dans .NET (C# ou VB.NET)?
- 2. Internet Proxy serveur dans C#
- 3. écrire un démon C/C++ (Linux)
- 4. comment ajouter un proxy dans C#
- 5. Écrire un C# client/serveur
- 6. Performances C# pour serveur proxy (vs C++)
- 7. Comment écrire directement dans le framebuffer linux?
- 8. Serveur proxy HTTP en C#
- 9. C++ écrire dans un fichier
- 10. Comment développer un serveur proxy avec DotNet?
- 11. C# Socket: connecter au serveur via un serveur proxy
- 12. Comment écrire un DataModule à distance pour fonctionner sur un serveur Linux?
- 13. écrire un serveur de multiplexage dans clojure?
- 14. Comment puis-je écrire un simple proxy HTTP en Perl?
- 15. Comment connecter un serveur proxy factice?
- 16. Linux & C-Programming: Comment écrire du texte encodé en utf-8 dans un fichier?
- 17. Comment écrire "C++" dans LaTeX
- 18. Delphi DataSap dans le serveur proxy HTTP
- 19. Comment ouvrir le socket via un serveur proxy dans .Net C#?
- 20. Comment écrire une fonction C dans un code C#
- 21. Serveur proxy HTTP
- 22. Comment écrire un script bash pour obtenir l'heure sur un autre serveur Linux?
- 23. écrire dans un fichier en c
- 24. Comment commencer à écrire un processus démon dans un système d'exploitation de type Unix, comme Linux?
- 25. Déboguer un serveur SMTP avec un proxy
- 26. Proxy spécifique non serveur?
- 27. Écrire dans un fichier sur un serveur avec jQuery?
- 28. Écrire un code multi-serveur
- 29. Configuration d'un serveur proxy
- 30. Écrire un objet .NET dans C?
+1 pour être tolérant et au moins essayer de fournir une réponse utile. –
"Envoyer la réponse au client" comment? avec une table? Quelles informations doivent être sauvegardées? – SjB
la réponse est quel que soit le site Web retourné au proxy après avoir accepté la requête http (devrait être le html de la page web ou un message du serveur). – svarog