场景

如果我们编写后端的代码时,需要Apache 或者Nginx 的HTTP 服务器,
来处理客户端的请求相应。不过对Node.js 来说,概念完全不一样了。使用Node.js 时,
我们不仅仅在实现一个应用,同时还实现了整个HTTP 服务器。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

有了node,我们任何一个js 文件,都可以通过node 来运行。也就是说,node 就是一个js 的执行环境。

Node.js 中,将很多的功能,划分为了一个个module(模块)。Node.js 中的很多功能都是通过模块实现。

HTTP模块的使用

首先新建一个目录,再次目录下新建app.js

const http = require('http');/*req   获取客户端传过来的信息res  给浏览器响应信息
*/http.createServer((req,res)= >{console.log(req.url);  //获取url//设置响应头//状态码是 200,文件类型是 html,字符集是 utf-8res.writeHead(200,{"Content-type":"text/html;charset='utf-8'"}); //解决乱码res.write("<head> <meta charset='UTF-8'></head>");  //解决乱码res.write('公众号:霸道的程序猿');res.write('<h2>公众号:霸道的程序猿</h2>');res.end();  //结束响应}).listen(3000);

然后在此目录下打开cmd

node app.js

这样一个简单的http创建web服务就实现了。

打开浏览器,输入

http://localhost:3000/

URL模块的使用

首先通过

const url=require('url');

引入url模块

url.parse

解析url

怎样获取请求的参数

在目录下新建url.js

const url=require('url');var api='https://blog.csdn.net/BADAO_LIUMANG_QIZHI?name=zhangsan&age=20';console.log(url.parse(api,true));var getValue=url.parse(api,true).query;console.log(getValue);console.log(`姓名:${getValue.name}--年龄:${getValue.age}`);

然后在终端中输入

node url.js

Http模块与URL模块结合使用

在目录下新建httpUrl.js

const http =require('http');
const url =require('url');/*req   获取客户端传过来的信息res  给浏览器响应信息
*/http.createServer((req,res)=>{//http://localhost:3000/?name=badao&age=24  想获取url传过来的name 和age//设置响应头//状态码是 200,文件类型是 html,字符集是 utf-8res.writeHead(200,{"Content-type":"text/html;charset='utf-8'"}); //解决乱码res.write("<head> <meta charset='UTF-8'></head>");  //解决乱码   console.log(req.url);   //获取浏览器访问的地址if(req.url!='/favicon.ico'){var userinfo=url.parse(req.url,true).query;console.log(`姓名:${userinfo.name}--年龄:${userinfo.age}`);}res.end('你好nodejs');  //结束响应}).listen(3000);

然后打开终端输入:

node httpUrl.js

打开浏览器输入:

http://localhost:3000/?name=badao&age=24

Node中的Http模块和Url模块的使用相关推荐

  1. node中模板引擎、模块导出、package.json简介

    在node.js中使用引擎模板: art-template不仅在浏览器可以使用,也可以在node中使用,并且模板引擎起早诞生于服务器领域,在node中使用模板引擎: 1.安装:在一个文件目录下执行命令 ...

  2. Nodejs的url模块方法

    Nodejs的url模块方法 nodejs里面的一个简单的模块,url模块.这个url的模块要使用的话需要先引入.若只是在命令行里比如cmd或git bash 等使用url这个模块的话,是不需要req ...

  3. Nodejs模块、自定义模块、CommonJs的概念和使用

    场景 CommonJs JavaScript 是一个强大面向对象语言,它有很多快速高效的解释器.然而, JavaScript 标准定义的API 是为了构建基于浏览器的应用程序.并没有制定一个用于更广泛 ...

  4. 长连接及在Node中的应用——HTTP/1.1 keep-alive

    HTTP请求都要经过TCP三次握手建立连接,四次分手断开连,如果每个HTTP请求都要建立TCP连接的话是极其费时的,因此HTTP/1.1中浏览器默认开启了Connection: keep-alive. ...

  5. python url模块介绍_python 中 urlparse 模块介绍

    urlparse模块主要是用于解析url中的参数  对url按照一定格式进行 拆分或拼接 1.urlparse.urlparse 将url分为6个部分,返回一个包含6个字符串项目的元组:协议.位置.路 ...

  6. node中模块系统及核心模块、执行node文件

    node中模块系统: 1.模块系统:核心模块.第三方模块. 自己写的模块. 2.网页中所有的路径都是URL,而不是文件路径. 3.node偏底层开发,开启的服务器完全是一个黑盒子,所有的资源默认都是不 ...

  7. 模块加载及第三方包:Node.js模块化开发、系统模块、第三方模块、package.json文件、Node.js中模块的加载机制、开发环境与生产环境、cookie与session

    1.Node.js模块化开发 1.1 JavaScript开发弊端 JavaScript 在使用时存在两大问题,文件依赖和命名冲突. 1.2 软件中的模块化开发 一个功能就是一个模块,多个模块可以组成 ...

  8. Node中HTTP模块

    文章目录 Node中的Http 一.HTTP服务器 1.http.server事件 2.http.ServerRequset请求信息 3.获取GET请求内容 4.获得POST请求内容 5.http.S ...

  9. node中模块、AMD与CMD、ES6模块,node中使用ES6

    1.Nodejs 中的模块 在node环境中一个js文件就是一个模块(module) 我们采用的是CommonJS规范,使用require引入模块,使用module.exports导出接口 node的 ...

最新文章

  1. 机器学习(实战)泰坦尼克号(游客存活率预估)
  2. 宏基因组合种树第290期—油松
  3. httpcline转发_如何实现Http请求报头的自动转发[应用篇]
  4. C#线程通信与异步委托
  5. 前端学习(2576):选择何种方式的路由和底层原理
  6. jquery 里 $(this)的用法
  7. ipython是一个交互式计算系统_IPython :一个交互式计算和开发环境-Python
  8. Android Studio的Gradle的加速
  9. 3D建模与处理软件简介
  10. 简单实现内外网自由切换、指定网卡上网
  11. c语言编译bss和data,深入理解BSS段与data段的区别
  12. 常见数据类型的API
  13. 武松杀潘金莲时为何先扯开其衣服?得知真相才明白武松多么机智!
  14. 计算机系统中处理的信息是什么,《深入理解计算机系统》第二章 信息的表示和处理...
  15. TQ2440裸奔程序串口UART的PC机按键测试程序
  16. C4D R19 图文安装教程
  17. Code for city 黑客松大赛——万元大奖等你来拿
  18. 倚天屠龙记(函数模板)
  19. 序列密码知识整理(四 典型序列密码算法A5,RC4)
  20. vue整合uniapp_uni-app仿微信App界面|vue+uniapp聊天室|仿微信朋友圈

热门文章

  1. elasticsearch给IK分词器添加自定义词汇
  2. 你给你的Typore配置图床了吗?没有的话,就来看Typora配置图床吧!!!放心不用付费滴!!
  3. php sprintf %1,PHP sprintf() 函数的应用(定义和用法)
  4. alias cli3 配置_vue-cli3全面配置详解
  5. altium 去掉部分铺铜_干货|HFSS器件导入Altium进行PCB制作教程!!!
  6. anydesk截屏技术
  7. mysql sql 连接查询语句_Mysql——sql数据库中的连接查询
  8. 性能测试工具_磁盘性能测试工具fio
  9. groovy怎样从sql语句中截取表名_《SQL基础教程》学习笔记
  10. java ntpudpclient_Java代码获取NTP服务器时间