node.js学习笔记 http基础部分

HTTP

创建web服务器

背景

  • 在node中专门提供了一个核心模块:http

  • 该核心模块专门用于构建服务器

使用

  1. 加载http核心模块

    var http=require('http');
  2. 使用http.createServer()方法创建一个web服务器,返回一个server实例

    var server=http.createServer();
  3. 服务器用于对数据的服务

    • 发请求

    • 接受请求

    • 处理请求

    • 发送响应

      收到请求步骤:

      扫描二维码关注公众号,回复: 7757604 查看本文章
      1. 注册request 请求事件

      2. 当客户端请求过来,就会自动触发服务器的request请求事件,然后执行第二个参数进行回调处理

      server.on('request',function(){
      console.log('收到客户端请求');
      });

      request 请求事件处理函数,可以接受两个参数

      1. request 请求对象

        可以用来获取一些客户端的请求信息

      2. response 响应对象

        可以用来给客户端发送响应信息

        server.on('request',functon(request,response){
        console.log('请求路径是:'+request.url())
        })

        本来访问的本地地址就是: 127.0.0.1:3000,然后就会返回/

        这时如果在这个地址后面加上/再加上想要写的文本,就会返回对应的文本

        • 其中response对象有一个方法write(),可以用来给客户端发数据

        • write可以使用多次,但是一定要用end来结束否则客户端会一直等待而不输出

          server.on('request',functon(request,response){
          console.log('请求路径是:'+request.url());
          response.write("hello");
          response.write("world");
          response.end();
          })

          然后helloworld就会在界面上输出

          写多行的方式比较麻烦,可以选择直接使用,上面的方式基本不用

          response.end('helloworld');

           

  4. 启动服务器

    • 绑定端口号,启动服务器

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

哪怕使用了request和response后服务器处理能力也很差,

需要实现根据路径的不同返回不同的结果

var http=require('http');
var server=http.createServer();
server.on('request',function(request,response){
  console.log("请求路径成功"+request.url);
  if(request.url=="/index"){//特别注意!!!
      response.write('index ok');
  }else if(request.url=="/register"){
      response.write('register');
  }
  response.end();
})
server.listen('3000',function(){
  console.log('服务器启动成功')
})

需要特别注意的是哪怕没有写任何路径,即连/也没有,但是url里面还是会包括/,所以比较路径的时候一定要记得写进去

request的响应内容只能是二进制数据或者是布尔值,其他都不行

 

猜你喜欢

转载自www.cnblogs.com/tomatofjy/p/11802214.html