Introduction - Les paramètres - Redirection - Les Images - protection par mot de passe - Les cookies - Base de données - FAQ

Programmes CGI avec Delphi et Kylix - Redirection


Ce que l'on sait déjà

Nous savons que le programme CGI renvoie au serveur une entête non visible dans le browser :
  WriteLn('Content-Type: text/html');
  WriteLn(''); 
 

Ce que j'avais pas dit

Et bien il faut savoir qu'on peut faire des tas de choses avec cette entête, notamment, le CGI peut renvoyer sur une autre page ...il suffit pour celà de répondre :
  WriteLn('Location: redirection.htm');
 
Il faut aussi savoir que votre serveur va ajouter des informations dans cette entête, pour vous en convaincre, vous pouvez utiliser mon "browser web" (voir page delphi) qui a la particularité de ne pas traiter le HTML, et d'afficher l'entête HTTP.
si vous demandez l'URL http://yahoo.com, voici ce que vous recevez :
  HTTP/1.0 302 Found
  Location: http://www.yahoo.com
 
les browsers demandent alors l'URL http://www.yahoo.com pour recevoir :
  HTTP/1.0 200 OK
  Content-Length: 9332
  Expires: Wed, 18 Mar 1998 08:00:03 GMT      
  Content-Type: text/html
  
  <html><head><title>Yahoo!</title><base href="http://www.yahoo.com/"></head>

  <body><center><form action="http://search.yahoo.com/bin/search">
  <a href="/bin/top3"><img width=460 height=59 border=0 usemap="#top3" ismap src="http://us.yimg.com/i/main32.gif" alt="Yahoo!">
  </a><br><table cellpadding=3 cellspacing=0><tr><td align=center nowrap>
  ...
 
Il s'agit tout simplement d'une redirection !
Dernière remarque, c'est le serveur qui répond "HTTP/1.0 ...", qui calcule "Content-Length: ..." vous n'avez pas à les renseigner.

c'est tout ! A +