Google
La necesidad de agregar una nueva API se explica al brindar la capacidad de interactuar con dispositivos de red que usan protocolos nativos que se ejecutan sobre TCP y UDP y no admiten la comunicación a través de HTTPS o WebSockets. Cabe señalar que la API Raw Sockets complementará las interfaces de programación de bajo nivel WebUSB, WebMIDI y WebBluetooth ya disponibles en el navegador, que permiten la interacción con dispositivos locales.
Para evitar un impacto negativo en la seguridad, la API Raw Sockets solo permitirá llamadas de red iniciadas con el consentimiento del usuario y limitadas a la lista de hosts permitidos por el usuario. El usuario deberá confirmar explícitamente el primer intento de conexión para el nuevo host. Usando una bandera especial, el usuario puede deshabilitar la visualización de solicitudes de confirmación de operación repetidas para conexiones repetidas al mismo host. Para evitar ataques DDoS, la intensidad de las solicitudes a través de Raw Sockets será limitada y el envío de solicitudes solo será posible después de la interacción del usuario con la página. Los paquetes UDP recibidos de hosts no aprobados por el usuario serán ignorados y no llegarán a la aplicación web.
La implementación inicial no prevé la creación de sockets de escucha, pero en el futuro es posible proporcionar llamadas para aceptar conexiones entrantes desde localhost o una lista de hosts conocidos. También se menciona la necesidad de protegerse contra ataques "
Entre los riesgos que pueden surgir al implementar una nueva API está su posible rechazo por parte de los fabricantes de otros navegadores, lo que podría generar problemas de compatibilidad. Los desarrolladores de los motores Mozilla Gecko y WebKit todavía están
desarrolladores de sitios de Internet
Fuente: opennet.ru