Нужно иметь подключённый потоковый сокет и передать в него корректно сформированные байты HTTP-запроса. Сам файловый дескриптор не определяет протокол и не выполняет HTTP автоматически.
Что нужно сделать с файловым дескриптором сокета, чтобы отправить HTTP-запрос?
Нужно иметь подключённый потоковый сокет и передать в него корректно сформированные байты HTTP-запроса. Сам файловый дескриптор не определяет протокол и не выполняет HTTP автоматически.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Нужно иметь подключённый потоковый сокет и передать в него корректно сформированные байты HTTP-запроса. Сам файловый дескриптор не определяет протокол и не выполняет HTTP автоматически.
Для обычного HTTP/1.1 запрос содержит стартовую строку, заголовок Host, завершения CRLF и пустую строку перед телом. В Python sendall() помогает отправить весь буфер, но ответ всё равно нужно читать и разбирать с учётом framing. Для HTTPS перед HTTP требуется корректное TLS-соединение с проверкой сертификата. В прикладном коде обычно лучше использовать HTTP-клиент, который обрабатывает эти детали, timeout и повторное использование соединений.