IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

Reconnection à un serveur HTTP


Sujet :

Réseau C

  1. #21
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Les protocoles de type FTP ou HTTP sont de type texte et n'utilisent pas de 0 dans les données transmises (sauf pour mode binaire pur en ftp, par exemple).
    Un message HTTP comprend une entête qui se termine classiquement par CRLF suivi (ou non) d'un "body" dont le codage et le nombre d'octets sont donnés dans l'en-tête.
    C'est le type de codage qui autorisera (ou non) la présence de l'octet 0 dans ce "body" et coller un 0 à la fin du message reçu par recv me semble prématuré voire inutile.
    -W
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    19.1 Internet Media Type message/http and application/http
    ...       
           Media Type name:         message
           Media subtype name:      http
           Required parameters:     none
           Optional parameters:     version, msgtype
            version: The HTTP-Version number of the enclosed message
                     (e.g., "1.1"). If not present, the version can be
                     determined from the first line of the body.
            msgtype: The message type -- "request" or "response". If not
                     present, the type can be determined from the first
                     line of the body.
           Encoding considerations: only "7bit", "8bit", or "binary" are
                                    permitted
           Security considerations: none
    
           Media Type name:         application
           Media subtype name:      http
           Required parameters:     none
           Optional parameters:     version, msgtype
            version: The HTTP-Version number of the enclosed messages
                     (e.g., "1.1"). If not present, the version can be
                     determined from the first line of the body.
            msgtype: The message type -- "request" or "response". If not
                     present, the type can be determined from the first
                     line of the body.
           Encoding considerations: HTTP messages enclosed by this type
                     are in "binary" format; use of an appropriate
                     Content-Transfer-Encoding is required when
                     transmitted via E-mail.
           Security considerations: none
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  2. #22
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Un message HTTP comprend une entête qui se termine classiquement par CRLF suivi (ou non) d'un "body" dont le codage et le nombre d'octets sont donnés dans l'en-tête.
    C'est le type de codage qui autorisera (ou non) la présence de l'octet 0 dans ce "body" et coller un 0 à la fin du message reçu par recv me semble prématuré voire inutile.
    Je parle évidemment (comme précisé) de transmission texte. Si il s'agit de transmission binaire, c'est autre chose. ce n'est pas le même code.

    C'est l'évolution dans la séquence du protocole qui fait qu'à une certaine étape, on transmet en texte ou en binaire (il me semble qu'en FTP, c'est séparé sur 2 sockets différents, mais il se peut qu'en HTTP, ce soit mélangé)).

    La synchronisation entre émetteur et récepteur doit évidemment être assurée. C'est le rôle d'un protocole et des machines à états locales qui l'implémentent.
    Pas de Wi-Fi à la maison : CPL

  3. #23
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Je parle évidemment (comme précisé) de transmission texte. Si il s'agit de transmission binaire, c'est autre chose. ce n'est pas le même code.

    C'est l'évolution dans la séquence du protocole qui fait qu'à une certaine étape, on transmet en texte ou en binaire (il me semble qu'en FTP, c'est séparé sur 2 sockets différents, mais il se peut qu'en HTTP, ce soit mélangé)).
    En HTTP, c'est "mélangé"!

    La synchronisation entre émetteur et récepteur doit évidemment être assurée. C'est le rôle d'un protocole et des machines à états locales qui l'implémentent.
    Pour HTTP 1.0, c'est simplissime. Avec la 1.1, ca se complexifie d'autant que les unités d'informations peuvent être expédiées en plusieurs parties/fragments.
    => Il y a du boulot à faire "au-dessus" du simple recv pour assurer qu'on a tout reçu et spécialiser les opérations en fonction du type de contenu.

    C'est cette complexité masquée qui m'a fait recommander d'utiliser la bibliothèque du W3C.
    -W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #24
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    C'est cette complexité masquée qui m'a fait recommander d'utiliser la bibliothèque du W3C.
    OK.
    Pas de Wi-Fi à la maison : CPL

Discussions similaires

  1. Sockets SSL ( serveur HTTPS )
    Par hexadecime dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 19/10/2007, 18h02
  2. [C++] Serveur HTTP
    Par taron dans le forum C++
    Réponses: 1
    Dernier message: 12/01/2006, 00h44
  3. Tester un serveur HTTP et un FTP
    Par fmcvieira dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 29/11/2005, 21h51
  4. [Net] Creation serveur HTTP en C++
    Par Yannos94 dans le forum C++
    Réponses: 13
    Dernier message: 14/11/2005, 12h05
  5. [Réseau] Headers vers un serveur http
    Par gexti dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 04/05/2004, 14h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo