Короче говоря - да, обычно он используется так:
http.use_ssl = url.scheme == 'https'
TCP-порт отличается для HTTP и HTTPS:
URI.parse("http://example.com").port # => 80
URI.parse("https://example.com").port # => 443
Но в целом любой протокол может быть используется для любого номера порта, и для транспортного lib нет надежного способа узнать, какой протокол использовать. Например, вы можете легко настроить свой сервер для ответа с обычным http на порту 443 и наоборот.
Именно поэтому здесь use_ssl
, он указывает библиотеке http, что соединение с этим портом должно быть установлено с использованием TLS / Безопасное соединение TLS, а не простое незашифрованное.