Какие порты использует протокол HTTP?

Ответ

Стандартные порты для протоколов HTTP и HTTPS закреплены IANA (Internet Assigned Numbers Authority):

  • HTTP: Порт 80 (TCP). Используется для незашифрованной передачи данных.
  • HTTPS: Порт 443 (TCP). Используется для передачи данных, зашифрованных с помощью TLS/SSL.

Пример простого HTTP-запроса через Telnet (порт 80):

telnet example.com 80
GET / HTTP/1.1
Host: example.com

# (Нажмите Enter дважды)

Почему эти порты стандартны? Браузеры и другие клиенты по умолчанию используют эти порты, если в URL не указан другой. Например, http://example.com автоматически обращается к порту 80.

Примечание: В разработке и тестировании часто используются нестандартные порты, такие как 8080, 8000, 3000 для HTTP или 8443 для HTTPS. В этом случае порт указывается явно в URL: http://localhost:8080.

Ответ 18+ 🔞

Да ты посмотри, какие у нас тут священные цифры в интернете завелись! Прямо как заповеди, блядь, только для сетей.

Ну слушай сюда, распиздяй. Есть такая контора — IANA, типа главные распределители номеров по всему интернету. И они постановили, что:

  • HTTP — это священный порт 80 (TCP). Это как открытка, всё видно, все читают. Данные голые, без шифрования, летят на всеобщее обозрение.
  • HTTPS — это уже порт 443 (TCP). Тут уже серьёзнее, с шифрованием, под защитой TLS/SSL. Как письмо в сейфе, ёпта.

Вот, смотри, как древние предки напрямую общались с серверами, без этих твоих браузеров:

telnet example.com 80
GET / HTTP/1.1
Host: example.com

# (И два раза энтер вмазать, блядь!)

А почему, спрашивается, именно эти порты? Да потому что весь мир так договорился, чтобы не ебать мозг! Браузер, когда видит http://example.com, сам, хитрая жопа, лезет на 80-й. Видит https:// — ну ясно, пиздуй на 443-й. Умно, да?

Но! В нашей, разработческой, банде часто свои понятия. На локалке, пока приложение пишешь, эти стандартные порты могут быть заняты какой-нибудь системной хуйнёй. Поэтому мы юзаем свои, блядь, номера: 8080, 8000, 3000 для HTTP или 8443 для HTTPS. И тогда в адресе надо явно указать, куда стучаться: http://localhost:8080. А то так и будешь в закрытую дверь ломиться, дурак.