zoukankan      html  css  js  c++  java
  • nodejs基础 用http模块 搭建一个简单的web服务器 响应纯文本

    首先说一下,我们平时在浏览器上访问网页,所看到的内容,其实是web服务器传过来的,比如我们访问www.baidu.com.当我们在浏览器地址栏输入之后,浏览器会发送请求到web服务器,然后web服务器根据请求所携带的信息,返回内容。

    那么,nodejs中的http模块,就是用来搭建web服务器用的。

    下面来简单的搭建一个服务器:

    var http = require("http");
    
    //request:是请求参数,携带这请求所带来的信息。response:是响应参数,携带者将要返回到浏览器的信息,这两个参数都是流的实例
    var server = http.createServer(function(request,response){
        console.log("request received");
        //response的writeHead是写响应的头部信息的,第一个参数是状态码,第二个参数是一个对象,里面可以写一些返回到浏览器的信息,比如Content-Type:指定的是返回浏览器的是什么内容,比如图片、html、json、pdf、纯文本等
        //浏览器会根据服务器返回的头信息,去想着如何渲染
        response.writeHead(200,{"Content-Type":"text/plain"});//text/plain:代表传回的是纯文本
        response.write("hello from out application");//将内容写在write的参数里,传回浏览器
        response.end();//加一个end方法,表示响应结束了
    })
    
    //最后让服务器监听一个端口
    server.listen(3000);
    
    console.log("server started on localhost port 3000");//加一个服务器启动起来的提示

    然后在终端执行node app  将服务器运行起来

    之后,在浏览器是输入localhost:3000  发现页面你上会出现,我们响应参数的write方法中的内容!!!

    listen也可以传第二个参数,ip

    返回给浏览器的内容也可以写在response的end方法里:

    var http = require("http");
    
    //request:是请求参数,携带这请求所带来的信息。response:是响应参数,携带者将要返回到浏览器的信息,这两个参数都是流的实例
    var server = http.createServer(function(request,response){
        console.log("request received");
        //response的writeHead是写响应的头部信息的,第一个参数是状态码,第二个参数是一个对象,里面可以写一些返回到浏览器的信息,比如Content-Type:指定的是返回浏览器的是什么内容,比如图片、html、json、pdf、纯文本等
        //浏览器会根据服务器返回的头信息,去想着如何渲染
        response.writeHead(200,{"Content-Type":"text/plain"});//text/plain:代表传回的是纯文本
        // response.write("hello from out application");//将内容写在write的参数里,传回浏览器
        response.end("hello from out application");//加一个end方法,表示响应结束了
    })
    
    //最后让服务器监听一个端口
    server.listen(3000,"127.0.0.1");//还可以加第二个参数 127.0.0.1代表的是本地
    
    console.log("server started on localhost port 3000");//加一个服务器启动起来的提示

    还有人将http.createServer中的函数抽出来,这样写:

    var http = require("http");
    
    //request:是请求参数,携带这请求所带来的信息。response:是响应参数,携带者将要返回到浏览器的信息,这两个参数都是流的实例
    var onRequest = function(request,response){
        console.log("request received");
        //response的writeHead是写响应的头部信息的,第一个参数是状态码,第二个参数是一个对象,里面可以写一些返回到浏览器的信息,比如Content-Type:指定的是返回浏览器的是什么内容,比如图片、html、json、pdf、纯文本等
        //浏览器会根据服务器返回的头信息,去想着如何渲染
        response.writeHead(200,{"Content-Type":"text/plain"});//text/plain:代表传回的是纯文本
        // response.write("hello from out application");//将内容写在write的参数里,传回浏览器
        response.end("hello from out application");//加一个end方法,表示响应结束了
    }
    
    var server = http.createServer(onRequest);
    
    //最后让服务器监听一个端口
    server.listen(3000,"127.0.0.1");//还可以加第二个参数 127.0.0.1代表的是本地
    
    console.log("server started on localhost port 3000");//加一个服务器启动起来的提示

    万变不离其中

  • 相关阅读:
    回答自己的提问
    <构建之法>13——17章的读后感
    <构建之法>10,11,12章的读后感
    <构建之法>8,9,10章的读后感
    作业5.2
    【作业报告】作业5 四则运算 测试与封装 5.1 改进版
    作业 5.1
    阅读
    做汉堡
    阅读《构建之法》
  • 原文地址:https://www.cnblogs.com/fqh123/p/11256631.html
Copyright © 2011-2022 走看看