Python Glossary English

Python 3.14+http.serverпонятие

http.server.HTTPSServer

серверы

HTTPServer с TLS: принимает certfile и keyfile и отвечает по HTTPS. Появился в Python 3.14.

Синтаксис

HTTPSServer(server_address, Handler, bind_and_activate=True, *, certfile, keyfile=None, password=None, alpn_protocols=None)

certfile — обязательный именованный аргумент, без него TypeError. Сертификат читается не в конструкторе, а при активации сокета (server_activate), поэтому с bind_and_activate=False ошибка неверного пути всплывёт позже, при запуске. По умолчанию ALPN объявляет только http/1.1. До 3.14 то же делали руками: ssl.SSLContext.wrap_socket поверх server.socket.

Примеры

from http.server import HTTPSServer, BaseHTTPRequestHandler
srv = HTTPSServer(('127.0.0.1', 8443), BaseHTTPRequestHandler,
                  bind_and_activate=False, certfile='missing.pem')
print(srv.certfile, srv.alpn_protocols)  # → missing.pem ['http/1.1']
srv.server_close()
try:
    HTTPSServer(('127.0.0.1', 8443), BaseHTTPRequestHandler, bind_and_activate=False)
except TypeError as e:
    print('TypeError')  # → TypeError — certfile обязателен

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности