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 :

Plusieurs requêtes HTTP avec la même socket


Sujet :

Réseau C

  1. #1
    Membre du Club
    Homme Profil pro
    Debuttant en developpement d'application
    Inscrit en
    Novembre 2014
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Guinée

    Informations professionnelles :
    Activité : Debuttant en developpement d'application

    Informations forums :
    Inscription : Novembre 2014
    Messages : 86
    Points : 55
    Points
    55
    Par défaut Plusieurs requêtes HTTP avec la même socket
    Bonjour tout le monde,

    Peut on envoyer plusieurs requêtes http avec une seule socket ?

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 192
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 192
    Points : 17 154
    Points
    17 154
    Par défaut
    Bien sûr.

    Une socket est comme un fichier, si ce n'est que ce que tu écris est envoyé sur le réseau plutôt que le disque dur.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Membre du Club
    Homme Profil pro
    Debuttant en developpement d'application
    Inscrit en
    Novembre 2014
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Guinée

    Informations professionnelles :
    Activité : Debuttant en developpement d'application

    Informations forums :
    Inscription : Novembre 2014
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Ok, merci beaucoup.
    S'il vous pliait vous avez un tuto la dessus?

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 378
    Points : 23 674
    Points
    23 674
    Par défaut
    Si tu te positionnes du point de vue du socket en particulier, alors oui, tu peux faire transiter n'importe quoi dedans. Quand tu l'ouvres, tu spécifies le protocole de transport à utiliser, en général TCP/IP donc. Par contre, la nature des données qu'il charie, elle, reste purement privée. La communication se comporte comme un appel téléphonique et si ça te chante d'envoyer plusieurs requêtes à travers le même tuyau, rien ne t'en empêche.

    Si tu te places au point de vue de HTTP en particulier (qui en soi pourrait être transporté par autre chose que TCP/IP même si ce n'est pour ainsi dire jamais le cas), la réponse est « maintenant, oui ».

    Initialement, HTTP était fait pour servir des pages de texte uniquement et les connexions étaient immédiatement refermées après la transmission de la page demandée. Quand on a commencé à y intégrer des images, on y a fait référence avec des liens hypertextes ordinaires et celles-ci étaient considérées (à juste titre) comme des éléments distincts. Les premiers navigateurs étaient mêmes équipés d'un bouton « images » (voir par exemple ici) pour demander à les charger s'ils n'étaient pas configurés par l'utilisateur pour le faire automatiquement (c'était lourd à travers les modems de l'époque).

    Aujourd'hui, les pages web sont toutes massivement « multi-média » dans le sens où elles sont aujourd'hui presque toutes composées d'un document HTML, d'une CSS, d'un certain nombre d'images en tous genres, qu'elles soient minuscules (icônes, smileys, éléments de bordures, etc.) ou très larges (photos, arrière-plans panoramiques), de Javascript et d'objets divers comme les animations flash. Ça fait tout un tas de fichiers distincts à télécharger à chaque fois et on a assez vite compris qu'il était idiot d'encombrer le serveur avec des re-connexions incessantes à chaque fois. Non seulement ça engorge le serveur mais c'est pénalisant pour les statistiques car chaque appel représente un hit distinct alors qu'il s'agit en réalité du chargement de la même page à chaque fois.

    En HTTP/1.0, on avait donc introduit « Connexion: keep-alive » pour indiquer au navigateur client que la connexion serait maintenue ouverte en fin de session pour lui permettre de renvoyer une nouvelle requête après avoir reçu le résultat de la première. Ce maintien était cependant très fugace : la connexion ne restait ouverte qu'une à deux secondes parce qu'on s'adressait à des navigateurs qui n'étaient pas forcément faits pour, et il appartenait alors au serveur de refermer normalement la connexion. En HTTP/1.1, la connexion est maintenant considérée keep-alive par défaut.

    Tu peux donc enchaîner tes requêtes en HTTP/1.1 mais parfois, le serveur les limite aux fichiers qui constituent la page.

  5. #5
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 677
    Points
    13 677
    Billets dans le blog
    1
    Par défaut
    Pour un bon tutoriel sur les sockets, voir ce tutoriel : http://broux.developpez.com/articles/c/sockets/

Discussions similaires

  1. Plusieurs requêtes paramètres avec la même valeur
    Par rapheb dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 28/03/2013, 20h27
  2. [AC-2003] Exécuter plusieurs fois une même requête ajout avec le même paramètre.
    Par paulojbt9 dans le forum VBA Access
    Réponses: 3
    Dernier message: 01/07/2011, 10h34
  3. Problème requête HTTP avec caméra IP
    Par Sleeping Lionheart dans le forum Bibliothèques
    Réponses: 7
    Dernier message: 28/02/2009, 21h25
  4. Faire une requête https avec une application Delphi 7
    Par davidkungfu dans le forum Web & réseau
    Réponses: 12
    Dernier message: 10/04/2008, 10h39
  5. Réponses: 3
    Dernier message: 23/10/2007, 23h26

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