4.http模块
创始人
2024-04-27 04:03:19
0次

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事件
  • 部署在某一个端口上

  • 箭头函数与function() {}是一样的,不了解箭头函数的可以看一下这个 https://blog.csdn.net/potato123232/article/details/124706016

运行一下

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

这个时候你的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进行一些处理就好了

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...