Как браузер определяет порт

«Как браузер определяет порт» — вопрос из категории Сети, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Браузер определяет порт на основе URL:

  1. Если порт явно указан в URL (например, http://example.com:8080), браузер использует его.
  2. Если порт не указан, браузер использует порт по умолчанию:
    • HTTP → 80
    • HTTPS → 443

Пример на Go для извлечения порта из URL:

u, _ := url.Parse("https://example.com:8443")
port := u.Port() // "8443"
if port == "" {
    if u.Scheme == "https" {
        port = "443"
    } else {
        port = "80"
    }
}

Браузеры также учитывают CORS и политику безопасности при работе с нестандартными портами.