The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

В Google Chrome и WebKit появилась поддержка технологии web-сокетов

10.12.2009 17:21

Компания Google объявила о реализации поддержки в web-браузере Chrome и движке WebKit технологии Web Sockets, в настоящий момент принятой комитетом W3C для рассмотрения на предмет включения в будущий стандарт HTML5. Web Sockets представляет собой протокол и API для организации двунаправленного обмена данными между wеб-приложением и сервером. Образно говоря, Web Sockets является своеобразным аналогом TCP для Web и позволяет в произвольном порядке инициировать отправку данных от сервера к web-приложению и наоборот, от web-приложения к серверу.

Для аутентификации и обеспечения безопасности передачи данных в Web Sockets используются стандартные механизмы браузера. Сам протокол не использует сырые TCP-соединения, но и не работает поверх HTTP, используя лишь тот же, что и в HTTP канал передачи данных, по которому не передается лишних HTTP заголовков, а соединение постоянно держится открытым. Установив Web Socket соединение между сервером и клиентом, разработчик может отправить данные из web-браузера выполнив метод send() и получить отправленные со стороны сервера данные через установку специального обработчика событий.

Что касается других web-браузеров, то уже ведется работа по реализация поддержки Web Sockets для Firefox. Для других браузеров подготовлена специальная библиотека web-socket-js, позволяющая эмулировать работу функций Web Sockets при помощи Adobe Flash. Прототип серверной составляющей в настоящий момент доступен для http-сервера Apache, написан на языке Python и требует для своей работы mod_python.

  1. Главная ссылка к новости (http://blog.chromium.org/2009/...)
  2. OpenNews: Началось официальное бета-тестирование Linux версии браузера Google Chrome
  3. OpenNews: Компания Google предложила надстройку для улучшения протокола HTTP
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/24617-chrome
Ключевые слова: chrome, web, javascript, socket, http
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (55) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
 
  • 2.5, Shura (??), 18:10, 10/12/2009 [ответить]  
  • +3 +/
    как раз хотят принять как стандарт
     
  • 2.38, szh (ok), 05:51, 11/12/2009 [ответить]  
  • +4 +/
    майкрософту не выгодно развитие и ускорение web, так что давай давай, под-тролливай по-тихоньку.
     
     
  • 3.57, andr.mobi (??), 14:40, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    непонятно, зачем вообще весь этот хлам, если есть 9P
     
     
  • 4.58, szh (ok), 15:52, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    в cloud решении можно работать со своими данными из под ChromeOS, Window, Maс, Desktop Linux, Android, Symbian, BalckberryOS, iPhone OS , ...

    9P не есть, его "нету" в данном контексте.

     
  • 1.6, ameoba32 (?), 18:34, 10/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Думаю все догадались, что это надо для SPDY, который будет проталкиваться в связке chrome+googleapps.
     
     
  • 2.43, szh (ok), 05:59, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Думаю все догадались, что это надо для SPDY, который будет проталкиваться в
    >связке chrome+googleapps.

    интернет тоже нужен для googleapps, это не значит что он больше ни зачем не нужен (как и SPDY, как и web-сокеты).

     

  • 1.7, demoriz (?), 18:34, 10/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Радует что не стоит таки вэб на месте.
     
     
  • 2.19, User294 (ok), 21:33, 10/12/2009 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Да, рождаются новые велосипеды. Нечто подобное TСP зачем-то загнано уровнем выше. А зачем? TCP по какой-то причине недостаточно?
     
     
  • 3.25, thirteensmay (?), 22:11, 10/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Так нету в браузере TCP, затем и загноно

     
     
  • 4.28, аноним (?), 22:51, 10/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Так нету в браузере TCP, затем и загноно

    ващето, в браузере есть TCP :))))
    доступ ограничен из соображений безопасности, так же как XDR

     
     
  • 5.30, thirteensmay (?), 23:01, 10/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    ну а толку если доступ ограничен ?
     
     
  • 6.36, User294 (ok), 05:22, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Ну так ослабить гайки немного. А какой смысл в таком же велосипеде но уровнем выше? У него проблемы будут иные? Или что?
     
     
  • 7.52, thirteensmay (?), 10:06, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Смысл в безопасности, соединения устанавливаются в контексте безопасности HTML документа, грубо говоря не с кем попало а только с родным доменом, чтобы такое стало возможно надо подняться до уровня HTTP, но само взаимодействие осуществляется по TCP и не избыточно, единственно что там есть от HTTP это один заголовок во время хендшейка, а дальше все тупо с помощью байтов-разделителей и указания длин фреймов.
     

  • 1.8, аноним (?), 18:47, 10/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    если кто не в курсе, внимательно читайте доки.
    это совсем не те сокеты, о которых вы могли бы подумать.
     
  • 1.10, Аноним (-), 19:17, 10/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    js  + Canvas + ... + это = html  в прямом виде нафиг?

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

     
     
  • 2.39, szh (ok), 05:53, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    для того чтобы создавать веб приложения, а не статический контент а-ля "новости".
     
     
  • 3.53, fresco (??), 10:16, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    к сожалению да
     

  • 1.11, Iv945n (ok), 19:38, 10/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > js  + Canvas + ... + это = html  в прямом виде нафиг?

    Можно будет на JS с использованием всего остальнонго написать браузер с самостоятельным движком, который будет выполняться в браузере.

     
     
  • 2.21, User294 (ok), 21:36, 10/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Можно будет на JS с использованием всего остальнонго написать браузер

    Все уже украдено до вас. Вон в фоксе xul + js в гуе :). А движок на JS - упаси боже, не раньше чем Крэй будет в каждом доме. До тех пор будет безжалостно тормозить.

     
     
  • 3.46, ACCA (ok), 07:32, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Ты просто не в курсе - сейчас в каждом доме с десяток Крэев-2. От тормозов не спасает.
     

  • 1.12, ffsdmad (ok), 19:47, 10/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    а ajax уже не рулит?
    его хотя бы ахтунгE поддерживает
     
     
  • 2.13, Аноним (-), 20:15, 10/12/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >а ajax уже не рулит?
    >его хотя бы ахтунгE поддерживает

    А как вы через Ajax будете запрос с сервера инициировать ? Раз в секунду спрашивать со стороны клиента не появились ли новые данные ?

     
     
  • 3.15, Аноним (-), 20:20, 10/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Можно через мультиплексор сделать
     
     
  • 4.18, Аноним (-), 21:07, 10/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Можно через мультиплексор сделать

    А вы поподробнее напишите, какой в изначально однонаправленном HTTP может быть мультиплексор.

     
     
  • 5.22, thirteensmay (?), 21:41, 10/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Незнаю что там имелось в виду под мультиплексором, но вообще такое делается с помощью long pooling, реализации могут быть разные, простейший пример - открываем на клиенте скрытый iframe и сосем в него ответ серверного скрипта месседжсендера, раз в несколько минут пересоздаем iframe, ну а в сторону сервера обычным аяксом.
     
     
  • 6.42, szh (ok), 05:58, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Костыли. Хорошо что дальше одним костылем будет меньше.
     
     
  • 7.47, Аноним (-), 07:32, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не правда, не костыль, а вполне себе приемлемая практика. :)
     
     
  • 8.48, thirteensmay (?), 09:32, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Да не, таки костыль, приемлемый лишь потому что нет альтернатив, неудобный и изб... текст свёрнут, показать
     
     
  • 9.51, Аноним (-), 09:58, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Polling это тоже костыль Long-polling отличается от обычного polling-а лишь ... текст свёрнут, показать
     
     
  • 10.54, thirteensmay (?), 10:36, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да не, polling сам по себе не костыль конечно, костылем является эмулирование с ... текст свёрнут, показать
     
     
  • 11.56, Аноним (-), 11:55, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Polling от long-polling-а практически ничем не отличается, но дает выигрыш в нек... текст свёрнут, показать
     
  • 6.45, Аноним (-), 07:31, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тогда уж не long pooling, а http streaming. Он ближе будет. Но и http streaming это односторонняя связь.
     
  • 2.14, аноним (?), 20:17, 10/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >а ajax уже не рулит?

    считай, что это более экономный односессионный ажакс.


     

  • 1.16, pavlinux (ok), 20:46, 10/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > и позволяет в произвольном порядке инициировать отправку данных от сервера к

    и позволяет в произвольном порядке инициировать отправку произвольных данных от сервера к клиенту впиндюривать трояноф

     
     
  • 2.40, szh (ok), 05:54, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +5 +/
    выдерни свой CPU из материнской платы - он позволяет выполнятся троянам.
     
     
  • 3.41, pavlinux (ok), 05:55, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >выдерни свой CPU из материнской платы - он позволяет выполнятся троянам.

    Ещё один останется :)

     
     
  • 4.59, szh (ok), 15:57, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    не останавливайся на достигнутом!
     
     
  • 5.62, pavlinux (ok), 17:00, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >не останавливайся на достигнутом!

    Можно я буду в день по элементу выдёргивать?

     

  • 1.17, pavlinux (ok), 20:54, 10/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ETHERNET -> TCP -> IP -> HTTP -> HTML -> WEB SOCKETS -> ПРИЛОЖЕНИЕ

    И каждому придурку в этой цепи денег надо.

    ПРИЛОЖЕНИЕ ЖРЕТ МЕГАГЕРЦЫ, МЕГАБАЙТЫ, - МЕГАГЕРЦЫ, МЕГАБАЙТЫ - СТОЯТ ДЕНЕГ.
    HTML c ДРУЗЬЯМИ ПОРОЖДАЮТ ТРАФИК, - ТРАФИК - ДЕНЬГИ.
    ДЛЯ TCP/IP/ETHERNET НАДО ЖЕЛЕЗО - ЖЕЛЕЗО СТОИТ ДЕНЕГ.

    ДОЛЯ ПОЛЕЗНОЙ ИНФОРМАЦИИ В ЭТОЙ ЦЕПИ РАВНА 1%

    ВЫВОД: 99% НАСЕЛЕНИЯ ПЛАНЕТЫ ПОРОЖНЯК.

      

     
     
  • 2.24, thirteensmay (?), 22:03, 10/12/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну никто же не заставляет, не хотите - не юзайте, программируйте железки напрямую, только это долго и менее гибко если что, такчто плюсы всеравно есть.
     
     
  • 3.29, ixrws (??), 23:00, 10/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    павлин дело пишет. О какой гибкости вы говорите? xulrunner, Qt - это уже давно обкатанные технологии, способные на гораздо большее чем html5, с помощью них легче разрабатывать и быстрее. Я уже молчу про Java.
     
     
  • 4.33, thirteensmay (?), 23:32, 10/12/2009 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да дело, сами начинаем новый проект на Qt, но не все же так однозначно, обычное приложение компилить надо, инсталлить, разные оси, архитектуры, кастрированные девайсы без доступа, права пользователя всякие, лицензии, теоретически даже зависимость от нокии, да и вообще целый класс задач типа всяких форумов, корпоративных порталов, интернет представительств, или скажем всякие CRM/ERP в web по моему лучше смотрятся.
     
  • 2.27, анон (?), 22:49, 10/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Mr. Freemen, Вы?
     
  • 2.44, User294 (ok), 06:43, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >ETHERNET -> TCP -> IP -> HTTP -> HTML -> WEB SOCKETS -> ПРИЛОЖЕНИЕ

    Ты еще про пять вложенных уровней виртуализации забыл. А также vpn-ы и прочая. Так что зайдя однажды на шелл ты всего лишь сойдешь с ума в тщетных попытках осознать - а куда же тебя собственно занесло. Ну например, твой "эзернет" может оказаться VPNом в виртуалочке. Протунеляным на какую-то еще виртуалочку. Может быть даже на том же хосте или даже виртуалке. И спасибо если оно работает не через TCP пропущенный over HTTP :).Кстати да, с помощью гугл-байды можно наконец то будет тунелить HTTP-проксики с непрофильными целями без тормозов как у HTTP-tunnel, спасибо гугелю за это :-)

    Следствие #1: хороший админ слепит столько разнообразных хитро взаимодействующих слоев что хакеры сойдут с ума при попытке осознать что за фигню им подсунули.

    Следствие #2: хороший хакер все-таки вкурит что нагородил админ и в отместку перехреначит все так что с ума будет сходить уже админ :)  

     
  • 2.49, Piter_Ring (ok), 09:36, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ETHERNET -> TCP -> IP -> HTTP -> HTML -> WEB SOCKETS -> ПРИЛОЖЕНИЕ

    ^^^^^^^^^^^^^^^^^^^^^^^^^^
    ошибочка однако
    правельнее:
    ETHERNET ->  IP -> TCP -> HTTP -> HTML -> WEB SOCKETS -> ПРИЛОЖЕНИЕ

     
     
  • 3.50, Wizard (??), 09:53, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Про семь уровней модели OSI процитировать?
     
  • 3.55, thirteensmay (?), 11:04, 11/12/2009 [^] [^^] [^^^] [ответить]  
  • +2 +/
    правельнее да не правильно, мы же про WEB SOCKETS, вот его в первую очередь на место и положите, позиции на 2 левее ;)
     

  • 1.26, Gambler (ok), 22:17, 10/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что-то в этом роде давно нужно было сделать, однако странно как-то идея реализована.

    Почитайте про протокол:
    http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-55

     
     
  • 2.35, thirteensmay (?), 23:58, 10/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    а че странно ? ну вроде как одно соединение на туда-сюда, в контексте общей безопасности типа аякса насколько я понял, с возможностью событийной модели, разве что с фреймингом чето както мутно, ито просто неохото толком вникать, в любом случае прикладному программеру это скорее всего и невидно будет, а все остальное вроде как стандартно. ?
     
     
  • 3.63, Чь то имя (?), 10:49, 12/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Сервера теперь будут пухнуть открытыми веб-сокетами. Радуйся киберфлебустьер, тебе датут новое оружие...
     
     
  • 4.64, anonymous (??), 18:13, 12/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > Сервера теперь будут пухнуть открытыми веб-сокетами

    Странно, что об этом никто не сказал раньше. Это что, не проблема?

     
  • 4.66, Аноним (-), 20:27, 12/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Сервера теперь будут пухнуть открытыми веб-сокетами. Радуйся киберфлебустьер, тебе датут новое оружие...

    Ничего подобного, как был стандартный 80 порт так и останется. Соединение изначально всегда инициируется клиентом и уже по установленному клиентом каналу сервер может слать данные. Главное преимущество от разных пуллинг методов, что никаких лишних HTTP заголовков передаваться не будет.


     
     
  • 5.67, Чь то имя (?), 10:00, 13/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    А что мешает производить атаки через порт 80, внедрив например IFRAME и жабой открывать нужные сокеты на нужные сервера? Браузер клиента вообще может превратиться в передаточное звено паразитного трафика.
    Благодаря этому "изобретению" теперь нужны дополнительные мезанизмы файерволам, что бы анализировать, чего там в веб сокете происходит.
     
     
  • 6.68, thirteensmay (?), 11:51, 14/12/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Мешает то что вы путаете жабьи сокеты и вебсокеты, первые не заработают пока вы не дадите на то явного разрешения, а вторые могут устанавливать соединение только с родным доменом, более того, подобный функционал в принципе уже давно доступен в виде аякса и лонгпулинга, никаких новых возможностей вебсокеты не добавляют, они просто более экономичны и удобны.
     

  • 1.65, serg1224 (ok), 18:19, 12/12/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >позволяет в произвольном порядке инициировать отправку
    >данных от сервера к web-приложению и наоборот, от web-приложения к серверу.

    Надеюсь, что модуль для iptables уже пишут... :-)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру