美文网首页
Node Http模块和url模块

Node Http模块和url模块

作者: _不能说的秘密i | 来源:发表于2018-09-08 21:04 被阅读19次

官方手册: 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 包含哪些信息
    完整的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);

相关文章

  • 兄弟会8.9号笔记

    node.js模块学习 http 模块 fs 模块 url 模块 http 模块 HTTP http.STA...

  • Node Http模块和url模块

    官方手册: http://nodejs.cn/api/ http 模块 http 模块主要是用于创建一个能够处理和...

  • Node(3)

    一、模块系统 1.什么是模块 Node.js中常用的核心模块有: http模块 fs文件系统模块 url模块 pa...

  • 周国康-20160809笔记

    HTTP,URL,FS模块 HTTP模块 FS模块 URL模块 作业 构造静态服务Server:解析URL,根据U...

  • nodejs02-http、url模块

    node.js创建第一个应用 类似Apache或者Nginx的Http服务器 HTTP模块 URL模块 super...

  • nodeJS常用模块

    模块一:assert 模块二:path 模块三:fs 模块四:http 模块五:url和queryString

  • Node的Url模块

    Url 模块 Node的url模块主要提供一些实用的函数来进行url的处理和分析。 url字符串和url对象 ur...

  • Node.js HTTP模块

    内置HTTP模块 Node.js 中有 HTTP 这个内置模块,HTTP 模块允许 Node.js 通过超文本传输...

  • node模块载入机制

    node内模块以及载入顺序为: 内置模块 文件模块 文件目录模块 node_modules模块 内置模块 http...

  • NodeJs 中 http,url 模块使用

    1、http 模块 2、url 模块 简单例子

网友评论

      本文标题:Node Http模块和url模块

      本文链接:https://www.haomeiwen.com/subject/czplgftx.html