Node.js 实现第一个应用以及HTTP模块和URL模块应用
/*
实现一个应用,同时还实现了整个 HTTP 服务器。
* */ //1.引入http模块
var http=require('http'); //2.用http模块创建服务 /*
req获取url信息 (request)
res 浏览器返回响应信息 (response)
* */
http.createServer(function(req,res){
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
//设置 HTTP 头部,状态码是 200,文件类型是 html,字符集是 utf-8
res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
res.write("你好 nodejs");
res.write('我是第一个nodejs程序');
res.end(); /*结束响应*/ }).listen(8001);
到该文件夹下,cmd命令运行:
node hello.js
浏览器显示:

HTTP 模块、URL 模块
Node.js 中,将很多的功能,划分为了一个个 module(模块)。 Node.js 中的很多功能都是通过模块实现。
HTTP 模块的使用
如第一个代码块,
req.url URL 地址。所有的路由设计,都是通过 req.url 来实现的。
我们比较关心的不是拿到 URL,而是识别这个 URL。
url.parse() 解析 URL
url.format(urlObject) //是上面 url.parse() 操作的逆向操作
url.resolve(from, to) 添加或者替换地址
案例:
var http=require('http');
var url=require('url');
//2.用http模块创建服务
/*
req获取url信息 (request)
res 浏览器返回响应信息 (response)
* */
http.createServer(function(req,res){
//输入http://localhost:8001/news?aid=123 拿到aid
// 输入http://localhost:8001/news?aid=123&cid=3 拿到aid 和cid
//req.url 获取浏览器url输入的信息
res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
if(req.url!='/favicon.ico'){
//http://localhost:8001/news?aid=123
//console.log(req.url); //返回 /news?aid=123
var result=url.parse(req.url,true); //第一个参数是地址 第二个参数是true的话表示把get传值转换成对象
console.log('aid='+result.query.aid); /*获取url的get传值*/
console.log('cid='+result.query.cid);
}
res.write('你好 nodejs');
res.end(); /*结束响应*/
}).listen(8001);
浏览器运行:

控制台打印:

Node.js 实现第一个应用以及HTTP模块和URL模块应用的更多相关文章
- Node.js学习笔记(一) --- HTTP 模块、URL 模块、supervisor 工具
一.Node.js创建第一个应用 如果我们使用 PHP 来编写后端的代码时,需要 Apache 或者 Nginx 的 HTTP 服务器, 来处理客户端的请求相应.不过对 Node.js 来说,概念完全 ...
- node.js HTTP模块、URL 模块
在浏览器输入存在的网址的一个交互过程 1.用户通过浏览器发送一个http的请求到指定的主机 2.服务器接收到该请求,对该请求进行分析和处理 3.服务器处理完成以后,返回对应的数据到用户机器 4.浏览器 ...
- Node.js 创建第一个应用
如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器,并配上 mod_php5 模块和php-cgi. 从这个角度看,整个"接收 HTTP 请求并提供 ...
- 使用node.js创建第一个应用
node.js应用组成部分 1.引入require模块:我们可以使用require指令来载入Node.js模块. 2.创建服务器:服务器可以监听客户端的请求,类似于Apache,Nninx等HTTP服 ...
- Node.js入门第一天
一.Node.js简介 1.1 简介 V8引擎本身就是用于Chrome浏览器的JS解释部分,但是Ryan Dahl这哥们,鬼才般的,把这个V8搬到了服务器上,用于做服务器的软件. Node.js是一个 ...
- Node.js创建第一个应用
在我们创建 Node.js 第一个 "Hello, World!" 应用前,让我们先了解下 Node.js 应用是由哪几部分组成的: 引入 required 模块:我们可以使用 r ...
- 7.Node.js 创建第一个应用
转自:http://www.runoob.com/nodejs/nodejs-tutorial.html 如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器, ...
- Node.js实践第一天
实践案例一 表单提交 demo.html <!doctype html> <html> <head> <title>表单提交</title> ...
- node.js之第一天
一.http模块 //require表示引包,引包就是引用自己的一个特殊功能 var http = require("http"); //创建服务器,参数是一个回调函数,表示如果有 ...
随机推荐
- 17,Flask-admin后台管理系统总结
导入包 from flask_admin import Admin,BaseView,expose,AdminIndexView from flask_admin.contrib.sqla impor ...
- pandas之数据处理
首先,数据加载 pandas提供了一些用于将表格型数据读取为DataFrame对象的函数,期中read_csv和read_table这两个使用最多. 1.删除重复元素 使用duplicated()函数 ...
- RS232、RS485和TTL电平与串行通信
RS232.RS485和TTL 作为一个底层软件开发工程师,经常会碰到RS232.RS485和TTL这一类的问题. 之前总是碰到问题之后Google一下,把当下的问题解决了之后就不管了,过个一两天就忘 ...
- 亚洲唯一:瀚思科技入选2019 Gartner SIEM 领域 Peer Insights,其他第一象限的有splunk和logrithym,elastic==,RSA、fortinet、rapid7和翰思一样都在第二象限
亚洲唯一:瀚思科技入选 Gartner SIEM 领域 Peer Insights 网络安全技术与产业,正在由传统的合规驱动,走向合规与需求双轮驱动.关注用户需求.倾听用户声音,根据实际情况打 ...
- Zabbix导入MySQL数据库报错ERROR 1046 (3D000) at line 1: No database selected
使用如下命令导入Zabbix数据库时报错 解决办法: 1.先把原始的数据库压缩包备份 cd /usr/share/doc/zabbix-server-mysql-4.0.7/ cp create.sq ...
- 深度学习Keras框架笔记之TimeDistributedDense类
深度学习Keras框架笔记之TimeDistributedDense类使用方法笔记 例: keras.layers.core.TimeDistributedDense(output_dim,init= ...
- Making Huge Palindromes LightOJ - 1258
题目链接:LightOJ - 1258 1258 - Making Huge Palindromes PDF (English) Statistics Forum Time Limit: 1 se ...
- 微信硬件平台(十) 1 ESP8266通过mqtt交互消息
//----------------------------------------------------------------------------------------// //----- ...
- (2)ESP8266 矩阵的逆求解
#include "math.h" int N=4; int M=4; float a[4][4]={ {1,0,0,0}, {1,0.5,0,0}, {1,0,1,0}, {1, ...
- learning java 使用WatchService监控文件变化
import java.io.IOException; import java.nio.file.*; public class WatchServiceTest { public static vo ...