Почему нет UDP-соединения через браузер даже с HTML5?

Почему мы не можем иметь udp-соединение между браузером и сервером? Почему возможно tcp-соединение (веб-сокет), но не udp?

3 ответов


HTML5 не разрешает произвольные TCP-соединения.

вместо этого web sockets-это специальный новый протокол, построенный на TCP, который позволяет двунаправленную связь.

аналогично, WebRTC-это специальный новый протокол, построенный на UDP, который позволяет одноранговую связь.

разрешение произвольных соединений сокетов будет основные дыра в безопасности.


вы можете получить доступ к UDP с помощью WebRTC, который доступен в последних версиях Chrome и Firefox. Это позволяет вам делать прямые подключения браузера-браузера без необходимости идти через сервер, среди прочего.


давным-давно http был протоколом, предназначенным для транспортировки текста и html, как бумага или журнал. Эта информация должна быть полной и надежной, поэтому http основан на TCP, а не UDP.

позже люди хотели показать несколько носителей через браузер. Некоторые приложения, такие как flash и Windows media player прокрались в браузер и побежали в фоновом режиме в качестве плагина. Они могут воспроизводить видео с помощью UDP и браузера.

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

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