Причины не использовать Winsock для HTTP-запроса?
-
18-09-2019 - |
Вопрос
В настоящее время я использую простое решение Winsock (WSAStartup, Socket, Connect, Send, Recv, CloseSocket) для HTTP-запросов, чтобы получить 32-байтовый ответ нашего собственного сервера.
Есть ли причина перехода на WinHTTP или другую библиотеку из соображений производительности или безопасности?
Решение
Простота использования, тщательное тестирование, расширение функций, проверка ошибок и т. д.Единственная причина безопасности, о которой я могу думать, это то, что если вы делаете это сами и у вас недостаточно опыта, вы можете оставить себя уязвимым для переполнения буфера или других подобных эксплойтов.В зависимости от ваших способностей сторонняя библиотека может быть более эффективной и, следовательно, более быстрой.
Я бы рекомендовал использовать стороннюю библиотеку, если вы не уверены в своих силах.
Другие советы
Библиотека WinHTTP предоставляет гораздо больше функций для протокола HTTP, помимо простого использования сокетов.Например, он предоставляет допустимые методы HTTP-запросов (GET, POST, PUT и т. д.), которые вы можете легко использовать без необходимости самостоятельно изучать протокол HTTP.
Мобильность здесь также является важным фактором.Кроме того, другие библиотеки имеют гораздо более удобные API, чем Winsock.