> 服务器端框架node.js
**1. node.js是c++编写的运行在谷歌开发的V8引擎上的一个平台。
2. 由于node.js是一个独立运行的环境,不是浏览器环境,所以node.js上运行的javascript是不能够使用DOM和BOM元素的。
3. 官网安装node.js,并配置环境变量。
4. 应用node.js**
新建一个文件demo1.js
``` var http = require("http"); http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("test nodjs");
response.end(); }).listen(8899); console.log("nodejs start listen 8899 port!"); ```
在命令行下输入node demo1.js 并在浏览器下登录http:// localhost:8899就会看到自己写的与语句啦。
5. 解析代码
上面的demo1.js是一个超级简单的服务器,可以通过任意一个浏览器访问该服务器。
首先我们通过require方法导入http模块,并且把它复制给http变量。在node.js找那个有很多模块,我们可以通过require的方式引用这些模块,一旦以用这些模块之后,就可以把这些模块 赋值给一个变量。通过这个变量,我们就可以使用这个模块的所有功能,类似于c++中的#include和java中的#import。
var http = require("http");
接下来我们调用了http模块提供的函数:createServer。这个函数会返回一个web server对象。该函数的圆形如下:
http.createServer([requestListener])
其中的createListener是一个处理请求监听函数,该舰艇函数处理用户的请求和响应,比如我们可以通过下面的方式创建服务器:
var server=http.createServer(function(request, response) {
});
一旦有客户端通过浏览器请求服务器,服务器的requestlistener函数就会执行。该函数有两个参数,分别是ServerRequest对象和ServerResponse对象 。ServerRequest封装用户请求信息,ServerResponse封装相应信息。在本例中使用了ServerRequest的两个输出方法,writeHead和write,writeHead用于输出HTTP相应头,write用于输出文本详细参见node.js官方文档。
创建好服务器后,我们需要做的就是激动服务器的监听方法listen,监听是否有客服端要提供服务。一旦服务器处于监听状态,只要客户端连接该服务器,服务器就可以调用处理请求监听函数响应客户请求。
其中port是端口号。
6. 关于网络协议
这个我还从来没有学过,毕竟大二,那是大三的课程。
tcp/ip是有tcp和ip两个协议组成。
tcp负责数据的可靠性传输的问题,一有问题就发信号。要求重新传输,知道所有数据正确安全地传到目的地、
ip协议主要负责给每一台网络设备一个网络地址,保证数据传送到正确的位置。
理论上讲,通信网络比较复杂,仅仅通过tcp和ip协议是远远不够的,所以通常我们所说的icp/ip协议实际上是对TCP/IP协议栈的一个简化说法。tcp/ip协议包含了以tcp/ip为基础的一系列协议,为了完成整个网络通信的任务,会根据功能进行划分,形成一个具有层次结构的层,这些层就构成了协议栈。
tcp/ip协议栈是由4个层次组成的。从底层到高层分别是:网络接口层,网络层,传输层,应用层,每一层只和相邻的上下两层打交道,当数据在网络中传输的时候,高层会根据自己的需要向底层网络获取数据。关于每个层次的具体作用和常用协议我以后百度好了。