{"id":92099,"date":"2020-08-22T19:42:21","date_gmt":"2020-08-22T17:42:21","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/dlya-chrome-razvivaetsya-api-dlya-pryamyh-tcp-i-udp-kommunikaczij"},"modified":"2020-08-22T19:42:21","modified_gmt":"2020-08-22T17:42:21","slug":"dlya-chrome-razvivaetsya-api-dlya-pryamyh-tcp-i-udp-kommunikaczij","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/dlya-chrome-razvivaetsya-api-dlya-pryamyh-tcp-i-udp-kommunikaczij","title":{"rendered":"For Chrome, an API for direct TCP and UDP communications is being developed.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Google Inc. <noindex><a rel=\"nofollow\" href=\"https:\/\/groups.google.com\/a\/chromium.org\/g\/blink-dev\/c\/ARtkaw4e9T4\/m\/npjeMssPCAAJ\">has begun<\/a><\/noindex> implementing a new API in Chrome <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/WICG\/raw-sockets\/blob\/master\/docs\/explainer.md\">Raw Sockets<\/a><\/noindex>, allowing web applications to establish direct network connections using TCP and UDP protocols. In 2015, the W3C consortium made an attempt to standardize the API \u201c<noindex><a rel=\"nofollow\" href=\"https:\/\/www.w3.org\/TR\/tcp-udp-sockets\/\">TCP and UDP Socket<\/a><\/noindex>\u201d, but the working group members could not reach a consensus, and the development of this API was halted.<\/p>\n<p>The need for adding a new API is justified by the opportunity to interact with network devices that use their own protocols operating over TCP and UDP, and do not support interaction via HTTPS or WebSockets. It is noted that the Raw Sockets API will complement existing low-level programming interfaces in the browser, such as WebUSB, WebMIDI, and WebBluetooth, allowing interaction with local devices.<\/p>\n<p>To mitigate negative security impacts, the Raw Sockets API will allow network requests only initiated with user consent and limited to a list of user-approved hosts. The user will have to explicitly confirm the first connection attempt for a new host. By using a special flag, the user can disable the repeat request confirmation prompts for subsequent connections to the same host. To prevent DDoS attacks, the frequency of requests through Raw Sockets will be limited, and sending requests will only be possible after user interaction with the page. UDP packets received from hosts not approved by the user will be ignored and will not reach the web application.<\/p>\n<p>  The initial implementation does not provide for the creation of listening sockets, but the provision of calls to accept incoming connections from localhost or a list of known hosts may not be ruled out in the future. It also mentions the need to protect against \u201c<noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52169\">DNS rebinding<\/a><\/noindex>\u201d attacks (an attacker can change the IP address for a user-approved domain name at the DNS level and gain access to other hosts). Access to domains resolving to 127.0.0.0\/8 and intranet networks is planned to be blocked (requests to localhost are proposed to be allowed only with explicit input of the IP address in the confirmation form).<\/p>\n<p>Among the risks that may arise when implementing a new API is its potential rejection by other browser vendors, which could lead to compatibility issues. The developers of Mozilla Gecko and WebKit have not yet taken a position <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/mozilla\/standards-positions\/issues\/431\">on<\/a><\/noindex> the possible implementation of the Raw Sockets API, but Mozilla had previously proposed a <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Archive\/B2G_OS\/API\/TCPSocket\">similar API<\/a><\/noindex>. If approved at the initial stage, the Raw Sockets API is planned to be activated in Chrome OS, and only afterward offered to Chrome users on other systems.<\/p>\n<p>Web developers <noindex><a rel=\"nofollow\" href=\"https:\/\/discourse.wicg.io\/t\/filling-the-remaining-gap-between-websocket-webrtc-and-webtranspor\/4366\">have responded positively<\/a><\/noindex> to the new API, expressing many new ideas about its application in areas where the XMLHttpRequest, WebSocket, and WebRTC APIs are insufficient (ranging from creating browser clients for SSH, RDP, IMAP, SMTP, IRC, and printing protocols to developing distributed P2P systems with DHT (Distributed Hash Table), supporting IPFS, and interacting with specific IoT device protocols).<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Source: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=53582\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043b\u0430 \u043a \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 Chrome \u043d\u043e\u0432\u043e\u0433\u043e API Raw Sockets, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e web-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u044f\u043c\u044b\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 TCP \u0438 UDP. \u0412 2015 \u0433\u043e\u0434\u0443 \u043a\u043e\u043d\u0441\u043e\u0440\u0446\u0438\u0443\u043c\u043e\u043c W3C \u0443\u0436\u0435 \u0431\u044b\u043b\u0430 \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u044f\u0442\u0430 \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u0438 API &#171;TCP and UDP Socket&#171;, \u043d\u043e \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u043d\u0435 \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u0438 \u043a\u043e\u043d\u0441\u0435\u043d\u0441\u0443\u0441\u0430 \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u043e\u0433\u043e API \u0431\u044b\u043b\u0430 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430. \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e API [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-92099","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043b\u0430 \u043a \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 Chrome \u043d\u043e\u0432\u043e\u0433\u043e API\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/dlya-chrome-razvivaetsya-api-dlya-pryamyh-tcp-i-udp-kommunikaczij\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u043b\u044f Chrome \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f API \u0434\u043b\u044f \u043f\u0440\u044f\u043c\u044b\u0445 TCP \u0438 UDP \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u0439 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043b\u0430 \u043a \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 Chrome \u043d\u043e\u0432\u043e\u0433\u043e API\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/dlya-chrome-razvivaetsya-api-dlya-pryamyh-tcp-i-udp-kommunikaczij\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-08-22T17:42:21+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-08-22T17:42:21+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47An API for direct TCP and UDP communications is being developed for Chrome | ProHoster","description":"Google has begun implementing a new API in Chrome","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/dlya-chrome-razvivaetsya-api-dlya-pryamyh-tcp-i-udp-kommunikaczij","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u043b\u044f Chrome \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f API \u0434\u043b\u044f \u043f\u0440\u044f\u043c\u044b\u0445 TCP \u0438 UDP \u043a\u043e\u043c\u043c\u0443\u043d\u0438\u043a\u0430\u0446\u0438\u0439 | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043b\u0430 \u043a \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 Chrome \u043d\u043e\u0432\u043e\u0433\u043e API","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/dlya-chrome-razvivaetsya-api-dlya-pryamyh-tcp-i-udp-kommunikaczij","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-08-22T17:42:21+00:00","article:modified_time":"2020-08-22T17:42:21+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"92099","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:15:35","updated":"2022-09-28 13:53:48","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/92099","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=92099"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/92099\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=92099"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=92099"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=92099"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}