Node Http模块和url模块

2018-09-08  本文已影响19人  _不能说的秘密i

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

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

获取请求信息

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);

设置响应信息

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 模块的使用

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);
上一篇下一篇

猜你喜欢

热点阅读