Сетевые технологии. Баканов В.М. - 45 стр.

UptoLike

Составители: 

- 45 -
Если запрос пришел от клиента HTTP 0.9 сервер информирует, что коман-
да HEAD не допускается:
procedure TWbServe.SendShortHeader;
var isShortHeaderMsg: String; begin
{ создать HTML-документ, сообщающий клиенту, что команда HEAD
недопустима в протоколе HTTP 0.9 }
isShortHeaderMsg := ‘<TITLE>Operation Not Allowed</TITLE>';
{ отправить это сообщение клиенту }
NetSocket.SocketSend(isConnectionSocket, handle, UWM_SOCKETEVENT,
isShortHeaderMsg, SKT_NOOP);
mleSent.Lines.Add (isShortHeaderMsg); { выдать сообщение на экран }
CloseConnection; { закрыть соединение }
end; { конец SendShortHeader }
Если клиент HTTP 0.9 выдает команду GET, сервер должен определить,
существующий ли файл запрашивает клиент; в случае положительного отве-
та на этот вопрос файл отправляется клиенту, в противном случае возвраща-
ется короткое HTML-сообщение:
procedure TWbServe.SendShortObject;
var isShortObjectMsg: String;
begin
if FileExists(isFileName) then { Запрашиваемый файл существует ? }
begin
{ Открыть и отправить его клиенту }
OpenSendFile;
ProcessDataSend;
end
else
begin
{ Нет, создать HTML-документ HTML с информацией об
отсутствии запрашиваемого файла }
isShortObjectMsg := '<TITLE>Not Found</TITLE>';
{ Отправить созданное сообщение клиенту }
NetSocket.SocketSend(isConnectionSocket, handle,
UWM_SOCKETEVENT, isShortObjectMsg, SKT_NOOP);
mleSent.Lines.Add(isShortObjectMsg); { Вывести его на экран пользователю }
CloseConnection; { Закрыть соединение }
end;
end; { конец SendShortObject }
Процедура SendFullHeader отправляет заголовок ответа поддерживающего
  Если запрос пришел от клиента HTTP 0.9 сервер информирует, что коман-
да HEAD не допускается:

procedure TWbServe.SendShortHeader;
var isShortHeaderMsg: String; begin
{ создать HTML-документ, сообщающий клиенту, что команда HEAD
 недопустима в протоколе HTTP 0.9 }
 isShortHeaderMsg := ‘Operation Not Allowed';
 { отправить это сообщение клиенту }
 NetSocket.SocketSend(isConnectionSocket, handle, UWM_SOCKETEVENT,
                        isShortHeaderMsg, SKT_NOOP);
 mleSent.Lines.Add (isShortHeaderMsg); { выдать сообщение на экран }
 CloseConnection; { закрыть соединение }
end; { конец SendShortHeader }

    Если клиент HTTP 0.9 выдает команду GET, сервер должен определить,
существующий ли файл запрашивает клиент; в случае положительного отве-
та на этот вопрос файл отправляется клиенту, в противном случае возвраща-
ется короткое HTML-сообщение:

procedure TWbServe.SendShortObject;
var isShortObjectMsg: String;
begin
 if FileExists(isFileName) then { Запрашиваемый файл существует ? }
 begin
{ Открыть и отправить его клиенту }
 OpenSendFile;
 ProcessDataSend;
 end
 else
 begin
{ Нет, создать HTML-документ HTML с информацией об
 отсутствии запрашиваемого файла }
 isShortObjectMsg := 'Not Found';
{ Отправить созданное сообщение клиенту }
 NetSocket.SocketSend(isConnectionSocket, handle,
                         UWM_SOCKETEVENT, isShortObjectMsg, SKT_NOOP);
 mleSent.Lines.Add(isShortObjectMsg); { Вывести его на экран пользователю }
 CloseConnection; { Закрыть соединение }
 end;
end; { конец SendShortObject }

  Процедура SendFullHeader отправляет заголовок ответа поддерживающего


                                      - 45 -