小白:大叔盟劫,什么是上網(wǎng)?
大叔:從學(xué)術(shù)上說(shuō)与纽,上網(wǎng)是指操作電子計(jì)算機(jī)或者手機(jī)進(jìn)入互聯(lián)網(wǎng)侣签,在網(wǎng)絡(luò)上進(jìn)行信息搜索、查詢(百度百科)急迂。用大白話說(shuō)影所,就是我們每天看網(wǎng)頁(yè),玩網(wǎng)游僚碎、手游猴娩,聊微信,qq勺阐,看抖音卷中,快手,他們都可以叫上網(wǎng)渊抽。
小白:這些東西有什么區(qū)別沒(méi)蟆豫?
大叔:本質(zhì)上是沒(méi)有區(qū)別,只是表現(xiàn)形式不一樣懒闷,因?yàn)槿f(wàn)變不離其宗嘛十减。不過(guò)如果按輩分來(lái)講徙瓶,網(wǎng)頁(yè)可以算是其他的老祖宗。最開(kāi)始它專為瀏覽器而生嫉称,網(wǎng)頁(yè)上面有圖片侦镇、文字、音樂(lè)织阅、電影壳繁,把很多網(wǎng)頁(yè)放在一起,就組成了網(wǎng)站荔棉,像經(jīng)常逛的淘寶闹炉,京東之類的。跟我們的word润樱,Excel渣触,txt一樣,它其實(shí)就是一個(gè)文件壹若。只不過(guò)我們用了特殊的標(biāo)記語(yǔ)言(HTML)嗅钻,把文字,圖片店展,表格放在了一塊养篓,不是用office 的word,excel打開(kāi)它赂蕴,而是用瀏覽器打開(kāi)它柳弄,然后瀏覽器就按照標(biāo)記語(yǔ)言把他們渲染出來(lái),組織成我們看到的樣子概说。你新建一個(gè)文本文件(txt),里面寫(xiě)上hello world碧注,保存,把后綴改成.html糖赔。用瀏覽器打開(kāi)它萍丐,然后就會(huì)看見(jiàn)一個(gè)最原始的網(wǎng)頁(yè)。而網(wǎng)頁(yè)一般放在服務(wù)器中挂捻,當(dāng)我們發(fā)起請(qǐng)求時(shí)碉纺,由服務(wù)器來(lái)返回給瀏覽器船万】倘觯可以參考這個(gè)w3school來(lái)學(xué)習(xí)開(kāi)發(fā)網(wǎng)頁(yè)的語(yǔ)言。
小白:那什么是服務(wù)器呢耿导?它跟我們用的電腦有區(qū)別嗎声怔?
大叔:服務(wù)器啊,其實(shí)就是一臺(tái)電腦舱呻,它只是比我們平常的電腦可能運(yùn)行的更快醋火,網(wǎng)速更好悠汽。我們的網(wǎng)頁(yè)放在服務(wù)器的某個(gè)文件夾下面,當(dāng)我們?cè)跒g覽器里輸入某個(gè)鏈接或者域名時(shí)芥驳,瀏覽器發(fā)起一個(gè)請(qǐng)求柿冲,這個(gè)請(qǐng)求通過(guò)層層關(guān)卡,最終到達(dá)服務(wù)器兆旬。服務(wù)器把請(qǐng)求對(duì)應(yīng)的網(wǎng)頁(yè)文件返回給瀏覽器假抄,瀏覽器收到后開(kāi)始解析渲染,渲染成我們看到的網(wǎng)頁(yè)丽猬。這個(gè)原理過(guò)程當(dāng)然不是三言兩語(yǔ)能說(shuō)清楚的宿饱。你大叔給你舉個(gè)最簡(jiǎn)單的網(wǎng)站服務(wù)器例子說(shuō)明一下。
在服務(wù)器上脚祟,能完成將請(qǐng)求對(duì)應(yīng)的內(nèi)容返回給瀏覽器這件事的軟件很多谬以,比如Apache,Nginx 由桌,IIS 为黎,nodejs等。它們各有優(yōu)缺點(diǎn)行您,各有用途碍舍。因?yàn)榇笫迳瞄L(zhǎng)javascript,所以以nodejs為例邑雅。
在這個(gè)菜鳥(niǎo)教程上片橡,我們可以按照一步步指導(dǎo)來(lái)完成node.js網(wǎng)站服務(wù)器的搭建,當(dāng)然也可以去它們的官網(wǎng)學(xué)習(xí)淮野。
要用Node.js 捧书,當(dāng)然要先安裝它,安裝方法骤星,按官網(wǎng)介紹就可以经瓷。安裝完后,新建一個(gè)javascript文件洞难,叫helloWorld.js舆吮,用他來(lái)存放我們的代碼。敲入以下代碼队贱,然后保存色冀。javascript的學(xué)習(xí)可以參考這個(gè)w3school javascript教程。
var http = require(‘http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(8080);
console.log(‘hello world server is running’);
在命令行窗口柱嫌,敲node helloWorld.js锋恬,然后用域名來(lái)訪問(wèn),這樣你就實(shí)現(xiàn)了一個(gè)最簡(jiǎn)單的helloWorld服務(wù)器编丘。如圖:
運(yùn)行前請(qǐng)確保你已經(jīng)按照操作將node環(huán)境初始化完成与学,并且安裝了相應(yīng)的類庫(kù)彤悔。