zoukankan      html  css  js  c++  java
  • Node.js学习——HTTP

    HTTP

    Node.js开发的目的就是为了用JavaScript编写Web服务器程序。因为JavaScript实际上已经统治了浏览器端的脚本,其优势就是有世界上数量最多的前端开发人员。如果已经掌握了JavaScript前端开发,再学习一下如何将JavaScript应用在后端开发,就是名副其实的全栈了。

    HTTP协议

    HTTP服务器

    要开发HTTP服务器程序,从头处理TCP连接,解析HTTP是不现实的。这些工作实际上已经由Node.js自带的http模块完成了。应用程序并不直接和HTTP协议打交道,而是操作http模块提供的requestresponse对象。

    request对象封装了HTTP请求,我们调用request对象的属性和方法就可以拿到所有HTTP请求的信息;

    response对象封装了HTTP响应,我们操作response对象的方法,就可以把HTTP响应返回给浏览器。

    用Node.js实现一个HTTP服务器程序非常简单。我们来实现一个最简单的Web程序hello.js,它对于所有请求,都返回Hello world!

    'use strict';
    
    // 导入http模块:
    var http = require('http');
    
    // 创建http server,并传入回调函数:
    var server = http.createServer(function (request, response) {
        // 回调函数接收request和response对象,
        // 获得HTTP请求的method和url:
        console.log(request.method + ': ' + request.url);
        // 将HTTP响应200写入response, 同时设置Content-Type: text/html:
        response.writeHead(200, {'Content-Type': 'text/html'});
        // 将HTTP响应的HTML内容写入response:
        response.end('<h1>Hello world!</h1>');
    });
    
    // 让服务器监听8080端口:
    server.listen(8080);
    
    console.log('Server is running at http://10.138.253.3:8080/');
    

    在命令提示符下运行该程序,可以看到以下输出:

    $ node http_test.js 
    Server is running at http://10.138.253.3:8080/
    

    不要关闭命令提示符,直接打开浏览器输入http://localhost:8080,即可看到服务器响应的内容:

    http-hello-sample

    同时,在命令提示符窗口,可以看到程序打印的请求信息:

    GET: /
    GET: /favicon.ico
    

    这就是我们编写的第一个HTTP服务器程序!

  • 相关阅读:
    python_元组
    python_列表
    python_字符串
    python_序列
    RFS一些基本概念
    学习RFS,所有文章的参考
    HDU 1754 线段树 单点跟新 HDU 1166 敌兵布阵 线段树 区间求和
    第四届河南省ACM SUBSTRING 字符串处理
    蓝桥杯 手链样式 排列组合
    蓝桥杯 牌型种数 DFS
  • 原文地址:https://www.cnblogs.com/qingchanghan/p/5978962.html
Copyright © 2011-2022 走看看