1、Node.js 创建的第一个应用

var http=require("http")
http.createServer(function (req,res) {res.writeHead(200,{"Content-Type":"text/html;charset='utf8'"})res.write("<head><meta charset='UTF-8'></head>")res.write("hello,Node.js!!!")res.end()
}).listen(8081)

2、WEB 服务器介绍

Web 服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览
器等 Web 客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让
全世界下载。目前最主流的三个 Web 服务器是 Apache Nginx IIS。

3、Nodejs 创建一个 WEB 服务器。

项目结构截图:

返回html页面示例:

firstServer.js代码(主程序):

//引入http模块:
var http = require("http");
//引入fs模块:
var fs = require("fs");
/*** 引入path模块* Node内置模块,可以拿到文件的后缀名*console.log(path.extname("index.html"));----.html*/
var path = require("path")
//引入加工响应头文件的自定义模块:
var getextname = require("./model/getExtName");
//console.log(getextname.getminiName(".css"));
/*** 引入url模块,用来加工有些时候服务地址后面传值的情况:* http://localhost:8081/index.html?name=tom* 这个时候我们仅仅通过上边的模块加工是不够的*/
var url = require("url");
http.createServer(function (req, res) {//var urlStr = req.url;//获取浏览器输入的地址/** 引入url模块,用来加工有些时候服务地址后面传值的情况:* http://localhost:8081/index.html?name=tom* 这个时候我们仅仅通过上边的模块加工是不够的,此时就需要借助下面的url模块解析:*/var urlStr = url.parse(req.url).pathname;console.log(urlStr);if (urlStr == '/') {//設置默认加载的頁面urlStr == '/index.html';}if (urlStr != '/favicon.ico') { //过滤无效请求:/favicon.icovar extname = path.extname(urlStr);//下面通过文件操作模块读取静态页面内容:最后通过res返回给客户端fs.readFile("html" + urlStr, function (err, data) {if (err) {//没有这个文件console.log("404");fs.readFile("html/404.html", function (err, data404) {//注意下面要修改响应头的状态码res.writeHead(404, {"Content-Type": "text/html;charset='utf8'"})res.write(data404)res.end()})} else {/*** 大部分情况下我们不一定返回html文件,也可能返回css文件,js文件,xml文件等等,因此下面的头文件的* "Content-Type": "text/html;charset='utf8'"不能写死,而应该动态随着请求的内容改变*///res.writeHead(200, {"Content-Type": "text/html;charset='utf8'"})res.writeHead(200, {"Content-Type": getextname.getminiName(extname) + ";charset='utf8'"})res.write(data)res.end()}})}
}).listen(8081)

index.html文件代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<style>div{width: 100px;height: 200px;background-color: red;margin: 0 auto;}
</style>
<body>
<div></div>
</body>
</html>

自定义模块(功能类js):getExtName.js:

/*** Created by Administrator on 2019/4/24.*/
/*** 自定义模块加工响应头文件类型* @param extname* @returns {*}*/
module.exports.getminiName=function (extname) {switch (extname){case ".html":return "text/html"case ".css":return"text/css"case ".js":return "text/js"case ".xml":return"text/xml"default:return"text/xml"}
}

404.html页面代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<style>div{font-size: 30px;font-weight: bolder;color: red;}
</style>
<body>
<div>404</div>
</body>
</html>

效果:

转载于:https://www.cnblogs.com/luzhanshi/p/10763776.html

十七、创建一个 WEB 服务器(一)相关推荐

  1. 使用Nodejs创建一个Web服务器应如何操作?以及路由相关知识了解

    文章目录 Nodejs创建一个Web服务器 Node.js创建第一个应用 Web服务器介绍 Nodejs创建一个Web服务器 路由 EJS模块引擎 Get.Post 获取GET传值 获取POST传值 ...

  2. nodejs项目实战教程08——创建静态Web服务器

    nodejs项目实战教程08--创建静态Web服务器 什么是Web服务器 目标 1. 访问web服务器上面的网站 1.1 创建服务器 1.2 读取服务器上的资源文件 2. 下载web服务器上的文件 方 ...

  3. Servlet学习DAY_01:服务器概念/Web服务器的作用/ Servlet概念/ 如何关联和解除Tomcat/ 创建一个Web工程 /Servlet响应流程/ Get-Post /常见异常

    Servlet 什么是服务器 服务器就是一台高性能电脑 电脑上安装了提供服务的软件就称为 xxx服务器 举例: 邮件服务器: 就是在电脑上安装了提供邮件收发服务的软件 ftp服务器: 就是在电脑上安装 ...

  4. 投票系统web服务器,创建一个Web投票系统

    您的位置:首页 → 精文荟萃 → 软件资讯 → 创建一个Web投票系统创建一个Web投票系统 时间:2004/10/7 19:09:00作者:蓝点 下面zip文件:http://www.content ...

  5. Jmeter 创建一个web测试计划

    Jmeter 创建一个web测试计划 by:授客 QQ:1033553122 1.   下载Jmeter 下载地址:http://jmeter.apache.org/download_jmeter.c ...

  6. api怎么写_使用Node.js原生API写一个web服务器

    Node.js是JavaScript基础上发展起来的语言,所以前端开发者应该天生就会一点.一般我们会用它来做CLI工具或者Web服务器,做Web服务器也有很多成熟的框架,比如Express和Koa.但 ...

  7. idea maven创建java项目_新版本IntelliJ IDEA 构建maven,并用Maven创建一个web项目(图文教程)...

    之前都没试过用maven来管理过项目,但是手动找包导包确实不方便,于是今天用2016版的IDEA进行了maven的初尝试. 打开IDEA,创建新项目: 然后选择Maven,以及选择自己电脑的jdk: ...

  8. Node.js「三」—— 创建静态 WEB 服务器

    本文为 Node.js 系列笔记第三篇.文章参考:nodejs 教程:<深入浅出 Node.js>:阮一峰 nodejs 博客: Node.js v16.13.0 文档 文章目录 前言 一 ...

  9. 服务器关闭重启后客户端socket能自动连接吗_用Python 撸一个 Web 服务器

    从一个 Hello World 程序说起 要编写 Web 服务器,需要用到一个 Python 内置库 socket.Socket 是一个比较抽象的概念,中文叫套接字,它代表一个网络连接.两台计算机之间 ...

最新文章

  1. Linux下查找Nginx配置文件位置
  2. vc++怎么利用ado连接数据库(mysql)
  3. 从多个角度来理解协方差(covariance)
  4. 描述java源程序构成_Java第二章Java程序设计
  5. mysql常用函数参考
  6. 一起学习C语言:函数(一)
  7. python 3中 的subprocess
  8. Vegas系列Movie Studio录制音频/乐的方法
  9. 单片机交通灯设计(含箭头指示)
  10. kivy开发android启动器,从kivy启动android播放器
  11. OutLook添加网易邮箱,QQ邮箱
  12. Asp.Net MVC4.0 官方教程 入门指南之八--为Movie模型和库表添加字段
  13. JAVA基础之单例模式
  14. html中css如何设置显示国旗,CSS3 各国国旗
  15. CSDN的密码修改流程比之前好多了
  16. 使用py对Excel表格进行基本读写操作
  17. Hadoop-5-HDFS
  18. Sentinel 极简入门
  19. 如何申请ATT官方解锁iPhone4
  20. coda创建虚拟环境后无法切换到原环境

热门文章

  1. 李梁北京大学 计算机,【资环学院】圆梦路上多楷模
  2. 文本框焦点事件显示隐藏文本框内容
  3. JavaScript函数的arguments(2)
  4. C#winform可视化(当主窗体不能拖动时)
  5. winform的picturebox如何设置背景颜色为无背景颜色
  6. Python面向对象模型概述
  7. Unity3D实践1:摄像机跟随
  8. js中数组增删查改unshift、push、pop、shift、slice、indexOf、concat、join
  9. python更换tkinter图标样式
  10. Perceptual Losses for Real-Time Style Transfer and Super-Resolution 运行程序