http.js 总结

HTTP 模块

概述:HTTP模块,用于创建web服务器,接收用户请求与响应

加载http模块,创建web服务器

// 加载http模块
var http = require('http');
// 创建web服务器
var server = http.createServer(function(req,res){
    // req 请求 res 响应
    // 响应数据
    //响应头 响应内容 响应结束
    res.writeHead(200,{content-type:'text/html'});
    res.write('Hello');
    res.end();
});

//记忆 请求 链接 偏远地址 定义一个ip地址的数组
var ip=req.connection.removeAddress;
    //禁止的ip地址 定义一个数组
  var dropAddress=[
     '192.168.125.64',
     '192.168.125.75',
   ]
 //判断当前的用户的ip是否在限制范围内
 //如果该ip在该数组中不存在则该索引为-1
 //如果该ip在该数组中存在则返回+1
 if(dropAddress.indexOf(ip)!=-1){
    //如果用户请求的ip在数组里面 响应回去 
    res.write('<h3>你tm的傻</h3>');
    res.end();
 }else{
    res.write('<h3>欢迎</h3>');
    res.end();
 }

 // 设置监听端口
server.listen('8080',function(){
console.log('服务器已经在localhost:8080位置运行了...');
//端口号是指当用户同时做很多业务的时候 每一个端口号可以记录不同的数据

获取请求的URL地址:req.url
获取请求的方法:req.method
http.get() 发送GET请求
http.request() 发送POST请求

URL模块

概述:用于解析url地址
// 加载模块
var url = require(‘url’);
//解析url地址
url.parse() // 解析URL地址,返回包含相关信息的对象
url.parse().ext//获取文件的扩展名字相当于底下的那种写法
== var path=require(‘path’);
== var extname=path.ext(url);
path.parse().base==path.basename;//获取文件名字
path.parse().dir==path.dirname;//获取目录名字
//格式化路径 把url对象拼接成一个路径
var urlObj = {
protocol : ‘https:’,
host : ‘www.huxiaoshuai.com’,
port : ‘8080’,
pathname : ‘/user/index.html’
}
var newUrl=url.format(urlObj);
console.log(newUrl);
//https://www.huxiaoshuai.com/user/index.html
url.resove() // 拼接格式化url地址
url.format() // 根据包含url地址的对象返回拼接后的url的
信息

QueryString模块

概述:用于解析和格式化URL查询字符串

// 加载模块
var qs = require('querystring');

qs.parse() 格式化查询字符串,返回参数对象
qs.stringify() 格式化对象,返回字符串

Path 路径

概述:用于解析路径相关信息

// 加载模块
var path = require('path');
path.basename()     // 获取文件名
path.extname()      // 获取扩展名
//var res=path.extname(url);
//console.log(extname);
//var extname = path.parse(fileUrl).ext;
//console.log(extname);
path.dirname()      // 获取路径名    
path.format()       // 格式化路径
path.isAbsolute()   // 判断是否是绝对路径
path.join()         // 拼接字符串为路径
path.parse()        // 解析路径
path.resolve()      // 将路径转为绝对地址

顶层变量:global

//获取当前文件所在的目录
console.log(__dirname);
//获取当前的文件目录和文件名
console.log(__filename);
//事件开始到事件结束
console.time(‘memeda’);
for(var i=0;i<=10000;i++){
}
console.log.timeEnd(‘memeda’);
/*
向外暴露对象
module.exports
*/
/*
定时器
setInterval()周期性定时器
setTimeout()一次性定时器
clearTimeout()清除一次性定时器
*/

根据后缀来响应html里面的文件的具体写法

1 在请求路径前面加上./
2 加载一个模块 var extname=path.extname(req.url);
3 fs.readFile(‘./’+req.url,function(err,data){
//本应该是直接写
res.writeHead(200,{content-type:’text/html’});
res.write(data);
res.end();
//但是不知道是什么后缀名字
res.writeHead(200,{content-type:getType(extname)});
res.write(data);
res.end();
})
4 该后缀数组定义
var types = { “.323”:”text/h323” ,
“.3gp”:”video/3gpp” ,
“.aab”:”application/x-authoware-bin” ,
“.json”:”application/json”
};
//调用函数
function getType(extname){
return types[extname];
}
//暴露模块
module.exports=getType;

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值