小白:大叔,什么是上网?
大叔:从学术上说,上网是指操作电子计算机或者手机进入互联网,在网络上进行信息搜索、查询(百度百科)。用大白话说,就是我们每天看网页,玩网游、手游,聊微信,qq,看抖音,快手,他们都可以叫上网。
小白:这些东西有什么区别没?
大叔:本质上是没有区别,只是表现形式不一样,因为万变不离其宗嘛。不过如果按辈分来讲,网页可以算是其他的老祖宗。最开始它专为浏览器而生,网页上面有图片、文字、音乐、电影,把很多网页放在一起,就组成了网站,像经常逛的淘宝,京东之类的。跟我们的word,Excel,txt一样,它其实就是一个文件。只不过我们用了特殊的标记语言(HTML),把文字,图片,表格放在了一块,不是用office 的word,excel打开它,而是用浏览器打开它,然后浏览器就按照标记语言把他们渲染出来,组织成我们看到的样子。你新建一个文本文件(txt),里面写上hello world,保存,把后缀改成.html。用浏览器打开它,然后就会看见一个最原始的网页。而网页一般放在服务器中,当我们发起请求时,由服务器来返回给浏览器。可以参考这个w3school来学习开发网页的语言。
小白:那什么是服务器呢?它跟我们用的电脑有区别吗?
大叔:服务器啊,其实就是一台电脑,它只是比我们平常的电脑可能运行的更快,网速更好。我们的网页放在服务器的某个文件夹下面,当我们在浏览器里输入某个链接或者域名时,浏览器发起一个请求,这个请求通过层层关卡,最终到达服务器。服务器把请求对应的网页文件返回给浏览器,浏览器收到后开始解析渲染,渲染成我们看到的网页。这个原理过程当然不是三言两语能说清楚的。你大叔给你举个最简单的网站服务器例子说明一下。
在服务器上,能完成将请求对应的内容返回给浏览器这件事的软件很多,比如Apache,Nginx ,IIS ,nodejs等。它们各有优缺点,各有用途。因为大叔擅长javascript,所以以nodejs为例。
在这个菜鸟教程上,我们可以按照一步步指导来完成node.js网站服务器的搭建,当然也可以去它们的官网学习。
要用Node.js ,当然要先安装它,安装方法,按官网介绍就可以。安装完后,新建一个javascript文件,叫helloWorld.js,用他来存放我们的代码。敲入以下代码,然后保存。javascript的学习可以参考这个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,然后用域名来访问,这样你就实现了一个最简单的helloWorld服务器。如图:
运行前请确保你已经按照操作将node环境初始化完成,并且安装了相应的类库。