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);
    
  • 相关阅读:
    Python 函数 之 目录
    python---------匿名函数
    python-------递归函数
    python-----内置函数
    hibernate.cfg.xml
    struts2 工作原理
    拦截器
    js制作 子菜单
    struts---最简单实例步骤
    常用标签---地址----
  • 原文地址:https://www.cnblogs.com/liaohui5/p/10581628.html
Copyright © 2011-2022 走看看