HTTP SocketServer BaseHTTPServer
INF8007 — Langages de script
Sockets et serveur
Michel Desmarais
enie informatique et g´enie logiciel
´
Ecole Polytechnique de Montr´eal
Hiver, 2017
(14 f´evrier 2017)
INF8007 — Langages de script — Sockets et serveur 1/16
HTTP SocketServer BaseHTTPServer
Sockets et serveur
1Requˆete HTTP
2Module SocketServer
3Module BaseHTTPServer
INF8007 — Langages de script — Sockets et serveur 2/16
HTTP SocketServer BaseHTTPServer
Serveur web
Quelques notions de base d’un serveur Web
´
Ecoute sur un port donn´e, par d´efaut le port 80. Pour ´eviter
un conflit avec un serveur existant, on utilise souvent le port
8080 pour un serveur HTML alternatif.
Attention : deux serveurs ne doivent pas ´ecouter sur le mˆeme
port.
Deux types de requˆetes :
GET : requˆete avec param`etes fournis dans l’appel ;
normalement utilis´e pour une requˆete simple qui
n’a pas “d’effet de bord”
POST : requˆete avec un corps contenant des
param`etres
INF8007 — Langages de script — Sockets et serveur 3/16
HTTP SocketServer BaseHTTPServer
Anatomie d’une requˆete HTTP
$ telnet en.wikipedia.org 80
Trying 208.80.152.2...
Connected to en.wikipedia.org (208.80.152.2).
GET /wiki/Main_page http/1.1
Host: en.wikipedia.org
HTTP/1.0 200 OK
Date: Sun, 13 Sep 2009 22:51:11 GMT
Server: Apache
Cache-Control: private, s-maxage=0, max-age=0, must-revalidate
Content-Language: en
Vary: Accept-Encoding,Cookie
Last-Modified: Sun, 20 Sep 2009 22:32:30 GMT
Content-Length: 56024
Content-Type: text/html; charset=utf-8
Age: 10426
Connection: close
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
...
Connection closed by foreign host.
$
INF8007 — Langages de script — Sockets et serveur 4/16
HTTP SocketServer BaseHTTPServer
SocktServer et BaseHTTPServer
Deux librairies de base sont utiles pour cr´eer un serveur Web :
xmlrpc.server : gestion de la connection et des requˆetes pour les
protocoles TCP et UDP
https://docs.python.org/3.6/library/
xmlrpc.server.html?highlight=server#
module-xmlrpc.server
HTTPServer : surclasse SocketServer.TCPServer pour fournir la
base d’un serveur HTTP
https://docs.python.org/3.6/library/http.
server.html#module-http.server
INF8007 — Langages de script — Sockets et serveur 5/16
1 / 16 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !