码迷,mamicode.com
首页 > Web开发 > 详细

nodejs(5) http模块

时间:2019-01-17 19:43:08      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:buffer   code   pat   使用   获取   写入   url   浏览器   cti   

实现一个静态资源服务器

// 1. 导入 http 模块
const http = require(‘http‘)

// 2. 创建一个web服务器, 调用 http.createServer() 创建的服务器,
// 此时还没有被运行起来,也没有处理任何客户端浏览器的请求
const server = http.createServer()

// 3. 通过 server.on(‘request‘, function(req, res){ /* 处理函数 */ }) 为服务器绑定 request
// 只要有客户端请求了这个服务器,必然会触发 server 的 request 事件,从而调用 指定的回调函数,处理这次请求
server.on(‘request‘, function(req, res) {
  // req 是 请求对象
  // res 是 响应对象
  // 写入响应头,告诉客户端,以什么样的编码格式,解析服务器返回的数据
  res.writeHeader(200, {
    ‘Content-Type‘: ‘text/html; charset=utf-8‘
  })
  res.end(‘hello world. 世界‘)
})

// 4. 使用 server.listen() 方法,启动服务器,并指定端口
server.listen(2000, ‘127.0.0.1‘, () => {
  console.log(‘server running at http://127.0.0.1:2000‘)
})

简单的静态页面服务器

const http = require(‘http‘)
const fs = require(‘fs‘)
const path = require(‘path‘)
const server = http.createServer()

server.on(‘request‘, (req, res) => {
  // 1. 获取请求的URL地址
  const reqURL = req.url
  // 2. 进行 if...else...判断
  if (reqURL === ‘/‘ || reqURL === ‘/index.html‘) {
    // 读取首页文档内容,并使用res.end() 响应请求
    fs.readFile(path.join(__dirname, ‘./views/index.html‘), (err, dataStr) => {
      if (err) return res.end(‘404. No found.‘)
      // 注意: res.end() 既可以发送普通字符串,还可以发送 Buffer 对象 
      res.end(dataStr)
    })
  } else if (reqURL === ‘/movie.html‘) {
    // 读取电影文档内容,并使用res.end() 响应请求
    fs.readFile(path.join(__dirname, ‘./views/movie.html‘), (err, dataStr) => {
      if (err) return res.end(‘404. No found.‘)
      res.end(dataStr)
    })
  } else if (reqURL === ‘/about.html‘) {
    // 读取电影文档内容,并使用res.end() 响应请求
    fs.readFile(path.join(__dirname, ‘./views/about.html‘), (err, dataStr) => {
      if (err) return res.end(‘404. No found.‘)
      res.end(dataStr)
    })
  } else {
    res.writeHeader(200, {
      ‘Content-Type‘: ‘text/html; charset=utf-8‘
    })
    res.end(‘404. 报告队长,您访问的页面,炸了!!!‘)
  }
})

server.listen(3000, () => {
  console.log(‘server running at http://127.0.0.1:3000‘)
})

 

nodejs(5) http模块

标签:buffer   code   pat   使用   获取   写入   url   浏览器   cti   

原文地址:https://www.cnblogs.com/houfee/p/10283624.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!