Node.js 关于HTML文档中的req.url理解
来源:互联网 发布:linux 更新软件 编辑:程序博客网 时间:2024/06/07 16:22
index.js
var http = require('http'),fs = require('fs');var server = http.createServer(function(req,res){ if(req.method == 'GET' && req.url.substr(0,7) == '/images' && req.url.substr(-4) == '.jpg'){ fs.stat(__dirname + req.url,function(err,stats){ if(err || !stats.isFile()){ res.writeHead(404); res.end('Not Found'); return; } serve(__dirname + req.url,'application/jpg'); console.log(req.url); }); }else if(req.method == 'GET' && req.url == '/'){ serve(__dirname + '/index.html','text/html'); console.log(req.url); }else{ res.writeHead(404); res.end('Not Found'); console.log(req.url); } function serve(path,type){ res.writeHead(200,{'Content-Type':type}); fs.createReadStream(path).pipe(res); }});server.listen(3000);
index.html
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title></title></head><body><h1>My webite</h1><img src="/images/1.jpg"><img src="/images/2.jpg"><img src="/images/3.jpg"><img src="/images/4.jpg"></body></html>
目录
cmd
访问127.0.0.1:3000,控制台输出 “\” 后输出index.html各图片src,理解为请求html文档后,在文档中发现src继续请求服务器中目录,故在服务器文件index.js中符合第一个判断,并把文件的url赋值给Stream流(serve函数使用Stream流),在Stream流中,通过res响应输出文件。
所以此过程中访问服务器5次,除去第一次访问,234次分别输出3张图,最后一次没有找到文件,返回函数。
0 0
- Node.js 关于HTML文档中的req.url理解
- Node.js官方文档:关于Node.js
- Node.js中的URL模块
- node.js提示req.body为undefined
- 关于本文档 - Node.js API 文档
- nodejs取参四种方法req.body,req.params,req.param,req.body多适用于restful风格url中的参数的解析 req.query与req.params的区别 r
- node.js中的url.parse方法使用说明
- node.js中的url.resolve方法使用说明
- node.js中的url.parse方法使用说明
- node.js中的url.parse方法使用说明
- node.js 获取url中的各个参数
- node.js中的url.parse方法使用说明
- Node.js中的URL处理方法
- node.js 获取req 参数的三种方式
- Node.js中,获取req请求的原始IP
- 对于node.js中的模块的理解
- Node.js之http模块、url模块菜鸟级理解
- Node.js简介url
- servlet的工作原理
- java源代码 Reference和ReferenceQueue分析
- Codeforces Round #402 (Div. 2) C. Dishonest Sellers 贪心、排序
- AJAX总结
- HDU1069_Monkey and Banana_动态规划 求 最长下降子序列
- Node.js 关于HTML文档中的req.url理解
- 猴子分桃解题原理
- Nebula_Level00
- 使用spring的JdbcTemplate进行查询的三种回调方式的比较
- [jvm][面试] 并发收集器 CMS(Concurrent Mark-Sweep)
- python之TCP客户端和服务器端编写
- Codeforces Round #306 (Div. 2) B. Preparing Olympiad dfs
- [leetcode]ZigZag Conversion
- 归并排序,插入排序,快速排序,冒泡排序,选择排序的思想