Création serveur web en c.
Fermé
ben-SUPINFO
Messages postés
1
Date d'inscription
jeudi 25 janvier 2018
Statut
Membre
Dernière intervention
25 janvier 2018
-
25 janv. 2018 à 14:14
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 26 janv. 2018 à 13:34
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 26 janv. 2018 à 13:34
A voir également:
- Création serveur web en c.
- Création site web - Guide
- Web office - Guide
- Creation compte gmail - Guide
- Création compte google - Guide
- Changer serveur dns - Guide
2 réponses
Fallentree
Messages postés
2309
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
22 juillet 2019
209
25 janv. 2018 à 14:20
25 janv. 2018 à 14:20
Moi je dirais des sockets
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 094
Modifié le 26 janv. 2018 à 14:09
Modifié le 26 janv. 2018 à 14:09
Salut ben-SUPINFO,
Comme tu dis que vous avez déjà fait "durant les cours un serveur TCP/IPV4 qui recevait les messages d'un client", je suppose que tu sais ce que sont les sockets et comment les utiliser pour établir une connexion TCP et communiquer.
Sur tes questions, le mieux, si tu as des doutes, c'est de demander des précisions à l'enseignant (après avoir fait un minimum de recherches et de travail). Cependant, voilà quelques idées, qui sont des réponses possibles à tes questions.
dois je créer un client ?
Si on te demande de créer un serveur, on ne te demande pas de créer un client. Ton client pourra être n'importe quel navigateur, ou même telnet
qu'est ce que le client doit envoyer au serveur
Dans le cas du navigateur, en supposant que ton serveur tourne sur la même machine et écoute sur le port 8080, tu vas saisir http://localhost:8080 et le navigateur va s'occuper de composer la requête (et d'interpréter ce qu'il va recevoir en réponse).
Avec telnet, tu pourras saisir la requête brute et voir la réponse brute, ce qui te sera utile pour déboguer.
qu'est ce que le serveur reçoit et renvoi ?
Pour savoir cela, tu dois potasser la RFC 7230 et les RFC liées.
Tu as un exemple en Section 2.1, que je reproduis ici :
La RFC 7231 (liée à 7230, parmi d'autres) te servira aussi.
Tu devras renvoyer un code de réponse en première ligne de la réponse. Compte tenu des limitations de ton projet, tu peux probablement te contenter de "200 OK" (en réponse à un
Ton serveur peut même coder en dur le CV à renvoyer (en HTML avec le Content-Type qui va bien, pour faire joli sur le navigateur), puisque c'est la seule chose qu'il est sensé devoir faire si on interprète tes instructions comme signifiant qu'on ne te demande pas de servir le contenu d'un fichier contenant ton CV (ni ce fichier lui-même) :-)
Dal
Comme tu dis que vous avez déjà fait "durant les cours un serveur TCP/IPV4 qui recevait les messages d'un client", je suppose que tu sais ce que sont les sockets et comment les utiliser pour établir une connexion TCP et communiquer.
Sur tes questions, le mieux, si tu as des doutes, c'est de demander des précisions à l'enseignant (après avoir fait un minimum de recherches et de travail). Cependant, voilà quelques idées, qui sont des réponses possibles à tes questions.
dois je créer un client ?
Si on te demande de créer un serveur, on ne te demande pas de créer un client. Ton client pourra être n'importe quel navigateur, ou même telnet
qu'est ce que le client doit envoyer au serveur
Dans le cas du navigateur, en supposant que ton serveur tourne sur la même machine et écoute sur le port 8080, tu vas saisir http://localhost:8080 et le navigateur va s'occuper de composer la requête (et d'interpréter ce qu'il va recevoir en réponse).
Avec telnet, tu pourras saisir la requête brute et voir la réponse brute, ce qui te sera utile pour déboguer.
qu'est ce que le serveur reçoit et renvoi ?
Pour savoir cela, tu dois potasser la RFC 7230 et les RFC liées.
Tu as un exemple en Section 2.1, que je reproduis ici :
The following example illustrates a typical message exchange for a
GET request (Section 4.3.1 of [RFC7231]) on the URI
"http://www.example.com/hello.txt":
Client request:
GET /hello.txt HTTP/1.1
User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
Host: www.example.com
Accept-Language: en, mi
Server response:
HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: "34aa387-d-1568eb00"
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding
Content-Type: text/plain
Hello World! My payload includes a trailing CRLF.
La RFC 7231 (liée à 7230, parmi d'autres) te servira aussi.
Tu devras renvoyer un code de réponse en première ligne de la réponse. Compte tenu des limitations de ton projet, tu peux probablement te contenter de "200 OK" (en réponse à un
GET / HTTP/1.1) et de "501 Not Implemented" (dans tous les autres cas).
Ton serveur peut même coder en dur le CV à renvoyer (en HTML avec le Content-Type qui va bien, pour faire joli sur le navigateur), puisque c'est la seule chose qu'il est sensé devoir faire si on interprète tes instructions comme signifiant qu'on ne te demande pas de servir le contenu d'un fichier contenant ton CV (ni ce fichier lui-même) :-)
Dal
25 janv. 2018 à 14:27