Sources
Delphi Russian Knowledge Base
DRKB - база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Переадресация

01.01.2007
Paul TOTH

Заголовок 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="https://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: ...", поскольку это делает автоматически сам сервер.

Previous page:
Передача параметров
Top:
DRKB
Next page:
Вывод изображений