node-04-server基础

简介: http协议:基于请求和响应的模式,客户端向服务端发起请求,服务端接收到请求后返回数据完成本次请求一次请求完成之后,客户端与服务器断开连接,短连接

1.http


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

完成本次请求

一次请求完成之后,客户端与服务器断开连接,短连接


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. res ,req 基本概念



req(request) 请求对象
        请求头
            请求头很短,包含本次请求的基本信息,如url地址,请求类型等
        请求体
          当post请求时,因为Post的数据量比较大,所以传递的数据会存放在请求体里
      req对象 常用属性
        1. req.url 本次请求的路径和参数 
        2. req.method  本次请求的方式
       如何通过req对象获取post请求的数据:
       node在获取post过来的数据时是分次分段获取的
    res(response) 响应对象
          响应头
            存储本次返回给前端数据的配置信息,如文件格式,编码格式等
          响应体 
           决定 向客户端返回什么内容



4. req,res代码


中文乱码需要 添加编码方式

req.url 得到客户端访问地址


// 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. write end


都是响应数据给前端页面  end(字符串) write(字符串)

end会终止函数的执行,而write不会


6.调试


3PZ_@@V$2~2C(M2`[67$S~S.png





相关文章
|
3月前
|
SQL JavaScript 关系型数据库
Node服务连接Mysql数据库
本文介绍了如何在Node服务中连接MySQL数据库,并实现心跳包连接机制。
47 0
Node服务连接Mysql数据库
|
Kubernetes 网络协议 API
node节点加入k8s集群时报错:no such host
node节点加入k8s集群时报错:no such host
373 0
|
资源调度 前端开发 中间件
node独白(简介)
node独白(简介)
node启动服务时报错:listen EADDRINUSE 3000
node启动服务时报错:listen EADDRINUSE 3000
109 0
node启动服务时报错:listen EADDRINUSE 3000
node11-node的 http模块
node11-node的 http模块
116 0
node11-node的 http模块
|
JavaScript NoSQL MongoDB
Node(九)之Node配合MongoDB实现简单的注册登录
Node(九)之Node配合MongoDB实现简单的注册登录
111 0
Node:http-server开启静态服务器
Node:http-server开启静态服务器
109 0
|
JavaScript Linux Shell
Node版本及源管理
Node 版本推荐用最新的lts版本(目前12.x), 尝鲜可以用current版本(一般比稳定版超前一个大版本)
761 0
|
自然语言处理 算法 分布式数据库
Node 与 Cluster
Node 与 Cluster
156 0
|
Web App开发 数据采集 JavaScript
node-01-简介
Node.js 是一个开源与跨平台的 JavaScript 运行时环境 在浏览器外运行 V8 JavaScript 引擎(Google Chrome 的内核),利用事件驱动、非阻塞和异步输入输出模型等技术提高性能 可以理解为 Node.js 就是一个服务器端的、非阻塞式I/O的、事件驱动的JavaScript运行环境
150 0