内置模块/核心模块 (自带的)---http 服务器模块

http 服务器模块

createServer方法
const http = require('http');//导包

//http模块中的createServer方法用于创建一个服务器
//传入一个参数 为回调函数  createServer会向回调函数传入两个参数 
//第一个是请求对象   第二个是响应对象
//createServer方法会有个返回值  返回值就代表这个服务器
const server = http.createServer((request,response) => {
    
    
    //如果想要返回去的给用户看的有中文 并且不乱码就设置响应头
    response.setHeader('Content-Type', 'text/html;charset=utf-8');//setHeader设置响应头 传入两个参数 分别为 响应头名字和值
    response.end('hello 是是是');
})

//开启服务器 利用listen方法 需要传入两个参数
//第一个为服务器的端口 比如:8087
//第二个是回调函数
server.listen(8087,() => {
    
    
    console.log('server opening');
});
//本地访问 就是 127.0.0.1:8087



//通过http 创建服务器返回一个网页
const http = require('http');//导包
const fs = require('fs');//导包
const path = require('path');//导包

//创建服务器    
const server = http.createServer((request,response) =>{
    
    
    //读文件 返回
    //拼接读取文件的路径
    const fullPath = path.join(__dirname,'web','index.html');//拼接绝对路径
    //读取文件内容
    fs.readFile(fullPath,'utf-8',(err,data) =>{
    
    
        if(err == null){
    
    //当为错误信息为null 说明没错
            response.end(data);//通过end方法 将读取的内容返回给页面 让用户看到
        }
        else{
    
    
            response.end("404");
        }
    })
})

//开启服务器
server.listen(8848,()=>{
    
    
    console.log('success');
})
//创建一个静态资源服务器
//就是用户请求那个文件那个资源 就返回那个资源
const fs = require('fs');//导包
const path = require('path');//导包
const http = require('http');//导包

//创建服务器    
const server = http.createServer((request,response) =>{
    
    
    //先确定用户请求的是哪个文件   
    //通过createServer向回调函数中传入的第一个参数 中可以找到 他里面有个url用于保存用户请求的文件
    //读文件 返回
    //拼接读取文件的路径
    const fullPath = path.join(__dirname,'web',request.url);//拼接绝对路径  最后参数的文件是用户所想要请求的
    //读取文件内容
    //服务器会有一个嗅探功能  它会根据你所读取的资源后缀名 就知道是什么类型的资源 他就会自动用符合的方式打开 返回
    //在读文件不用定义编码集 如果定义编码集可能会出现问题
    //比如 定义编码集为utf-8   那么读取图片就一定会出现问题
    fs.readFile(fullPath,(err,data) =>{
    
    
        if(err == null){
    
    //当为错误信息为null 说明没错
            response.end(data);//通过end方法 将读取的内容返回给页面 让用户看到
        }
        else{
    
    
            response.end(`
            404 NOt FOUND
            ${
      
      request.url}`);
        }
    })
})

//开启服务器
server.listen(8848,()=>{
    
    
    console.log('success');
})
端口

http默认的端口是80端口 web服务器用的就是默认端口 所有我们不要用 比如百度 京东 只要是web服务器都是默认端口80

默认的80端口可以省略不写

自己写的服务器端口要用别的没有占用的端口 比如公认端口(0-1023)

猜你喜欢

转载自blog.csdn.net/weixin_44492275/article/details/108050197