javascript - Är det möjligt att skriva en webbserver som körs i en modern webbläsare som Chrome, Firefox, IE, Safari?
I Substratum Initial Coin Offering (ICO) pratar White Paper om att lösa problem med det nuvarande Internet, genom att tillåta värdar att bli webbhotell.
Baserat på läsningen av vitboken verkar det som om teamet har för avsikt att skriva Javascript som körs i vilken modern webbläsare som helst (IE, Safari, Chrome, Firefox) på vilken plattform som helst (Windows, Linux, etc.) för att göra den till en webbserver.
Eftersom vitboken är väldigt allmän är jag inte säker på om teamets Javascript också har någon form av åtkomst till uPnP-teknik som talar om för den närmaste routern att vidarebefordra port 80 till webbläsaren (som antas) körs på webbservern.
Vet någon som är bekant med aktuella webbläsare om webbläsare kan:
- Att tillhandahålla åtkomst till uPnP som kan instruera routrar att göra portvidarebefordran?
- Köra en webbserver med Javascript?
Tack. (Jag är bekant med allmän programmering, bara inte med vad nuvarande webbläsare kan. Vänligen begränsa svaren till vad webbläsare kan göra)
Svar #1
En webbläsare kan normalt inte ta emot HTTP-förfrågningar som en webbserver, men den kan skicka och ta emot meddelanden från andra webbläsare via WebRTC. PeerServer-projektet simulerar en webbserver i en webbläsare på detta sätt, genom att använda en webbläsare som "klient" och den andra som "server."
Det finns några JavaScript-bibliotek såsom nohost som använder service workers för att efterlikna en filserver på klientsidan. Detta är uppenbarligen möjligt eftersom service workers kan skicka anpassade svar på HTTP-förfrågningar.
Det kan till och med vara möjligt att köra en Linux-server i en webbläsare i en x86-emulator i JavaScript, men jag vet inte om detta redan har gjorts. Eftersom webbläsare inte kan ta emot HTTP-förfrågningar direkt, skulle servern behöva använda en omvänd proxytunnel för att kunna ansluta till en klient.