Разное

Http 80: Что такое порт 80? — определение из техопедии

09.06.2023

Почему 80 был выбран в качестве порта HTTP по умолчанию, а 443 — в качестве порта HTTPS по умолчанию?

Nov 15, 2015

Облако и Интернет

Хотя многие из нас знакомы с различными портами, назначаемыми для определенных целей или использования, мы можем не знать конкретной причины, по которой они были выбраны. В сегодняшнем посте SuperUser Q&A есть ответы на вопросы любопытного читателя.

Сегодняшняя сессия вопросов и ответов проходит благодаря SuperUser — подразделению Stack Exchange, группы веб-сайтов вопросов и ответов, управляемой сообществом.

Фото любезно предоставлено Родни Льюис (Flickr) .

Вопрос

Читатель SuperUser Сэмюэл Александр хочет знать, почему 80 и 443 были выбраны в качестве портов HTTP и HTTPS по умолчанию:

Почему порт 80 был выбран как порт HTTP по умолчанию, а 443 — как порт HTTPS по умолчанию? Есть ли какая-то конкретная причина или она просто так определена?

Почему 80 и 443 были выбраны в качестве портов HTTP и HTTPS по умолчанию?

Ответ

У участника SuperUser jcbermu есть для нас ответ:

Управление по присвоению номеров в Интернете (IANA) — это подразделение ICANN, некоммерческой частной корпорации, которая наблюдает за глобальным распределением IP-адресов, системой доменных имен (DNS), общеизвестными портами и другими символами и числами, связанными с интернет-протоколом.

В марте 1990 года они опубликовали документ ( RFC 1060 ), где перечислены все известные в то время порты. В этом списке не было протокола, назначенного порту 80 (он перескочил с 79 на 81):

В то время порт 80 был официально свободен. В 1991 году Тим Бернерс-Ли выпустил первую версию HTTP в документе ( HTTP 0.9 ), где он заявил:

Затем, в июле 1992 года, RFC1060 был отменен новым документом ( RFC 1340 ), где появилось следующее:

Этот документ сделал 80 официальным портом для HTTP (www). Однако в этом документе нет ничего о порте 443. В октябре 1994 г. RFC 1700 было опубликовано, и это появилось впервые:

Кажется, это было запрошено Кипп Э. Б. Hickman , который в то время работал в Mosaic, первой компании-разработчике GUI-браузеров, которая позже стала Netscape.

Непонятно, почему был выбран порт 443. Однако в предыдущем документе RFC был пробел от 374 до 512, а в RFC1700 был заполнен пробел от 375 до 451. Скорее всего, номера были даны просто в порядке запроса.


Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полной веткой обсуждения здесь .


Главная

Главная
  • Гостиница
  • Столовая и кафе
  • Обратная связь

Репортажи о секциях Социальный ролик

ГТО

Бокс

Единоборства

Футбол

Баскетбол

Хоккей

Теннис

Шахматы

Фехтование

Худ. гимнастика

Спорт. аэробика

Фигурн. катание

Современ. танцы

Театр танца

Синхронное плавание

Спортивн. плавание

НОВОСТИ

Соревнования

3 часа назад

5 марта в «Спорткомплексе Олимпийской деревни-80» состоялся открытый турнир «GANG CUP» по тхэквондо.

Соревнования

07 марта

Прусакова Ксения стала победителем Всероссийского турнира по боксу на призы заслуженного мастера спорта Софьи Очигавы.

Соревнования

06 марта

Поздравляем нашу воспитанницу Быкову Алису с 1 местом на соревнованиях по фигурному катанию на коньках.

Галерея

Соревнования

3 минуты назад

Открытый турнир «GANG CUP» по тхэквондо в «СК ОД-80» 05.03.2023

События

03 октября

Воспитанницы «СК ОД-80» по фигурному катанию (спортивная и оздоровительная группы)

Соревнования

28 июля

Чемпионат России по дзюдо спорта слепых 25-27 июля 2022 г. в «СК ОД-80»

Соревнования

27 мая

Турнир по дзюдо «Будущие звезды дзюдо» 2022

netsh — В чем разница между http://*:80 и http://+:80

спросил

Изменено 4 года, 6 месяцев назад

Просмотрено 13 тысяч раз

Изучая веб-развертывание, я столкнулся с некоторыми командами netsh. exe, которые говорят о http://+:80 и http://*:80. Что это значит?

  • http
  • netsh
  • webdeploy

Согласно URLPrefix Strings (Windows):

Когда элемент host в UrlPrefix состоит из одного знака плюс (+), UrlPrefix соответствует всем возможным именам хостов в контексте элементов схемы, порта и относительных URI и попадает в категорию сильных подстановочных знаков.

Если звездочка (*) появляется в качестве основного элемента, то UrlPrefix попадает в категорию слабых подстановочных знаков. Этот тип UrlPrefix соответствует любому имени хоста, связанному с указанной схемой, портом и относительным URI, которое еще не было сопоставлено сильным подстановочным знаком, явным или слабым подстановочным знаком UrlPrefix, привязанным к IP. Эта спецификация хоста может использоваться в качестве универсальной по умолчанию в некоторых обстоятельствах или может использоваться для указания большого раздела пространства имен URL-адресов без необходимости использования многих UrlPrefixes.

После этого :80 показывает порт, через который вы получаете доступ к URL-адресу, соответствующему строке подстановки. 80 — один из самых (если не самый) распространенных портов, используемых для доступа к обычным веб-страницам.

0

В нескольких основных словах, «*» обрабатывает запросы, если это не сделал никто другой, а «+»

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

Хороший пример, взятый из https://stackoverflow.com/a/9459679/6375269

http://*:8080/: получать все HTTP-запросы на порт 8080, которые не уже обрабатывается другим HttpListener.

http://+:8080/: получать все HTTP-запросы на порт 8080, даже если они уже обрабатывается другим HttpListener.

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

asp.

net core — прослушивание контейнера Docker на http://[::]:80

Задавать вопрос

спросил

Изменено 1 год, 11 месяцев назад

Просмотрено 13 тысяч раз

Я работаю над настройкой двух контейнеров Docker с помощью Docker для Windows. Простое веб-приложение на основе узла и приложение API ядра dotnet. Я запускаю оба этих контейнера, используя «docker-compose up». Приложение node запускается отлично, и я могу нажать открытый URL-адрес, однако приложение dotnet, похоже, не работает.

Вывод команды docker-compose up приведен ниже:

 application.client_1 | ИНФОРМАЦИЯ: Прием соединений на http://localhost:8080
приложение.api_1 | предупреждение: Microsoft.AspNetCore. DataProtection.KeyManagement.XmlKeyManager[35]
приложение.api_1 | Шифровщик XML не настроен. Ключ {cc83a8ac-e1de-4eb3-95ab-8c69a5961bf9} может храниться в незашифрованном виде.
приложение.api_1 | Среда размещения: Разработка
приложение.api_1 | Корневой путь содержимого: /app/application.Api
приложение.api_1 | Сейчас слушаю: http://[::]:80
приложение.api_1 | Приложение запущено. Нажмите Ctrl+C, чтобы выключить.
 

Файл Docker выглядит следующим образом:

 ИЗ сборки Microsoft/dotnet AS
РАБОЧИЙКАТАЛОГ /приложение
ПОРТ ОК = 8081
КОПИРОВАТЬ приложение.Api/application.Api.csproj приложение.Api/
КОПИРОВАТЬ application.Business/application.Business.csproj application.Business/
КОПИРОВАТЬ application.DataAccess/application.DataAccess.csproj application.DataAccess/
КОПИРОВАТЬ application.DataModel/application.DataModel.csproj application.DataModel/
РАБОЧИЙ КАТАЛОГ /app/application.Api
ЗАПУСТИТЬ восстановление дотнета
РАБОЧИЙКАТАЛОГ /приложение/
КОПИРОВАТЬ приложение.Api/. ./приложение. Апи/
КОПИРОВАТЬ приложение.Бизнес/. ./приложение.Бизнес/
КОПИРОВАТЬ приложение.DataAccess/. ./приложение.Доступ к Данным/
КОПИРОВАТЬ приложение.DataModel/. ./приложение.МодельДанных/
РАБОЧИЙ КАТАЛОГ /app/application.Api
ВЫПОЛНИТЬ dotnet publish -c Release -o out
Среда выполнения Microsoft/dotnet AS
РАБОЧИЙ КАТАЛОГ /app/application.Api
КОПИРОВАТЬ --from=build /app/application.Api/out .
ТОЧКА ВХОДА ["dotnet", "application.Api.dll" ]
ВЫСТАВИТЬ $PORT
 

Я не могу получить IP-адрес и поэтому попал на URL-адрес API. Любые мысли будут высоко оценены, так как я новичок в Docker.


ОБНОВЛЕНИЕ 1: Составление YML

 версия: «3.4»
услуги:
  тонкин.api:
    изображение: приложение.api
    порты:
      - 8081:5000
    строить:
      контекст: .
      докерфайл: Докерфайл
  Тонкин.клиент:
    изображение: приложение.клиент
    порты:
      - 8080:8080
    строить:
      контекст: .
      докерфайл: ../application.Client/Dockerfile
 
  • докер
  • asp. net-core
  • .net-core
  • docker-compose
  • dockerfile

0

Как они уже упоминали, кажется, что ваш контейнер работает на порту 80. Так что по какой-то причине этот порт открыт. Может быть, EXPOSE $PORT не возвращает 8081, как вы ожидаете?

Когда вы запускаете контейнер, если вы не укажете, где его сопоставить, он будет доступен только по IP-адресу контейнера на открытом порту (80 в вашем случае). Легко узнать IP этого контейнера, запустив docker inspect

Протестируйте свой образ, выполнив что-то вроде docker run -p 8080:80 yourimage . Вы увидите, что в дополнение к порту 80, который показывает образ, он сопоставляется с вашим локальным портом 8080, так что http://localhost:8080 должен быть доступен.

Посмотрите это, если это поможет вам

Посмотрите этот ответ.

Базовый образ dotnet переопределяет порт пустельги по умолчанию.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *