基于VSCode 浅谈 node.js-server

基于Visual Studio Code 浅谈 node.js-server

转载于server基础

1.http协议

http协议:基于请求和响应的模式,客户端向服务端发起请求,服务端接收到请求后返回数据
完成本次请求;

短连接:一次请求完成之后,客户端与服务器断开连接;服务端不能主动向客户端发送请求

2.服务器的搭建

createServer 作用

  1. 创建服务器
  2. 设置监听
// 引入http模块 --- http.js文件
let http = require("http");
let urlObj = require("url");
//创建服务器
let server = http.createServer(function (request,response) {})
// 启动服务器监听 参数1:端口号  参数2:启动服务器成功之后,调用的函数
server.listen(8080,function () {
    console.log("8080--服务器启动成功");
})

3.request(req)和response(res)的基本概念

req(request) 请求对象
    请求头
        请求头很短,包含本次请求的基本信息,如url地址,请求类型等
        
    请求体
        当post请求时,因为post的数据量比较大,所以传递的数据会存放在请求体里
        
    req对象 常用属性
        1. req.url 本次请求的路径和参数 
        2. req.method  本次请求的方式
        
    如何通过req对象获取post请求的数据:
       node在获取post过来的数据时是分次分段获取的

res(response) 响应对象
    响应头
        存储本次返回给前端数据的配置信息,如文件格式,编码格式等

    响应体 
        决定 向客户端返回什么内容

常用属性
    writeHead(状态码,{配置信息})设置响应头
    write(内容) 内容会返回给前端可以写多次;内容会自己拼接起来
    end(内容)内容也会返回给前端;end只显示第一个;不能不写end,不写的话客户端会一直等待,end可以不带参数
    

4.req,res代码

// request求对象,包含用户的请求信息
    console.log(request.url);//访问地址
// url模块中的parse方法解析
// parse将路径url解析成对象,第二个参数,如果写true,则将query这个key
// 对应的value值,转成对象类型
   let datas = urlObj.parse(request.url,true);
//获取前端请求传递过来的数据
   console.log(datas.query);
// 修改代码编码格式,响应数据的编码格式
    response.writeHead(200,{
        "content-type":"text/html;charset=utf-8"
    });
//不同页面返回不同的数据
    if (request.url == "/"){
        response.end("这是首页返回的数据!");
    } else if(request.url == "/shop"){
        response.end("这是购物车返回的数据!");
    }else if(request.url == "/my"){
        response.end("这是我的页面返回的数据!");
    }else {
        response.end("该页面不存在,404");
    }

5.weite end

都是响应数据给前端页面 end(字符串) write(字符串);
end会终止函数的执行,而write不会;

6.调试

  • 终端打开文件
  • 浏览器跳转 http://localhost:8080
  • 端口号+ / 是首页返回数据
    + /shop 购物车返回数据
    +/my 页面返回数据
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值