/*
实现一个应用,同时还实现了整个 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模块应用的更多相关文章

  1. Node.js学习笔记(一) --- HTTP 模块、URL 模块、supervisor 工具

    一.Node.js创建第一个应用 如果我们使用 PHP 来编写后端的代码时,需要 Apache 或者 Nginx 的 HTTP 服务器, 来处理客户端的请求相应.不过对 Node.js 来说,概念完全 ...

  2. node.js HTTP模块、URL 模块

    在浏览器输入存在的网址的一个交互过程 1.用户通过浏览器发送一个http的请求到指定的主机 2.服务器接收到该请求,对该请求进行分析和处理 3.服务器处理完成以后,返回对应的数据到用户机器 4.浏览器 ...

  3. Node.js 创建第一个应用

    如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器,并配上 mod_php5 模块和php-cgi. 从这个角度看,整个"接收 HTTP 请求并提供 ...

  4. 使用node.js创建第一个应用

    node.js应用组成部分 1.引入require模块:我们可以使用require指令来载入Node.js模块. 2.创建服务器:服务器可以监听客户端的请求,类似于Apache,Nninx等HTTP服 ...

  5. Node.js入门第一天

    一.Node.js简介 1.1 简介 V8引擎本身就是用于Chrome浏览器的JS解释部分,但是Ryan Dahl这哥们,鬼才般的,把这个V8搬到了服务器上,用于做服务器的软件. Node.js是一个 ...

  6. Node.js创建第一个应用

    在我们创建 Node.js 第一个 "Hello, World!" 应用前,让我们先了解下 Node.js 应用是由哪几部分组成的: 引入 required 模块:我们可以使用 r ...

  7. 7.Node.js 创建第一个应用

    转自:http://www.runoob.com/nodejs/nodejs-tutorial.html 如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器, ...

  8. Node.js实践第一天

    实践案例一 表单提交 demo.html <!doctype html> <html> <head> <title>表单提交</title> ...

  9. node.js之第一天

    一.http模块 //require表示引包,引包就是引用自己的一个特殊功能 var http = require("http"); //创建服务器,参数是一个回调函数,表示如果有 ...

随机推荐

  1. JS正则表达式提取数字

    /** * [参数str] * @type {var String} * return 30 */ var str = "ren民BI30kuai" console.log(str ...

  2. 计算机网络基础之OSI参考模型

    计算机网络基础之OSI参考模型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.OSI参考模型 OSI是Open System Interconnection的缩写,意为开放式系 ...

  3. Python入门篇-文件操作

    Python入门篇-文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.文件IO常用操作 open:打开 read:读取 write:写入 close:关闭 readlin ...

  4. Linux服务-rsync

    目录 1. rsync简介 2. rsync特性 3. rsync的ssh认证协议 4. rsync命令 5. rsync+inotify Linux服务-rsync 1. rsync简介 rsync ...

  5. Linux CentOs下安装lnmp

    1.下载源码包 以root目录为例: cd ~ # 下载安装包 wget http://nginx.org/download/nginx-1.17.2.tar.gz # nginx wget http ...

  6. js实现文本框自动显示两位小数

    转自https://blog.csdn.net/qiji2011/article/details/81270552 1.js: //保留2位小数,如:2,会在2后面补上00.即2.00 functio ...

  7. LightOJ - 1318 - Strange Game(组合数)

    链接: https://vjudge.net/problem/LightOJ-1318 题意: In a country named "Ajob Desh", people pla ...

  8. selenium原理解析

    相信很多测试小伙伴儿都听过或者使用过web自动化selenium,那您有没有研究过selenium的原理呢?为什么要使用webdriver.exe,webdriver.exe是干啥用的?seleniu ...

  9. 学到了林海峰,武沛齐讲的Day50 django

    http请求中产生两个核心对象: http请求:HttpRequest对象 http响应:HttpResponse对象 所在位置:django.http 5/8结束

  10. pkgconfig

    # tree hiredis/ hiredis/└── usr └── local ├── include │   └── hiredis │   ├── adapters │   │   ├── a ...