4.http模块

http模块是Node.js官方提供创建web服务器的模块,在使用http模块前首先导入http模块

目录

1  一些概念

1.1  IP

1.2  域名

1.3  端口

2  创建一个基本的web服务器

3  req请求对象

4  res响应对象

5  不同地址获取不同响应

6  在服务中加载html文件

6.1  基础功能

6.2  优化url


1  一些概念

1.1  IP

每一个服务器都有他自己的IP,有的使用了域名挡住了IP,你可以使用ping看到域名下的ip

直接访问IP也可以打开百度的首页

1.2  域名

每一个域名对应着一个IP,域名相对于IP更好记,本机的IP是127.0.0.1,对应的域名是localhost

1.3  端口

一个IP可以开多个服务,通过请求不同的端口可以得到不同的响应,在浏览器中如果直接输入IP,访问的端口默认是80

一个端口只能被一个服务占用

2  创建一个基本的web服务器

分为4步

  • 导入http模块
  • 创建server实例
  • 给server实例绑定request事件
  • 部署在某一个端口上

运行一下

  • 如果你对代码做了修改,且你想使修改生效,那么你需要重新启动一遍代码

这个时候你的PowerShell是阻塞的,你不要关了这个终端,关了服务就没了

我们用浏览器访问一下,发现有请求记录

但是在浏览器上没有得到响应

3  req请求对象

req请求对象就是上面我们server绑定request的第一个参数

有下面几个常用属性,返回值的类型都是字符串

  • req.url 请求的地址
  • req.method 请求的方法

我们随便看几个

运行一下

用浏览器先访问 127.0.0.1 再访问 127.0.0.1/test

如果用postman或者Ajax这种就可以发一个post请求,在这里我就不测试了

4  res响应对象

比如我们想响应给客户端一些内容,我们可以使用res.end()

  • res.end()中可以写html字符串

运行后无论你访问哪一个路由都会显示hello

如果直接给中文会就会乱码

这个时候我们要对响应头进行一些设置

5  不同地址获取不同响应

6  在服务中加载html文件

6.1  基础功能

可以用fs,path模块配合http模块来加载html文件

我当前的项目结构是这样的,server.js是服务,index.html,index.css,index.js与server.js在相同的路径下

server.js代码

  • 如果设置响应头为这样 res.setHeader('Content-Type','text/html;charset=utf8') 会导致CSS与JS加载不出来

6.2  优化url

可以优化一下url,让用户输入起来更方便,实质上对url进行一些处理就好了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Suyuoa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值