node中http模块基础知识
来源:互联网 发布:php文件下载 编辑:程序博客网 时间:2024/05/21 10:27
http模块:
var http = require('http');//开启一个服务器,这是一个异步函数。事实上node中基本所有函数都是异步的。var server = http.createServer(function (req, res){ //req表示request就是用户的请求 //res表示response就是服务器的响应 console.log('创建服务器成功') res.end("Hello World");});server.listen(8080, '127.0.0.1');console.log('Server running on port 8080.');执行node 1.js,‘创建服务器成功’并没有在控制台输出
当访问http://localhost:8080/时,页面显示Hello World,控制台的结果:
Node.js没有根目录,他不用建设在任何服务器软件之上
var http = require('http');//引入模块fs,这个模块可以读取服务器上硬盘上的文件,写入文件等var fs = require("fs");//开启一个服务器,这是一个异步函数。事实上node中基本所有函数都是异步的。var server = http.createServer(function (req, res){//fs模块有一个方法叫做readFile,可以异步读取文件内容//这个函数是一个异步函数,所以读到的内容,通过回调函数返回//系统会自动帮我们注入两个参数,第一个实参是错误信息,如果没有错误//第二个实参就是文件的内容fs.readFile("./pages/index.html",function(err,data){//读取的是信息流,是Buffer缓冲的二进制的东西,调用toString()console.log(data.toString());});//req表示request就是用户的请求//res表示response就是服务器的响应 console.log('创建服务器成功') res.end("Hello World");});server.listen(8080, '127.0.0.1');console.log('Server running on port 8080.');
var http = require('http');//引入模块fs,这个模块可以读取服务器上硬盘上的文件,写入文件等var fs = require("fs");//开启一个服务器,这是一个异步函数。事实上node中基本所有函数都是异步的。var server = http.createServer(function (req, res){//fs模块有一个方法叫做readFile,可以异步读取文件内容//这个函数是一个异步函数,所以读到的内容,通过回调函数返回//系统会自动帮我们注入两个参数,第一个实参是错误信息,如果没有错误//第二个实参就是文件的内容fs.readFile("./pages/index.html",function(err,data){//读取的是信息流,是Buffer缓冲的二进制的东西,调用toString()res.end(data.toString());});});server.listen(8080, '127.0.0.1');console.log('Server running on port 8080.');访问http://127.0.0.1:8080/显示的页面是:
但是index.html在F:\mynode\pages路径下,访问http://127.0.0.1:8080/中并没有相关的路径信息,所以说Node.js没有根目录。
现在Node.js监听8080端口上所有路径,http://127.0.0.1:8080/...后面写任何东西都能得到index.html的页面
var http = require('http');var fs = require("fs");var server = http.createServer(function (req, res){console.log(req.url);res.end("hello");});server.listen(8080, '127.0.0.1');console.log('Server running on port 8080.');req.url表示请求的路径:
访问http://127.0.0.1:8080/abc,
浏览器每次发起请求,都会同时请求一次favicon.ico
index.html内容:
<!DOCTYPE html><html><head><meta charset="utf-8" /><style> .box{ width: 200px; height: 200px; background-color: red; } </style><title></title></head><body><div class="box"></div></body></html>index2.html内容:
<!DOCTYPE html><html><head><meta charset="utf-8" /><style> .box{ width: 200px; height: 200px; background-color: yellow; } </style><title></title></head><body><div class="box"></div></body></html>
var http = require('http');var fs = require("fs");var server = http.createServer(function (req, res){//设置UTF-8res.setHeader("Content-Type","text/html;charset=UTF-8");//req表示用户的访问信息,url属性表示访问路径//写一个顶层路由,就是根据用户访问了什么做不同的事情switch(req.url){case "/a" : fs.readFile("./pages/index.html",function(err,data){ res.end(data.toString()); }); break;case "/b" :fs.readFile("./pages/index2.html",function(err,data){ res.end(data.toString()); }); break;default :res.end("对不起,不存在该页面") break;}});server.listen(8080, '127.0.0.1');console.log('Server running on port 8080.');http://127.0.0.1:8080/a
http://127.0.0.1:8080/b
http://127.0.0.1:8080/c
网页中插入图片:虽然图片和index.html在同一个文件夹下,但是图片的src写的是路由地址,而不是物理地址。
<!DOCTYPE html><html><head><meta charset="utf-8" /><style> .box{ width: 200px; height: 200px; background-color: red; } </style><title></title></head><body> <div class="box"></div> <img src="pic1.jpg"/></body></html>
var http = require('http');var fs = require("fs");var server = http.createServer(function (req, res){//设置UTF-8res.setHeader("Content-Type","text/html;charset=UTF-8");//req表示用户的访问信息,url属性表示访问路径//写一个顶层路由,就是根据用户访问了什么做不同的事情switch(req.url){case "/a" : fs.readFile("./pages/index.html",function(err,data){ res.end(data.toString()); }); break;case "/b" :fs.readFile("./pages/index2.html",function(err,data){ res.end(data.toString()); }); break; case "/pic1.jpg" : fs.readFile("./pages/animal.jpg",function(err,data){ //图片不需要toString()res.setHeader("Content-Type","image/jpg") res.end(data); }); break;default :res.end("对不起,不存在该页面") break;}});server.listen(8080, '127.0.0.1');console.log('Server running on port 8080.');
阅读全文
0 0
- node中http模块基础知识
- Node中http模块详解(客户端篇)
- Node.js12 Http模块
- Node.js HTTP模块
- Node Http模块
- 【Node核心模块HTTP】
- Node中http模块详解(服务端篇)
- Node中http模块详解(服务端篇)
- Node中http模块详解(服务端篇)
- Node:Q与node http模块搭配
- Node.js 的 http 模块
- Node.js中的HTTP模块
- node http模块学习笔记
- node.js的http模块
- Node.js基本模块http
- Node.js HTTP模块与事件模块
- Node.js中request模块与http模块之间的区别
- node.js fs,http 模块用法
- python 中的__future__模块
- priority_queue
- 块级元素和行内元素
- javascript知识点
- LeetCode 之 ZigZag Conversion
- node中http模块基础知识
- Deep Learning(深度学习) 资料库
- 《乖,摸摸头》经典语录
- 第二周学习内容
- 【OpenCV】重映射及仿射变换
- Leetcode 算法题10
- c猜数字游戏
- 温湿度传感器之DHT11
- 使用VS2017调试Linux C++代码