Code ou tuto pour un mini-mini serveur web ?

Code ou tuto pour un mini-mini serveur web ? - Java - Programmation

Marsh Posté le 07-04-2003 à 00:09:28    

Dans une appli serveur, je cherche a fournir une petite porte d'entree HTTP qui permettrait de connaitre des infos lisibles sur un browser web.  
 
Par exemple, je voudrais faire comme pour ICQ : on se connecte au serveur ICQ avec une URL particuliere, qui renvoie juste un logo pour dire "offline" ou "online".
 
Ce qu'il me faudrait, c'est (un tuto vers) un bout de code qui interprete une requete HTTP rentrante, qui decode un parametre de l'url (userid a afficher), et qui renvoie en HTTP une gif qui signale l'etat de l'utilsateur. Bref, une version super basique d'un serveur web, et particulierement le decodage/codage de requetes HTTP (tout ce qui est reseau pur, c'est ok).  
 
En cherchant sur Google j'ai trouve tout un tas de trucs, mais le plus souvent c'est des serveurs complets, des vraies usines a gaz par rapport a ce que je veux en faire ...


Message édité par Gonzoide le 07-04-2003 à 10:22:20
Reply

Marsh Posté le 07-04-2003 à 00:09:28   

Reply

Marsh Posté le 07-04-2003 à 08:30:47    

ben t'as qu'à te le faire à la main ... c'est pas très complexe ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 07-04-2003 à 09:28:05    

benou a écrit :

ben t'as qu'à te le faire à la main ... c'est pas très complexe ...


C'est pas une question de complexite, c'est juste que j'ai pas le temps de faire un truc qui lit une requete HTTP et qui en cree une correcte, et de debugger le truc (parce que j'ai jamais bosse avec HTTP, d'habitude je laisse ces taches bassement materielles a mon application server).
 
PS : merci pour ta reponse constructive quand meme :/

Reply

Marsh Posté le 07-04-2003 à 10:06:59    

Gonzoïde > on a pas l'habitude de donner des bouts de code tout fait sur le forum. Il s'agit plutot de répondre, soit à un problème précis, soit un problème plus global. Mais bon là c'est un peu du genre je veux faire tel truc -> code.
 
 
->   :non:  
 
le W3C a fait un web server en Java et open source qui s'appelle Jigsaw. Va faire un tour sur leur site et prends les sources. La soltion s'y trouve.
 
a+


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 07-04-2003 à 10:19:34    

DarkLord a écrit :

Gonzoïde > on a pas l'habitude de donner des bouts de code tout fait sur le forum. Il s'agit plutot de répondre, soit à un problème précis, soit un problème plus global. Mais bon là c'est un peu du genre je veux faire tel truc -> code.


 
Je me contenterais d'un pointeur vers un tuto, c'est juste que j'ai pas envie de me taper toute la spec HTTP pour un (tout) petit probleme bien delimite. Sachant que c'est pas pour torcher un TP mais bien pour une appli professionelle.
 

DarkLord a écrit :

le W3C a fait un web server en Java et open source qui s'appelle Jigsaw. Va faire un tour sur leur site et prends les sources. La soltion s'y trouve.  


 
Ben je sais deja ca, mais le probleme c'est que 99% des fonctionnalites de jigsaw ne me servent a rien dans ce cas tres precis, une fois de plus ca me branche pas de me taper des milliers de lignes de code pour une toute petite fonction. Pareil pour les specs HTTP.
 
Ceci dit, c'est la qu'on voit qu'une politique arbitraire "on donne pas de bout de code" avoue ses limites ... le "t'as qu'a downloader ca, c'est open source" ou "t'as qu'a lire les specs du W3C" qu'on rabache a tout bout de champ, c'est precisement ce que parfois on veut eviter, non pas par paresse mais par manque de temps. A plus forte raison quand il est possible que quelqu'un connaisse deja la reponse a ce petit probleme.
 
PS : J'ai edite pour remplacer "code" par "tuto", mais la questionreste entiere :)


Message édité par Gonzoide le 07-04-2003 à 10:22:52
Reply

Marsh Posté le 07-04-2003 à 10:26:12    

Bin le deal justement c'est que tu n'as absolument pas besoin de connaitre HTTP pour faire ce que tu veux faire :o
 
Pq ne pas faire une servlet au fait?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 07-04-2003 à 10:40:20    

DarkLord a écrit :

Bin le deal justement c'est que tu n'as absolument pas besoin de connaitre HTTP pour faire ce que tu veux faire :o
 
Pq ne pas faire une servlet au fait?  


 
Ben parce que justement, pour la premiere fois depuis longtemps je bosse pas sur un web/application server, mais sur une vraie appli Java, qui n'est pas du tout liee au monde web.  
 
Donc faut bravement que j'ouvre une socket, etc etc (tout ca je sais faire), analyser le paquet HTTP qu'un browser m'envoie (pour extraire l'id de l'utilisateur), et construire une reponse en HTTP que le browser comprendra (a savoir : juste une image). Le probleme c'est qu'en bossant depuis des annees sur WebLogic, ben j'ai jamais eu a me soucier de la tronche des requetes HTTP.

Reply

Marsh Posté le 07-04-2003 à 10:52:18    

Gonzoïde a écrit :


 
Ben parce que justement, pour la premiere fois depuis longtemps je bosse pas sur un web/application server, mais sur une vraie appli Java, qui n'est pas du tout liee au monde web.  
 
Donc faut bravement que j'ouvre une socket, etc etc (tout ca je sais faire), analyser le paquet HTTP qu'un browser m'envoie (pour extraire l'id de l'utilisateur), et construire une reponse en HTTP que le browser comprendra (a savoir : juste une image). Le probleme c'est qu'en bossant depuis des annees sur WebLogic, ben j'ai jamais eu a me soucier de la tronche des requetes HTTP.
 


 
attends tu dois faire une appli Java non-web qui répond à du HTTP? C'est démentiel ce truc ... Tu peux pas le coupler a un servlet container comme tomcat par exemple?
 
Parce que refaire une socket qui lit / parse / répond etc ca va etre loin d'etre facile :o et y aura pas de tuto pour t'expliquer un truc pareil il me semble :/


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 07-04-2003 à 11:07:57    

DarkLord a écrit :


attends tu dois faire une appli Java non-web qui répond à du HTTP? C'est démentiel ce truc ... Tu peux pas le coupler a un servlet container comme tomcat par exemple?


 
Ben c'est pas si dementiel que ca, vu que je veux pas reecrire un serveur web (heureusement), mais repondre a un type tres precis de requetes en voyeant tout le temps le meme type de reponse. Et comme l'appli est deja ecrite et qu'il faut un minimum de modifs, utiliser un servlet container y'a pas moyen. Faut que je me paluche la requete HTTP.  
 

DarkLord a écrit :


Parce que refaire une socket qui lit / parse / répond etc ca va etre loin d'etre facile :o


 
D'ou ma question :D
 
En fait ce qui me suffirait c'est des dumps de :  
- qu'est ce qui passe sur le reseau quand un browser demande par exemple: http://monserveur.fr/check_user?userid=toto
- qu'est ce qui passe sur le reseau quand un serveur repond a une requete HTTP en ne revoyant qu'un JPG.
 
Description theorique ou exemple pratique, ca devrait aller ... comment choper ca ?


Message édité par Gonzoide le 07-04-2003 à 11:16:54
Reply

Marsh Posté le 07-04-2003 à 15:58:33    

DarkLord a écrit :


Parce que refaire une socket qui lit / parse / répond etc ca va etre loin d'etre facile :o  


bha ...
si c'est un serveur web vraiment basique, c'est pas bien complexe ...

Reply

Marsh Posté le 07-04-2003 à 15:58:33   

Reply

Marsh Posté le 07-04-2003 à 18:42:05    

Gonzoïde a écrit :


 
Ben c'est pas si dementiel que ca, vu que je veux pas reecrire un serveur web (heureusement), mais repondre a un type tres precis de requetes en voyeant tout le temps le meme type de reponse. Et comme l'appli est deja ecrite et qu'il faut un minimum de modifs, utiliser un servlet container y'a pas moyen. Faut que je me paluche la requete HTTP.  

ben en meme temps, faire une servlet qui appelle ton "appli" ça va faire 15 lignes maxi hein...
et ce que tu veux faire, c'est bel et bien un serveur web. il ne gerera qu'un content-type mais il devra le gerer malgré tout donc à mon avis... le content-type c'est jamais qu'une ligne de texte dans la réponse qui indique au browser de quoi il s'agit.
'fin bon...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 07-04-2003 à 18:50:00    

C'est pas du Java, mais le C# a une syntaxe suffisament proche du Java pour que tu puisses y trouver la réponse.
 
http://www.asp.net/Projects/Cassin [...] =0&tabid=1
 
Par contre, avec .NET, il y a des classes toutes faites pour faire des requêtes HTTP et des réponses HTTP, reste à espérer que cet exemple ne les utilise pas. :sweat:

Reply

Marsh Posté le 08-04-2003 à 08:40:26    

the real moins moins a écrit :

ben en meme temps, faire une servlet qui appelle ton "appli" ça va faire 15 lignes maxi hein...
et ce que tu veux faire, c'est bel et bien un serveur web. il ne gerera qu'un content-type mais il devra le gerer malgré tout donc à mon avis... le content-type c'est jamais qu'une ligne de texte dans la réponse qui indique au browser de quoi il s'agit.
'fin bon...


 
c'est exactement mon avis :o  
 
:jap:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 08-04-2003 à 08:46:10    

DarkLord a écrit :


c'est exactement mon avis :o  
:jap:


bha ouais mais ca doit pas êtres facile d'intégrer un truc du style tomcat dans una appli existante ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 08-04-2003 à 10:13:08    

RFC HTML ?  :heink:

Reply

Marsh Posté le 08-04-2003 à 10:16:46    

the real moins moins a écrit :

et ce que tu veux faire, c'est bel et bien un serveur web. il ne gerera qu'un content-type mais il devra le gerer malgré tout donc à mon avis... le content-type c'est jamais qu'une ligne de texte dans la réponse qui indique au browser de quoi il s'agit.


Tout a fait d'accord, c'est bien un serveur web mais rien que "content-type" c'est du chinois pour moi ...
 
[EDIT] Je vais essayer avec un sniffer HTTP en demandant une JPG a un site quelconque, histoire de voir ce que le client envoie et recoit en retour ...


Message édité par Gonzoide le 08-04-2003 à 10:24:19
Reply

Marsh Posté le 08-04-2003 à 10:17:05    

MagicBuzz a écrit :

C'est pas du Java, mais le C# a une syntaxe suffisament proche du Java pour que tu puisses y trouver la réponse.
 
http://www.asp.net/Projects/Cassin [...] =0&tabid=1
 
Par contre, avec .NET, il y a des classes toutes faites pour faire des requêtes HTTP et des réponses HTTP, reste à espérer que cet exemple ne les utilise pas. :sweat:


Merci :jap: je vais jeter un oeil la-dessus.

Reply

Marsh Posté le 08-04-2003 à 10:33:23    

Gonzoïde a écrit :


Tout a fait d'accord, c'est bien un serveur web mais rien que "content-type" c'est du chinois pour moi ...
 
[EDIT] Je vais essayer avec un sniffer HTTP en demandant une JPG a un site quelconque, histoire de voir ce que le client envoie et recoit en retour ...


 
RFC HTML !  
 
 :sarcastic:

Reply

Marsh Posté le 08-04-2003 à 11:53:32    

benou a écrit :


bha ouais mais ca doit pas êtres facile d'intégrer un truc du style tomcat dans una appli existante ...  

en l'occurence, ça doit etre l'inverse, intégrer un appel a une api d'appli dans une servlet...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 08-04-2003 à 11:54:20    

Gonzoïde a écrit :


Tout a fait d'accord, c'est bien un serveur web mais rien que "content-type" c'est du chinois pour moi ...
 
[EDIT] Je vais essayer avec un sniffer HTTP en demandant une JPG a un site quelconque, histoire de voir ce que le client envoie et recoit en retour ...

ben, content-type tu devras le definir :)
justement si tu veux pas t'emmerder avec ça, une petite servlet et hop.
il me semble qu'il existe des moteurs de servlets plus leger (et moins complets) que tomcat


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 08-04-2003 à 11:55:05    

Petoulachi a écrit :


 
RFC HTML !  
 
 :sarcastic:  

toi je crois que tu ferais mieux de l'écraser avant que tout le forum te jette des cailloux :lol:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 08-04-2003 à 11:56:55    

the real moins moins a écrit :

toi je crois que tu ferais mieux de l'écraser avant que tout le forum te jette des cailloux :lol:


 :??:

Reply

Marsh Posté le 08-04-2003 à 11:57:21    

the real moins moins a écrit :

toi je crois que tu ferais mieux de l'écraser avant que tout le forum te jette des cailloux :lol:


je peux commencer, dis ? dis ?
 
haaaaaaaaa, merci :jap:
 
[:antp]

Reply

Marsh Posté le 08-04-2003 à 11:57:44    

gonzoide >> peut etre que ceci t'interessera:
http://www.acme.com/java/software/ [...] Serve.html


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 08-04-2003 à 11:58:12    


bah oui... dire des conneries, ok, mais les répeter avec des sarcasmes, c'est pas super malin  [:sinclaire]

Reply

Marsh Posté le 08-04-2003 à 11:58:15    

Petoulachi a écrit :


 
RFC HTML !  
 
 :sarcastic:  


 
Si t'avais suivi tu te rendrais compte qu'on parle de HTTP, pas de HTML ... j'avais aussi precise pour les eventuels boulets que si possible je voulais pas me taper les specs de l'integralite d'un protocole pour une fonction aussi triviale :sarcastic:

Reply

Marsh Posté le 08-04-2003 à 11:58:49    

t'as pas l'impression de confondre deux trucs qui, a part les 2 premieres lettres, n'ont pas grand chose en commun?
 
en plus je serais curieux de voir une RFC sur l'html tiens  [:pepe le putois]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 08-04-2003 à 11:59:21    

Reply

Marsh Posté le 08-04-2003 à 13:00:18    

the real moins moins a écrit :

en l'occurence, ça doit etre l'inverse, intégrer un appel a une api d'appli dans une servlet...


ouais mais tu te rend comptes des impactes que ca a sur son projet ???

Reply

Marsh Posté le 08-04-2003 à 13:01:23    

benou a écrit :


ouais mais tu te rend comptes des impactes que ca a sur son projet ???  

créer une servlet de 10 lignes?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 08-04-2003 à 13:05:01    

En fait je crois qu'avec le sniffer HTTP je vais faire une requete similaire sur un serveur, voir ce que je lui envoie, extraire de ca le userid, et revoyer une JPG avec un en-tete HTTP hardcode comme un bourrin. Le tout dans un beau socket, 10 lignes de code, pas de lib externe et voilou :)

Reply

Marsh Posté le 08-04-2003 à 13:41:20    

Gonzoïde a écrit :


 
Si t'avais suivi tu te rendrais compte qu'on parle de HTTP, pas de HTML ... j'avais aussi precise pour les eventuels boulets que si possible je voulais pas me taper les specs de l'integralite d'un protocole pour une fonction aussi triviale :sarcastic:


oups pardon, j'ai foutu html au lieu de http.
je suis vraiment navré vous les grands pontes de la programmation...
 
Bon bah c'est tres con, j'en ai fait un de serveur web en java (pour tester les multi thread, les join() et le system Hook) qui justement recevai et envoyer un ptit truc a la con au navigateur. J'me l'garde, t'as qu'a lire la rfc HTTP comme je l'avais fait.
 
A bon entendeur, salut.

Reply

Marsh Posté le 08-04-2003 à 13:47:21    

[:rofl]      [:pepe le putois]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 08-04-2003 à 13:49:06    

Petoulachi a écrit :


oups pardon, j'ai foutu html au lieu de http.
je suis vraiment navré vous les grands pontes de la programmation...
 
Bon bah c'est tres con, j'en ai fait un de serveur web en java (pour tester les multi thread, les join() et le system Hook) qui justement recevai et envoyer un ptit truc a la con au navigateur. J'me l'garde, t'as qu'a lire la rfc HTTP comme je l'avais fait.
 
A bon entendeur, salut.


 
1/ URL?
2/ Si c'est vrai tu n'as rien à envier au pontes de la programmation comme tu dis :sarcastic:
 
Y a qqch de pas cohérent (gamin?) dans ton post [:meganne]
 


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 08-04-2003 à 13:59:31    

DarkLord a écrit :


 
1/ URL?
2/ Si c'est vrai tu n'as rien à envier au pontes de la programmation comme tu dis :sarcastic:
 
Y a qqch de pas cohérent (gamin?) dans ton post [:meganne]
 
 


pas d'url, c t un test en local (tp de license).
 
Sinon le gamin, je vois pas?
 
Vous etes toujours aussi aggressif par ici ?

Reply

Marsh Posté le 08-04-2003 à 14:11:09    

Petoulachi a écrit :


Vous etes toujours aussi aggressif par ici ?  


non, d'habitude on est pire  [:sinclaire]

Reply

Marsh Posté le 08-04-2003 à 14:12:45    

[:cupra]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 08-04-2003 à 14:14:48    

Reply

Marsh Posté le 08-04-2003 à 14:22:11    

Petoulachi a écrit :

J'me l'garde, t'as qu'a lire la rfc HTTP comme je l'avais fait.


 
Si c'est ca ta conception de l'entraide sur un forum (on est plutot la pour profiter de nos experience et galeres respectives), je me demande sincerement ce que tu fous la.  
 
Que des nazes repondent "RFC", c'est deja triste, mais quand on lit "J'ai lu le RFC, j'ai la reponse a ta question mais je te la file pas parce que y'a pas de raison que t'en chie pas", c'est plutot affligeant. Juste pour info : t'as l'air de rechercher la gloire en nous parlant de ton truc, tu la trouveras plus facilement en aidant quelqu'un intelligemment qu'en faisant ton coq.

Reply

Marsh Posté le 08-04-2003 à 14:25:28    

désolé, j'ai pas pour habitude de poster pour un truc dont je peux trouver la réponse, mais que je ne cherche pas par pure flemme.
 
J'ai pas non plus l'habitude d'aider les gens qui sont impolis, rentrent dans le lard à la premiere occasion.
 
Je suis un habitué des news, je viens ici de temps en temps, et je peux vous assurer que l'ambiance n'est pas la meme. (déjà, savoir ce servir des news et connaitre les bons groupes de discussion, ça épure pas mal).

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed