http模块 之 如何创建一个http服务?

一、如何创建一个http服务:

(1)导入http模块
const http=require('http');
(2)创建一个 HTTP 服务器对象
const server=http.createServer((request,response)=>{
// createServer接收一个实参,该实参是一个函数。函数可以是箭头函数匿名函数function等等。
// 该函数包含两个行参。第一个request(请求),接收请求报文的封装对象,借助与它可以获取到请求报文的封装内容。第二个response(响应),是对响应报文的封装对象,可以为浏览器设置响应结果。
// 使用createServer指定每次服务器收到请求时要执行的函数。此函数用于处理来自用户的请求以及返回给用户的响应。
response.end('Hello HTTP Server'); //设置响应内容  end设置响应体
response.setHeader('content-type','text/html;charset=utf-8'); //解决如下哈哈哈文字乱码问题
response.end('哈哈哈'); //设置响应内容  end设置响应体
})
(3)监听端口,启动服务
server.listen(9000,()=>{console.log('服务已启动...');
});
// listen有两个参数,第一个是端口号,第二个是回调函数,当服务启动成功后执行

二、注意事项

(1)命令行ctrl+c停止服务

(2)当服务启动后,更新代码必须重启服务才能生效

(3)响应内容中文乱码的解决办法 response.setHeader('content-type','text/html;charset=utf-8');

(4)端口号被占用(Error:listen EADDRINUSE: address already in use :::9000)

解决办法:1》关闭当前运行监听窗口的服务 2》修改其他端口号

(5)HTTP协议默认端口号是80,HTTPS协议默认端口号是443,HTTP服务开发常用端口号有3000,8080,8090,9000等等

(6)如果端口被其他程序占用,可以使用资源监视器点击侦听端口,找到占用端口程序,打开任务管理器按照pid排序找到对应的就关闭对应的程序

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

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

相关文章

电机参数辨识算法(2)——基于高频注入的磁链辨识策略

电机参数辨识算法(1)——基于高频注入的电感辨识策略-CSDN博客https://blog.csdn.net/m0_46903653/article/details/136722750?spm1001.2014.3001.5501上一期已经讲过了电感辨识方法。 今天这是参数辨识的第二期,今天来简单看看磁链的辨识。…

【数学建模】熵权法

之前我们学了层次分析法和topsis法,但是主观性十分强,有没有科学的方法得出权重呢?今天,我们来学习熵权法! 基本概念: 熵权法,物理学名词,按照信息论基本原理的解释,信息…

SpringBoot+vue3打造企业级一体化SaaS系统

SpringBootvue3打造企业级一体化SaaS系统 简介:    全面提升前后端技术水平,独立完成全栈项目开发能力,快速进击全栈工程师,最终在面试中脱颖而出。整合后端主流技术(Spring Boot、物理数据库隔离、加载动态权限、多…

深度学习-2.6在MINST-FASHION上实现神经网络的学习流程

文章目录 在MINST-FASHION上实现神经网络的学习流程1. 导库2. 导入数据,分割小批量3. 定义神经网络4.定义训练函数5.进行训练与评估 在MINST-FASHION上实现神经网络的学习流程 现在我们要整合本节课中所有的代码实现一个完整的训练流程。 首先要梳理一下整个流程&a…

用try...catch进行判断

在写一些提交数据的判断上,有时候会写下面的ifelse的判断方法,少一点还好,多的话就很难受也不好看。 if(!that.driverObj.contrary){this.__utils.showToast(请先上传驾驶证副页图片);return false } if(!this.driverObj.start){this.__util…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Flex)

以弹性方式布局子组件的容器组件。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。Flex组件在渲染时存在二次布局过程,因此在对性能有严格要求的场景下建议使用Column、Row代替。Flex组…

Vue3基础笔记(1)模版语法 属性绑定 渲染

Vue全称Vue.js是一种渐进式的JavaScript框架,采用自底向上增量开发的设计,核心库只关注视图层。性能丰富,完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用,适用于场景丰富的web前端框架。灵活性和可逐步集成…

149.乐理基础-七和弦的第一转位、第二转位、第三转位

内容参考于:三分钟音乐社 上一个内容:148.常用的7个七和弦结构与简称 上一个内容里练习的答案: 前置内容:必须看过 140.音程的转位 和 146.三和弦的第一转位、第二转位这两个 现在还是狭义上、理论上的转位,下面用C…

深度学习专家学习计划

深度学习专家学习计划 一、学习背景与目标 作为一名有6年工作经验的Java开发人员,您已具备基本的编程能力和数据处理经验。现计划转岗至深度学习领域,成为深度学习专家。本计划将结合您的工作背景和现有知识,为您制定详细且精确的学习计划,帮助您逐步达到专家水平。 二、…

高校实验室科研仪器开放共享存在的问题及对策建议

随着科技的迅速发展和高校科研水平的提高,高校实验室科研仪器的开放共享已经成为推动科研进步和创新发展的重要手段。然而,在实际操作中,我们也面临着诸多问题和挑战。本文将分析高校实验室科研仪器开放共享存在的问题,并提出相应…

【前言】神经网络与深度学习简介

如果您已经了解过神经网络与深度学习,请直接跳转到第一章学习 概念: 神经网络,一种基于生物启发式编程范式,它使计算机能够从观测数据中学习 深度学习,一套用于神经网络学习的强大技术集合 简介 神经网络和深度学习…

c# MD5加密函数

/// <summary> /// 对字符串进行MD5运算 /// </summary> /// <param name"str"></param> /// <returns></returns> public static string GetMd5String(string str) { …

杂七杂八111

MQ 用处 一、异步。可提高性能和吞吐量 二、解耦 三、削峰 四、可靠。常用消息队列可以保证消息不丢失、不重复消费、消息顺序、消息幂等 选型 一Kafak:吞吐量最大&#xff0c;性能最好&#xff0c;集群高可用。缺点&#xff1a;会丢数据&#xff0c;功能较单一。 二Ra…

javaEE7

1. <% page pageEncoding"UTF-8"%><% page import"java.io.*"%> <% page import"java.util.*"%> <% page import"java.math.*"%> <html> <head><title>网站计数器</title></head&…

【软件测试基础篇】第二节.黑盒测试中常见方法

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言⼀、等价类法&#xff08;解决穷举问题&#xff09;二、边界值法&#xff08;解决边界限制问题&#xff09;三、正交表法&#xff08;解决多条件依赖问题&#…

媒体发稿:澳门媒体发稿7个流程

推广平台澳门是一个重要的度假旅游娱乐终点&#xff0c;都是媒体领域热议的话题。对于澳门的媒体发稿营销推广要求&#xff0c;大家提供了一个简单易用的套餐系统软件&#xff0c;帮助大家在澳门媒体上发表推广文章。下面我们就根据7个阶段&#xff0c;详解构建这一套餐推广平台…

Python如何处理拥塞控制

拥塞控制是计算机网络中用于防止网络拥塞&#xff08;即过多的数据导致网络性能下降&#xff09;的一系列技术和算法。在Python中&#xff0c;处理拥塞控制通常不直接涉及到代码层面的实现&#xff0c;因为拥塞控制主要是在网络协议栈&#xff08;如TCP/IP&#xff09;和操作系…

echarts tooltip提示组件框自定义浮窗内容

echarts tooltip提示组件框自定义浮窗内容 tooltip提示组件框 有三种浮窗展示方法 第一种&#xff1a;默认展示 第二种&#xff1a;字符串模板 第三种&#xff1a;回调函数 第二种 formatter&#xff08;字符串模板&#xff09; 模板变量有 {a}, {b}&#xff0c;{c}&#xff0…

C++ 作业 24/3/14

1、成员函数版本实现算术运算符的重载&#xff1b;全局函数版本实现算术运算符的重载 #include <iostream>using namespace std;class Test {friend const Test operator-(const Test &L,const Test &R); private:int c;int n; public:Test(){}Test(int c,int n…

LeetCode 热题 100 | 回溯(二)

目录 1 39. 组合总和 2 22. 括号生成 3 79. 单词搜索 菜鸟做题&#xff0c;语言是 C&#xff0c;感冒快好版 关于对回溯算法的理解请参照我的上一篇博客&#xff1b; 在之后的博客中&#xff0c;我将只分析回溯算法中的 for 循环。 1 39. 组合总和 题眼&#xff1a;c…