Запустите сервер rails с протоколом http вместо TCP - PullRequest
0 голосов
/ 01 сентября 2018

Я новичок в рубине и рельсах. Я работаю на Windows 10. Сервер Rails запускается по tcp: //0.0.0.0: 3000 вместо http://localhost:3000. Я использую следующую команду.

rails server

Ответы [ 2 ]

0 голосов
/ 19 июля 2019

Когда ваш сервер Rails сообщает, что он запущен на tcp: // localhost: 3000, это на самом деле означает http://localhost:3030, а на компьютерах с Windows вы должны использовать http://127.0.01:3030 вместо этого, иначе Windows испортит его как-то Магия!

0 голосов
/ 01 сентября 2018

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

На основе модели взаимодействия открытых систем (модель OSI) https://en.wikipedia.org/wiki/OSI_model

Существует 7 уровней для стандартизации функций связи.

TCP на Transport layer

Транспортный уровень обеспечивает функциональные и процедурные средства передачи последовательностей данных переменной длины из источника в хост назначения, сохраняя при этом качество функций обслуживания.

Транспортный уровень контролирует надежность данного канала с помощью управления потоком, сегментации / десегментации и контроля ошибок. Некоторые протоколы ориентированы на состояние и соединение. Это означает, что транспортный уровень может отслеживать сегменты и повторно передавать те, которые не доставили доставку. Транспортный уровень также обеспечивает подтверждение успешной передачи данных и отправляет следующие данные, если ошибок не было. Транспортный уровень создает сегменты из сообщения, полученного от прикладного уровня. Сегментация - это процесс разделения длинного сообщения на меньшие сообщения.

OSI определяет пять классов транспортных протоколов в режиме соединения, начиная от класса 0 (который также известен как TP0 и предоставляет наименьшее количество функций) до класса 4 (TP4, разработанный для менее надежных сетей, похожих на Интернет). Класс 0 не содержит восстановления после ошибок и был разработан для использования на сетевых уровнях, которые обеспечивают безошибочные соединения. Класс 4 наиболее близок к TCP, хотя TCP содержит функции, такие как постепенное закрытие, которые OSI назначает на уровне сеанса. Кроме того, все классы протокола режима соединения OSI TP предоставляют ускоренные данные и сохраняют границы записей. Подробные характеристики классов TP0-4 приведены в следующей таблице:

HTTP находится на Application layer.

Прикладной уровень - это уровень OSI, ближайший к конечному пользователю, что означает, что прикладной уровень OSI и пользователь взаимодействуют напрямую с программным приложением. Этот уровень взаимодействует с программными приложениями, которые реализуют коммуникационный компонент. Такие прикладные программы выходят за рамки модели OSI. Функции прикладного уровня обычно включают в себя идентификацию партнеров по связи, определение доступности ресурсов и синхронизацию связи. При идентификации партнеров по связи прикладной уровень определяет идентичность и доступность партнеров по связи для приложения с данными для передачи. Самое важное различие в прикладном уровне - это различие между сущностью приложения и приложением. Например, веб-сайт резервирования может иметь два объекта приложения: один использует HTTP для связи со своими пользователями, а другой - для протокола удаленной базы данных для записи резервирований. Ни один из этих протоколов не имеет никакого отношения к резервированию. Эта логика в самом приложении. Прикладной уровень сам по себе не имеет средств для определения доступности ресурсов в сети.

Это означает, что TCP - это не что-то иное, чем HTTP. По сути, HTTP (уровень 7) построен на TCP / IP (уровень 4).

https://en.wikipedia.org/wiki/Transmission_Control_Protocol https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol

...