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");//加一个服务器启动起来的提示

    万变不离其中

  • 相关阅读:
    我的WCF之旅(1):创建一个简单的WCF程序
    与众不同 windows phone (15) Media(媒体)之后台播放音频
    与众不同 windows phone (14) Media(媒体)之音频播放器, 视频播放器, 与 Windows Phone 的音乐和视频中心集成
    与众不同 windows phone (10) Push Notification(推送通知)之推送 Tile 通知, 推送自定义信息
    与众不同 windows phone (17) Graphic and Animation(画图和动画)
    与众不同 windows phone (5) Chooser(选择器)
    与众不同 windows phone (26) Contacts and Calendar(联系人和日历)
    与众不同 windows phone (7) Local Database(本地数据库)
    与众不同 windows phone (19) Device(设备)之陀螺仪传感器, Motion API
    与众不同 windows phone (16) Media(媒体)之编辑图片, 保存图片到相册, 与图片的上下文菜单“应用程序...”和“共享...”关联, 与 Windows Phone 的图片中心集成
  • 原文地址:https://www.cnblogs.com/fqh123/p/11256631.html
Copyright © 2011-2022 走看看