Node.js学习——HTTP服务器与客户端(一)

1.实验目的

    使用Node.js创建一个简单的HTTP服务器。

2.实验方法

    使用http模块创建一个简单的HTTP服务器,能够通过fs模块读取文本、图片等文件并通过服务器发送给浏览器。

3.实验环境

    windows10操作系统
    node.js v8.9.4版本

4.实验步骤

    4.1. HTTP服务器搭建

const http = require("http");                     //导入http模块
const server = new http.Server();                 //创建http.Server对象

server.on("request", function(req, res) {         //客户端请求时触发request事件
    res.writeHead(200, {                          //向请求的客户端发送响应头
        "content-type": "text/plain"
    });
    let data = "hello,world";
    res.write(data);                              //向请求的客户端发送内容
    res.end();                                    //结束请求
});

server.listen(3000, function() {                  //监听端口3000
    console.log('HTTP服务器开启成功');
});

    4.2. 访问HTML页面
          执行上述程序后,即可打开浏览器(http://localhost:3000/)查看发送的文件。

图一 浏览器查看

    4.3. 举一反三
          引入fs模块后,只需要根据文件类型替换响应头就能实现向浏览器发送不同类型文件。

const http = require("http");
const fs = require("fs");                      //引入fs模块
const server = new http.Server();

server.on("request", function(req, res) {
    res.writeHead(200, {
        "content-type": "image/jpg"           //更换响应头
    });
    let data = fs.readFileSync("./girl.jpg");  //选择发送的文件
    res.write(data);
    res.end();
});

server.listen(3000, function() {
    console.log('HTTP服务器开启成功');
});

          响应头与文件类型对应关系见参考文献。


图二 girl.jpg

图三 浏览器查看

5 .参考文献

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 6,416评论 0 6
  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    w_zhuan阅读 3,642评论 2 41
  • 我经常听到身边的人说,自己付出了很多却始终得不到回报,我问他们对方是否一直索取毫无付出。他们告诉我,一开...
    加得满都午后84923阅读 812评论 10 16