node---http模块,如何用node.js做简单的服务器环境http.createServer

http模块提供的request和response对象与http协议打交道,处理tcp链接,解析http,从而实现一个http服务器。

request对象封装了HTTP请求,我们调用request对象的属性和方法就可以拿到所有HTTP请求的信息;
response对象封装了HTTP响应,我们操作response对象的方法,就可以把HTTP响应返回给浏览器。

新建app.js,代码如下:

///最简单的node.js搭建的服务器:
'use strict';

let http=require('http');//必须首先引入http模块

//http.createServer()返回一个server实例,必须参数req,res,回调函数表示接受到请求之后做的事情,req表示请求,res表示相应
let server=http.createServer((req,res)=>{

    //服务的响应头设置,text/plain为纯文本;text/html为html内容;text/css为样式;image/jpg为图片头.200表示响应成功状态
    res.writeHead(200,{'Content-Type':'text/html;charset=UTF8'});

    //每一次的请求回调里面必须要有res.end(),表示这次请求完成,如果没有,则请求一直旋转知道浏览器响应超时。end之前可以无限次数的使用res.write()方法。res.end()里面参数必须是字符串格式,res.end(1+2)则会报错!
    res.end('<h1>wbiokr</h1>')
});

//server即为返回的实力,监听的端口号8080
server.listen(8080);//server.listen(8080,'127.0.0.1')为全称
console.log('we are listening 8080');

此时node app,便开启服务器,浏览器输入127.0.0.1:8080即可相应。


request对象

用于在createServe的回调函数中获取url,进行路由判断

req.url ;///表示用户的请求URL地址,可以用于做路由,/ 表示根目录,会忽略锚点和参数。问号后面的参数通过querystring模块进行处理;而URL模块处理整个url

url模块

用于处理request对象获取的url字符串

url.parse(urlStr) ;///解析URL对象,返回JSON对象包括protocol、port、hash、pathname、query等。

url.parse(urlStr,true)  ;//传入第二个参数且为TRUE的时候,query这一属性会被解析为对象---如同querystring模块。

url.format(urObj) ;//格式化urlObj中各属性,如同path模块中的path.normailze

url.resolve(str1,str2) ;//拼接个参数,返回一个字符串

querystring模块

字符串与 对象互相转换方法

querystring.stringify(obj) ;//方法类似JSON.stringify 。根据&和=进行拼接

querystring.parse(str) ;//方法类似JSON.parse. 根据&和=进行分割

地址栏url被parse之后对象的主要属性

protocol: 'http' ;
hostname: 'localhost:1100';
port: '1100' ;
hash: '#hash' ;
search: '?query=string';
query: 'query=string';
pathname:'/a/b/c';
path:'/a/b/c?query=string' ;
href: 'http://localhost:1100/a/b/c?query=string#hash'
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值