{"id":162,"date":"2014-02-20T08:50:36","date_gmt":"2014-02-20T08:50:36","guid":{"rendered":"http:\/\/www.javascripttutorials.net\/?p=162"},"modified":"2020-05-04T23:48:16","modified_gmt":"2020-05-04T21:48:16","slug":"browserver-a-node-js-http-server-in-your-browser","status":"publish","type":"post","link":"https:\/\/www.javascripttutorials.net\/browserver-a-node-js-http-server-in-your-browser\/","title":{"rendered":"browserver: a node.js HTTP server in your browser"},"content":{"rendered":"<p><a href=\"https:\/\/github.com\/jed\/browserver-client\">Browserver<\/a> is an exploration in simplifying application architecture, by looking at it upside-down, and turning web browsers into Internet-addressable web servers. It exposes a node.js-like API in the browser, tunnelling HTTP over WebSockets so that you don&#8217;t need to roll your own custom code to connect the various pieces of your web architecture to your end clients.<!--more--><\/p>\n<p>Instead, you can move the complexity of your application to the edges by making your end clients first-class HTTP servers, and then use your existing HTTP-related infrastructure to communicate with them.<\/p>\n<p><iframe loading=\"lazy\" title=\"\u0df4 browserver: a node.js HTTP server, in your browser (Jed Schmidt at Reject.js 2012)\" width=\"730\" height=\"411\" src=\"https:\/\/www.youtube.com\/embed\/iU601Db3wjs?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>Video producer: <a href=\"http:\/\/rejectjs.org\/\">http:\/\/rejectjs.org\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Browserver is an exploration in simplifying application architecture, by looking at it upside-down, and turning web browsers into Internet-addressable web servers. It exposes a node.js-like API in the browser, tunnelling HTTP over WebSockets so that you don&#8217;t need to roll your own custom code to connect the various pieces of &hellip;<\/p>\n","protected":false},"author":1,"featured_media":262,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-162","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-node-js"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.javascripttutorials.net\/wp-json\/wp\/v2\/posts\/162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javascripttutorials.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javascripttutorials.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javascripttutorials.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javascripttutorials.net\/wp-json\/wp\/v2\/comments?post=162"}],"version-history":[{"count":0,"href":"https:\/\/www.javascripttutorials.net\/wp-json\/wp\/v2\/posts\/162\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javascripttutorials.net\/wp-json\/wp\/v2\/media\/262"}],"wp:attachment":[{"href":"https:\/\/www.javascripttutorials.net\/wp-json\/wp\/v2\/media?parent=162"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javascripttutorials.net\/wp-json\/wp\/v2\/categories?post=162"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javascripttutorials.net\/wp-json\/wp\/v2\/tags?post=162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}