4.http模块

news2025/3/13 7:32:37

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进行一些处理就好了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/103347.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vsomeip 快速入门

vsomeip 快速入门 文章目录vsomeip 快速入门1. 下载仓库2. 编译2.1 安装相关依赖2.2 编译vsomeip2.3 编译hello_world example3. 运行1. 下载仓库 git clone https://github.com/COVESA/vsomeip.git2. 编译 2.1 安装相关依赖 我的ubuntu 版本是20.04,所以以ubunt…

Python幂分布

文章目录幂分布帕累托分布Zipf分布power(a)p(x)axa−1p(x)ax^{a-1}p(x)axa−1幂分布pareto(a)p(x)amaxa1p(x)\frac{am^a}{x^{a1}}p(x)xa1ama​帕累托分布zipf(a)p(k)k−aζ(a)p(k)\frac{k^{-a}}{\zeta(a)}p(k)ζ(a)k−a​齐普夫分布 幂分布 幂分布的形式是非常简单的&#xff…

计算机毕设Python+Vue学习管理系统(程序+LW+部署)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

大脑皮层的分割方法

大脑皮层分割的意义 神经元之间的相互联系构成了大脑内信息传递的主要手段,这些连接构成了一个复杂的网络。可以通过现代医学成像技术,如磁共振成像MRI在宏观尺度上进行估计 网络节点的定义是构建大脑连接网络的关键步骤之一。使用体素水平的网络具有高…

vue之动态组件

切换组件案例 点击一个tab-bar,切换不同的组件显示: 这个可以通过两种不同的思路来实现: 方式一:通过v-if来判断,显示不同的组件。方式二:动态组件的方式。 (1)通过v-if来判断显示不…

高粱根质膜中K~+ -ATPase活性重组入人工脂质体/硫修饰脂质体包裹的VEGF反义寡核苷酸的相关研究

小编在这里给大家整理了高粱根质膜中K~ -ATPase活性重组入人工脂质体/硫修饰脂质体包裹的VEGF反义寡核苷酸的相关研究,一起来看! 高粱根质膜中K~ -ATPase活性重组入人工脂质体相关研究: 将高粱根质膜中K~ -ATPase活性重组入人工脂质体中 ,并…

迁移速度与计算性能兼得!天翼云DirtyLimit技术大显身手

虚拟机技术的快速发展使系统迁移变得更加灵活且多样化,其广泛应用也促使用户对虚拟机迁移速度和性能影响提出了更高要求。天翼云弹性计算虚拟化团队创新研发DirtyLimit虚拟机迁移加速技术,能够在保证读vCPU性能几乎不下降的情况下,有效缩短虚…

行业沙龙第五期丨供应商全生命周期管理赋能高质量采购

找不到好的供应商、供应商管理难,高成本效率低,货品质量难管控、交货不及时等等,导致错失了客户,太可惜了,怎么办呢?追根溯源,这些问题的源头多在于没有做好供应商管理。 供应商管理是供应链采…

[LeetCode 1760]袋子里最少数目的球

题目描述 题目链接:[LeetCode 1760]袋子里最少数目的球 给你一个整数数组 nums ,其中 nums[i] 表示第 i 个袋子里球的数目。同时给你一个整数 maxOperations 。 你可以进行如下操作至多 maxOperations 次: 选择任意一个袋子,并…

week8 正交化/human-level error/train,dev,test sets

文章目录前言一、8.1,8.2 正交化二、8.3,8.4评估指标1、 单一量化评估指标2、满足和优化指标三、8.5-8.7训练开发测试数据集1、训练开发测试数据集的分布。2、训练开发测试数据集的大小选择3、何时更改指标或者开发测试数据集四、 8.8-8.12 与人类水平相比较1、为什么选择与人类…

单商户商城系统功能拆解49—应用中心—在线客服

单商户商城系统,也称为B2C自营电商模式单店商城系统。可以快速帮助个人、机构和企业搭建自己的私域交易线上商城。 单商户商城系统完美契合私域流量变现闭环交易使用。通常拥有丰富的营销玩法,例如拼团,秒杀,砍价,包邮…

工业物联网解决方案:油井数据远程监控系统

石油行业是国民经济的重要能源支柱,是推动工业发展的原动力。随着物联网、云计算、5G无线通信等技术的发展,多种要素驱动下的生产系统逐步向着数字化转型,重要性越来越明显。油井数字化就是其中的重要一环。 油田开采区域广阔,分…

【苹果推iMessage送】摆设overrideUserInterfaceStyle属性以使该视图及其子视图具备特定的UIUserInterfaceStyle

推荐内容IMESSGAE相关 作者推荐内容iMessage苹果推软件 *** 点击即可查看作者要求内容信息作者推荐内容1.家庭推内容 *** 点击即可查看作者要求内容信息作者推荐内容2.相册推 *** 点击即可查看作者要求内容信息作者推荐内容3.日历推 *** 点击即可查看作者要求内容信息作者推荐…

攻防世界-宜兴网信办-fileinclude

题目 访问题目场景 查看网页源代码&#xff0c;发现其中存在php代码 <?php if( !ini_get(display_errors) ) { //ini_get是获取php.ini里的环境变量的值。环境变量未设置错误回显ini_set(display_errors, On);} error_reporting(E_ALL);//报告所有类型的错误 $lan $_COOK…

微信小程序遍历Echarts图表,实现遍历多个柱状图

1.wxml文件 <view stylewidth:100%;height:200rpx><ec-canvas id"mychart-dom-bar" canvas-id"mychart-bar" ec"{{ ec }}"></ec-canvas> </view>2.js文件 import * as echarts from ../../common/ec-canvas/echarts; …

rocketmq源码-consumer已消费offset更新逻辑

前言 这篇博客&#xff0c;主要记录consumer已经消费的offset是如何更新的 对于集群模式&#xff0c;offset是维护在broker中的&#xff1b;而广播模式&#xff0c;offset是存储在本地文件中&#xff08;暂时没有验证具体存储的位置&#xff0c;是根据源码推测的&#xff09;…

socket,http和websocket的区别

HTTP协议是非持久化的&#xff0c;单向的网络协议&#xff0c;在建立连接后只允许浏览器向服务器发出请求后&#xff0c;服务器才能返回相应的数据。当需要即时通讯时&#xff0c;通过轮询在特定的时间间隔&#xff08;如1秒&#xff09;&#xff0c;由浏览器向服务器发送Reque…

Delft3D水动力-富营养化模型

湖泊富营养化等水质问题严重威胁我国经济社会的发展&#xff0c;也是水环境和水生态领域科研热点之一。水环境模型是制定湖泊富营养化控制对策&#xff0c;预测湖泊水环境发展轨迹的重要工具&#xff0c;在环境影响评价、排污口论证等方面也有着广泛的应用。荷兰Delft研究所开发…

Oracle数据库:数据的仓库,永久就存储,Oracle安装教程,修改Oracle scott,sys,system用户的密码,查看表格

Oracle数据库&#xff1a;数据的仓库&#xff0c;永久就存储&#xff0c;Oracle安装教程&#xff0c;修改Oracle scott&#xff0c;sys&#xff0c;system用户的密码&#xff0c;查看表格 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人…

Diffusion理论知识学习-预备

马尔科夫链 总体思想: 过去的所有信息都被保存在了现在的状态中&#xff0c;只使用现在状态就能预测到之后的状态&#xff0c;换句话说就是某个时刻的状态转移概率只依赖于它的前一个状态。 公式化表达:P(xt1∣xt,xt−1,...,x1,x0)P(xt1∣xt)P(x_{t1}|x_t,x_{t-1},...,x_1,x_0…