zoukankan      html  css  js  c++  java
  • Node Http模块和url模块

    官方手册: http://nodejs.cn/api/

    http 模块

    • http 模块主要是用于创建一个能够处理和响应 http 响应的服务
    // 1. 引入http模块
    const http = require("http");
    
    // 2. 创建http服务 并监听端口, 这里的端口可以修改
    http.createServer((request, response) => {
        response.end('hello node');
    }).listen(3000);
    

    此时,用浏览器访问 127.0.0.1:3000 或者 localhost:3000 就可以看到 hello node, 服务开启成功了

    request 和 response

    • request 请求对象
    • response 响应对象

    获取请求信息

    • require.url 获取请求路径
    • request.httpVersion 获取协议的版本
    • request.method 获取请求的方式(get post)
    • request.headers 获取请求头
    const http = require("http");
    http.createServer((request, response) => {
        // 1. 获取请求的路径(就是域名后的.)
        url     = request.url;
        
        // 2. 获取 http 协议的版本
        version = request.httpVersion;
    
        // 3. 获取请求方式
        method  = request.method;
    
        // 4. 获取请求头信息(object)
        headers = request.headers;
        response.end('over');
    }).listen(3000);
    

    设置响应信息

    • response.setHeader() 设置响应头
    • response.write() 设置响应信息
    • response.end() 响应结束
    const http = require("http");
    http.createServer((request, response) => {
        // 1. 设置响应头
        response.setHeader("content-type", "text/html; charset=utf8");
        // 2. 设置响应信息
        response.write("这是响应体信息...");
        // 3. 结束响应
        response.end('<h1>响应结束</h1>');
    }).listen(3000);
    

    url 模块的使用

    • 首先来看一个完整的 url 包含哪些信息
      7942449-b2e1cac5b75b3dd9.png
      完整的url包含的信息
    • 获取 url 相关信息
    const http = require("http");
    const url  = require("url");
    
    http.createServer((request, response) => {
        // let myUrl = url.parse(request.url);      // 把reques.url转换为一个URL对象
    
        let myUrl = url.parse(request.url, true); 
        // 把reques.url转换为一个URL对象,并且将query,search等属性转换为对象
        console.log("url对象:", myUrl);
        console.log("hash:"+myUrl.hash);         // 获取myUrl 的hash部分(在vue和react中有的是用hash)  #test
        console.log("host:"+myUrl.host);         // 获取myUrl中包括端口的域名部分 http://www.test.com:80
        console.log("hostname:"+myUrl.hostname); // 获取myUrl中的域名部分  http://www.test.com
        console.log("path:"+myUrl.path);         // 获取路径部分 /a/b?id=10
        console.log("port:"+myUrl.port);         // 获取myUrl端口 80 8080
        console.log("search:"+myUrl.search);     // 获取请求的参数 ?id=10
        response.end('Responses');
    }).listen(3000);
    
  • 相关阅读:
    C#多线程中lock的用法
    杭州交通违规处理地点大全
    J2me c/s结构,访问数据库
    谁将成为下一个Twitter?最新最酷的创业奇思妙想
    那些相见恨晚的 JavaScript 技巧
    Adobe Dreamweaver CS5试用点滴感受
    python百炼成钢实例008输出 9*9 乘法口诀表
    python百炼成钢实例006斐波那契数列输出最后一个和整个数列,迭代
    python百炼成钢实例007复制,浅拷贝和深拷贝
    python百炼成钢实例080猴子分桃
  • 原文地址:https://www.cnblogs.com/liaohui5/p/10581628.html
Copyright © 2011-2022 走看看