饥人谷技术博客我爱编程

node.js Server

2018-03-14  本文已影响19人  饥人谷_黄洪涛

title: node.js Server
date: 2018-03-14 00.00.00
tags: Server client 请求 响应


脚本建Server

用什么脚本建服务器

创建node.js Server脚本


var http = require('http')
var fs = require('fs')
var url = require('url')
var port = process.argv[2]

if(!port){
  console.log('请指定端口号好不啦?\nnode server.js 8888 这样不会吗?')
  process.exit(1)
}

var server = http.createServer(function(request, response){
  var parsedUrl = url.parse(request.url, true)
  var path = request.url 
  var query = ''
  if(path.indexOf('?') >= 0){ query = path.substring(path.indexOf('?')) }
  var pathNoQuery = parsedUrl.pathname
  var queryObject = parsedUrl.query
  var method = request.method

  /******** 从这里开始看,上面不要看 ************/

  console.log('HTTP 路径为\n' + path)
  if(path == '/style.css'){
    response.setHeader('Content-Type', 'text/css; charset=utf-8')
    response.write('body{background-color: #ddd;}h1{color: red;}p{color: green;}')
    response.end()
  }else if(path == '/main.js'){
    response.setHeader('Content-Type', 'text/javascript; charset=utf-8')
    response.write('alert("这是JS执行的")')
    response.end()
  }else if(path == '/'){
    response.setHeader('Content-Type', 'text/html; charset=utf-8')
    response.write('<!DOCTYPE>\n<html>'  + 
      '<head><link rel="stylesheet" href="/style.css">' +
      '</head><body>'  +
      '<h1>你好</h1>' +
      '<p>这里是你访问到的内容,字体的颜色为你访问到的css添加</p>'+
      '<script src="/main.js"></script>' +
      '</body></html>')
    response.end()
  }else{
    response.statusCode = 404
    response.end()
  }

  /******** 代码结束,下面不要看 ************/
})

server.listen(port)
console.log('监听 ' + port + ' 成功\n请用在空中转体720度然后用电饭煲打开 http://localhost:' + port)

服务器当前的功能

  1. 这个服务器目前只有一个功能,那就是打印出路径
  2. 缺少一个重要的功能,那就是发出 HTTP 响应

发送请求

服务器的地址当然就是我们的本地地址啦 ,http://127.0.0.1 或者 http://localhost 发起访问: 报错

image

服务器响应

可以看到服务器响应给我们了一个页面, 有HTML内容的显示,css样式的加持,JS动态的弹窗

我们需要知道的

response.setHeader('Content-Type', 'text/css; charset=utf-8')  //设置响应内容的类型,以及响应内容的编码方式,返回                                                                  //css文件 
response.setHeader('Content-Type', 'text/javascript; charset=utf-8') //返回js文件
response.setHeader('Content-Type', 'text/html; charset=utf-8')     //返回html文件
 response.statusCode = 404                   //返回状态码
response.write('Hi')          //响应内容
response.end()             //响应结束
上一篇 下一篇

猜你喜欢

热点阅读