网络基础

TCP/IP协议
七层网络协议

DNS服务器
IP地址很重要,可以访问一个虚假的IP地址,也可已改变现有域名指向的IP地址,比如将百度改为一个Hello World的界面

服务器

首先引入http模块
var http=require('http');

创建服务器
var server=http.createServer();

监听request请求事件

server.on('request',function(req,res){
   //req:请求对象,包含了所有客户端请求的数据,请求头和请求主体  
   //res:响应对象,包含所有服务器端发送给客户端的数据,响应头和响应主题  

res.write('<h1>Woc</h1>');  
});

监听端口

server.listen(80,function(){
    console.log('服务器正在运行');
});  

上述是监听80端口

在cmd中输入
netstat -a
可以查看当前电脑中的所有活动接口

netstat -ab
可以查看是谁占用了哪些端口
(需要管理员权限)

req.url
可以根据不同的请求来获取不同的html数据与页面

HTTP响应状态码

http协议规定的服务器响应数据时的状态编码

响应状态码状态
1xx普通消息,无特殊含义
2xx表示服务器响应成功
200OK
3xx表示重定向
301永久重定向
302临时重定向
304使用缓存
4xx无法访问
403服务器理解请求,但是拒绝执行
404资源找不到
5,6字头服务器执行有错
500服务器端代码有错
502网关错误
503服务器已崩溃

状态码的使用
res.writeHead(200,{"Content-Type":"text/html;charset=utf-8");
res.writeHead(状态码,响应头对象);

响应头

Content-Type 响应的文件类型
text-html
默认编码:系统编码,GBK编码
然而Node.js里面写的中文都是utf-8编码,因此未声明编码的话就会产生乱码
Content-Length 响应内容的长度
如果响应内容长度和指定响应内容长度相同的话,就没有问题,加入内容长度为52字节,设定Length为53的话,将会不停的等待(浏览器上面会有转圈圈的标志)

MIME类型

MIME类型可以认为是文件类型的表述

常见的MIME类型

column1column2
.htmltext/html
.csstext/css
.jpgtext/javascript
.pngimage/jpeg
.gifimage/gif
.jsontext/json application/json
.xmltext/xml
.mp3-------
.mp4video/mpeg
.pdf.pdf application/pdf
.zipapplication/x-zip

后端可以生成任意规格的文件

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议