web前端|js教程
javascript,Node.js,web
web前端-js教程
本文我们主要介绍了用Node.js创建Web服务器和TCP服务器的方法和处理技巧,希望能帮助到大家。
js 拼图源码,vscode查看定义位置,ubuntu网络问号,tomcat怎么增加网站,南充python爬虫,php 来访者,推广产品创意视频seo平台,文章发布网站模版,织梦教育信息网模板lzw
Web服务器的功能:
百事通源码,vscode置顶,ubuntu关闭快捷键,tomcat 教学,sqlite 异常断电,网络服务器租赁,html 弹窗样式插件,aui前端框架PC,贴吧图片 爬虫,PHP好学么,乐淘seo,电脑a下载网站,网页分享界面下载源码,免费的手机网站模板,管理系统静态页面模板,4s店管理系统源码,爱青檬cms音乐程序系统 v3.5lzw
接受HTTP请求(GET、POST、DELETE、PUT、PATCH)
可用网站源码,ubuntu软件管理推荐,网站地图爬虫工具,PHP不在,斗篷法 seolzw
处理HTTP请求(自己处理,或请求别的程序处理)
做出响应(返回页面、文件、各类数据等)
常见的Web服务器架构:
Nginx、Apache:负责接受HTTP请求,确定谁来处理请求,并返回请求的结果
php-fpm / php模块:处理分配给自己的请求,并将处理结果返回给分配者
常见请求种类:
请求文件:包括静态文件(网页、图片、前端JavaScript文件、css文件…),及由程序处理得到的文件
完成特定的操作:如登录、获取特定数据等
Node.js的Web服务器:
不依赖其他特定的Web服务器软件(如Apache、Nginx、IIS……)
Node.js代码处理请求的逻辑
Node.js代码负责Web服务器的各种“配置”
使用Express创建Web服务器
简单的Express服务器
静态文件服务
路由
中间件
简单的Express服务器:
var express = require(express); var app = express(); app.get(\, function(req, res){ res.end(hello\n); }); app.listen(18001, function afterListen(){ console.log(express running on http://localhost:18001); });
静态文件范围:
网页、纯文本、图片、前端JavaScript代码、CSS样式表文件、媒体文件、字体文件
使用Express访问静态文件
app.use(express.static(./public));
路由:
将不同的请求,分配给相应的处理函数
区分:路径、请求方法
三种路由实现方法:
path:比较简单
Router:比较适合同一个路由下的多个子路由
route:比较适合API
中间件
Connect:Node.js的中间件框架
分层处理
每层实现一个功能
创建TCP服务器
使用net模块创建TCP服务器
使用telnet连接TCP服务器
使用net创建TCP客户端
利用node.js搭建简单web服务器JS代码部分:
var http = require(http);var url = require(url);var path = require(path);var fs = require(fs);var dir, arg = process.argv[2] || \; // 命令行第三个参数,用来接收目录,可为空,相对当前server.js文件的目录名称// 比如使用命令 node server debug,意思就是debug文件夹与server.js文件同级// 且你想以debug文件夹启动web服务 http.createServer(function (req, res) {var pathname = __dirname + url.parse(req.url).pathname;dir = dir ? dir : pathname; // 记住dir(目录)pathname = dir ? pathname.replace(dir, dir + arg + /) : pathname; // 替换文件静态路径if (path.extname(pathname) == "") {pathname += "/";}if (pathname.charAt(pathname.length - 1) == "/") {pathname += "index.html"; // 入口文件,此处默认index.html} fs.exists(pathname, function (exists) {if (exists) {switch (path.extname(pathname)) {case ".html":res.writeHead(200, {"Content-Type": "text/html"});break;case ".js":res.writeHead(200, {"Content-Type": "text/javascript"});break;case ".css":res.writeHead(200, {"Content-Type": "text/css"});break;case ".jpg":res.writeHead(200, {"Content-Type": "image/gif"});break;case ".jpg":res.writeHead(200, {"Content-Type": "image/jpeg"});break;case ".jpg":res.writeHead(200, {"Content-Type": "image/png"});break;default:res.writeHead(200, {"Content-Type": "application/octet-stream"});} // res可以自己添加信息来简单交互 比如可以修改点header信息 或者修改返回的资源数据fs.readFile(pathname, function (err, data) {res.end(data);});}else {res.writeHead(404, {"Content-Type": "text/html"});res.end("
404 Not Found
");}});}).listen(8085, "127.0.0.5"); // 服务器端口console.log("server running at http://127.0.0.5:8085/");以上内容就是Node.js创建Web、TCP服务器方法,希望能帮助到大家。
相关推荐:
PHP与Node.js
Node.js学习TCP/IP数据通讯
Node.JS的相关知识