P Additionally a 404 Not Found
HTTP позволяет серверу сообщать клиенту о возникших ошибках. Одна из наиболее распространенных ошибок - это ошибка 404 Not Found, которая означает, что запрашиваемый ресурс не найден на сервере.
При обработке запроса сервер сначала ищет запрашиваемый ресурс в своей файловой системе или базе данных. Если ресурс не может быть найден, сервер отправляет клиенту ответ со статусом 404 Not Found. При этом клиенту передается сообщение о том, что запрашиваемый ресурс не найден.
Пример кода сервера, который обрабатывает запрос и отправляет ответ с ошибкой 404 Not Found:
from http.server import BaseHTTPRequestHandler, HTTPServer
class MyServer(BaseHTTPRequestHandler):
# обработка GET-запроса
def do_GET(self):
# проверка запрашиваемого ресурса
if self.path == '/page.html':
# отправка ответа с файлом страницы
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
with open('page.html', 'rb') as file:
self.wfile.write(file.read())
else:
# отправка ответа с ошибкой 404 Not Found
self.send_error(404, 'File not found')
if __name__ == '__main__':
# запуск сервера
server = HTTPServer(('localhost', 8080), MyServer)
print('Server started on http://localhost:8080')
server.serve_forever()
В данном примере сервер обрабатывает GET-запрос и проверяет, запрашивается ли ресурс с именем "page.html". Если ресурс найден, сервер отправляет ответ с содержимым файла "page.html". Если же запрашиваемый ресурс не найден, сервер отправляет ответ со статусом ошибки 404 Not Found и сообщением "File not found".