DELPHI FAQ: Переадресация


Переадресация
Previous  Home  Next


Переадресация
Заголовок HTTP-ответа 
Мы уже знаем, что CGI-программа отсылает серверу заголовок, не отображаемый браузером:  
  WriteLn('Content-Type: text/html'); 
  WriteLn('');  
Вид заголовка для переадресации 
Следует отметить, что в заголовке может быть приведено множество других директив, в частности, CGI-программа может переадресовать запрос на другую страницу...  
Для переадресации достаточно вывести заголовок в следующем виде:  
  WriteLn('Location: redirection.htm'); 
  WriteLn('');  
Кроме того, ваш сервер автоматически добавляет в этот заголовок еще и свои собственные сообщения.  
Допустим, вы запрашиваете в браузере URL http://yahoo.com. В этом случае вы получите от сервера следующий ответ:  
HTTP/1.0 302 Found 
Location: http://www.yahoo.com 
Получив такой заголовок, браузер перезапрашивает у сервера новый URL http://www.yahoo.com, и в ответ получает следующее:  
  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> 
  ... 
Таким образом происходит просто переадресация на другую страницу!  
 
И последнее замечание: вам не нужно заботиться самим о выводе строк типа "HTTP/1.0...", и "Content-Length: ...", поскольку это делает автоматически сам сервер.  





DELPHI FAQ




EOMY TOP 100      Рейтинг@Mail.ru      Rambler's Top100