var http = require('http')
var fs = require('fs')
// 1. 创建 Server
var server = http.createServer()
// 2. 监听 Server 的 request 请求事件,设置请求处理函数
// 请求
// 处理
// 响应
// 一个请求对应一个响应,如果在一个请求的过程中,已经结束响应了,则不能重复发送响应。
// 没有请求就没有响应。
//
// 咱们以前使用过 Apache 服务器软件,这个软件默认有一个 www 目录,所有存放在 www 目录中的资源都可以通过网址来浏览
// 127.0.0.1:80/a.txt
// 127.0.0.1:80/index.html
// 127.0.0.1:80/apple/login.html
var wwwDir = 'D:/Movie/www'
server.on('request', function (req, res) {
var url = req.url
// / index.html
// /a.txt wwwDir + /a.txt
// /apple/login.html wwwDir + /apple/login.html
// /img/ab1.jpg wwwDir + /img/ab1.jpg
if (url === '/') {
fs.readFile(wwwDir + '/index.html', function (err, data) {
// if (err) {
// res.end('404 Not Found.')
// } else {
// }
if (err) {
// return 有两个作用:
// 1. 方法返回值
// 2. 阻止代码继续往后执行
return res.end('404 Not Found.')
}
res.end(data)
})
} else if (url === '/a.txt') {
fs.readFile(wwwDir + '/a.txt', function (err, data) {
if (err) {
return res.end('404 Not Found.')
}
res.end(data)
})
} else if (url === '/index.html') {
fs.readFile(wwwDir + '/index.html', function (err, data) {
if (err) {
return res.end('404 Not Found.')
}
res.end(data)
})
} else if (url === '/apple/login.html') {
fs.readFile(wwwDir + '/apple/login.html', function (err, data) {
if (err) {
return res.end('404 Not Found.')
}
res.end(data)
})
}
})
// 3. 绑定端口号,启动服务
server.listen(3000, function () {
console.log('running...')
})

转载于:https://www.cnblogs.com/lujieting/p/10296317.html

http-helloworld相关推荐

  1. Docker安装Apache与运行简单的web服务——httpd helloworld

    Docker运行简单的web服务--httpd helloworld目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker运行简单的web ...

  2. CentOS Docker安装配置部署Golang web helloworld

    目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker部署Golang web helloworld 四.Docker与虚拟机的区别 五. ...

  3. 简单图文配置golang+vscode【win10/centos7+golang helloworld+解决install failed等情况】

    博客目录(阅读时间:10分钟) 一.win10 0.系统环境 1. win10配置golang环境 ①下载相关软件 ②创建gowork工作空间 ③配置环境变量(GOPATH+PATH) ④验证环境配置 ...

  4. idea java jni 调试_IntelliJ IDEA平台下JNI编程(一)—HelloWorld篇

    JNI(Java Native Interface),出于学习JNI的目的,为了能够更方便快速地运行程序.本文的是在IDEA中进行,而不在AndroidStudio,这样能够对NDK的工作过程有个更深 ...

  5. Apache模块开发helloworld无错版

    环境:CentOS 5.4 第一步:安装Apache的apxs 首先来介绍下apache的一个工具apxs.apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,用于编译一个或多个源程 ...

  6. 1.1GTK+ 的简单程序HelloWorld

    1.1GTK+ 的简单程序HelloWorld 编译执行如图所看到的:

  7. 项目构建之maven篇:2.HelloWorld项目构建过程

    文件结构说明: 项目构建生命周期: 清理 编译 測试 打包 执行 部署 清理与编译 hello\pom.xml POM:Project Object Model,项目对象模型 pom.xml与ant的 ...

  8. Python基础01-Python环境搭建与HelloWorld

    目录 从今天开始学习Python Python环境搭建 安装gcc Python源码包安装 开始Python第一个代码HelloWorld! 从今天开始学习Python 为啥选择Python,可能是跟 ...

  9. 从HelloWorld看Knative Serving代码实现

    为什么80%的码农都做不了架构师?>>>    摘要: Knative Serving以Kubernetes和Istio为基础,支持无服务器应用程序和函数的部署并提供服务.我们从部署 ...

  10. flask源码学习-helloworld与本地启动流程

    Flask源码分析 本文环境python3.5.2,flask-1.0.2. Flask的初探 首先,在项目文件夹下建立flask_run.py文件,然后写入如下, from flask import ...

最新文章

  1. 参加完Python培训后有哪些就业方向
  2. Matlab GUI 设计(3):edit、slider、table数据同步
  3. 实验5:配置通过静态工厂方法创建的bean、实例工厂方法创建的bean、(FactoryBean测试)★
  4. 【题解】P4124 [CQOI2016]手机号码
  5. java 数组 参数 ppt,Java自学课件-数组.ppt
  6. 基于单TCP连接的高吞吐模型设计
  7. 谈谈HashMap线程不安全的体现
  8. python定义_python __xx__的定义和用处
  9. Django学习手册 - 前端input数据获取
  10. 重新上手c语言的一些坑
  11. 搭载鸿蒙系统的手机是怎样操作的,华为官方:鸿蒙系统2.0上线,手机能否搭载鸿蒙操作系统?...
  12. 金山云和金山办公均成功上市 雷军揭秘背后原因
  13. java成组链接法的实现_c++磁盘存储空间的管理模拟(UNIX存储管理的成组链接法的设计与实现)...
  14. 利用交换机排查网络故障-检测数据流量法
  15. 开发一个自己的 CSS 框架(二) 1
  16. 力扣题目系列:605. 种花问题
  17. 人生的意义,在于不断地超越自己
  18. retinex 的水下图像增强算法_Retinex图像增强算法
  19. 微信公众号图片上传接口实例|微信卡卷logo上传实例|微信会员卡logo上传实例
  20. 华为机试真题 C++ 实现【最短木板长度】【100%通过率】【2022.11 Q4 新题】

热门文章

  1. C# 2.0中泛型编程初级入门教程
  2. android webView的使用
  3. WebKit DOM Event (一)
  4. 利用Windows API获得系统高级功能
  5. 好程序员分享大势所趋 HTML5成Web开发者最关心的技术
  6. 滑动窗口—满足XX条件的最长子串
  7. ELK技术栈—Logstash—基础介绍
  8. Redis的配置文件介绍
  9. 超美的文件夹图标,右键秒改,实用方便适合文件夹分类
  10. bootstrap+fileinput插件实现可预览上传照片功能