目录

  • http 服务器搭建
    • 有很多条数据时用response.write
    • 测试服务器是否开启

http 服务器搭建

通过http模块提供的方法可以创建服务器
1 引入http模块 (nodejs内置模块, 可以直接引入)

const http = require('http');
  1. 创建服务器http.createServer() 方法
  2. response.end() 方法 返回数据 终止响应
  3. 服务要想正常开启,必须要有一个专用的端口号(通道), 默认nodejs的服务端口号是 3000
  4. 回调函数 为了提示服务器正常开启

服务器的搭建写法有好几种:

  • 第一种

const http = require('http');
//  2. 创建服务器 http.createServer() 方法
//  request对象:客户端向服务器请求(传递的所有的数据等信息)  简写  req
//  response对象: 服务器向客户端进行响应(服务器返回的数据等信息)  简写 reshttp.createServer((request, response) => {response.end("hello word ");//3.  response.end() 方法 返回数据 终止响应 //4. 服务要想正常开启,必须要有一个专用的端口号(通道), 默认nodejs的服务端口号是 3000
}).listen(3000, () => {//  5. 回调函数 为了提示服务器正常开启console.log("server is running at 127.0.0.1 ");
})
  • 第二种
const http = require('http');
const server= http.createServer((request, response) => {response.end("hello word ");
})server=listen(3000, () => {console.log("server is running at 127.0.0.1 ");
})

有很多条数据时用response.write

上面的写法通过response.end结束服务器响应,只能写入一条信息,当有很多条信息时,需要用另一种方法

const http = require('http');
const server = http.createServer((request, response) => {response.write("hello word")response.write("hello word")response.write("hello word")response.write("hello word")response.end();
})
server.listen(3000, () => {console.log("server is running at 127.0.0.1 ");
})

测试服务器是否开启

在自己所建的目录文件夹内 按住Shift+鼠标右键 在菜单内选择“在此处打开命令”

打开命令窗口后在命令行内输入node 文件名 按回车键弹出代码中监听所输出的内容就代表已经打开服务器

代码中的内容要输出到页面,打开浏览器输入localhost:3000,回车后就可以在页面中看到代码输出的内容

代码内的输出内容每改变一次就要在命令窗口重新输入一边node 文件名命令


代码中出现中文,在页面输出会出现乱码情况

解决中文乱码问题 设置响应头(设置编码格式和文件的MIME类型)

 response.writeHead(200, { 'Content-type': "text/plain;charset=utf-8" })

200 是http状态码 (代码成功)

{'Content-type':"text/plain;charset=utf-8"}响应头

text/plain (默认是纯文本) 文件的MIME类型 常用的MIME类型:text/html text/css text/image

MIME多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。

 response.writeHead(200, { 'Content-type': "text/plain;charset=utf-8" })
const http = require('http');
const server = http.createServer((request, response) => {response.writeHead(200, { 'Content-type': "text/plain;charset=utf-8" })response.write("hello word")response.write("hello word")response.write("hello word")response.write("hello word")response.write('你好')response.write('<h1>这是h1标签</h1>')response.end();
})
server.listen(3000, () => {console.log("server is running at 127.0.0.1 ");
})

//把MIME类型改变可以改变,可以根据需求读取不同类型response.writeHead(200, { 'Content-type': "text/html;charset=utf-8" })

http 服务器搭建相关推荐

  1. Gitea——私有git服务器搭建详细教程

    本文将从源代码和docker安装两种方式带大家从0-1通过Gitea搭建一个私有git服务器 Gitea--私有git服务器搭建教程 什么是Gitea 一.源代码安装方式 1. 前置环境要求 2. 下 ...

  2. CentOS下的DNS服务器搭建

    CentOS下的DNS服务器搭建 实验环境:VMware workstation 10         centos 6.4 说明: DNS是计算机域名系统或域名解析服务器(Domain Name S ...

  3. 使用Linux服务器搭建个人深度学习环境

    使用Linux服务器搭建个人深度学习环境 环境及所需工具 连接服务器 创建自己的python环境 创建深度学习框架的环境(以tensorflow为例) 测试环境 退出环境 删除环境 WinSCP的使用 ...

  4. windows AD/DNS服务器搭建

    windows AD-DS服务器搭建 1 什么是域 2 域的原理及作用 3 使用域的优势 4 Active Directory(活动目录) 5 安装AD条件 6 安装AD步骤 7 DNS服务器 8 D ...

  5. 企业dns服务器搭建

    企业dns服务器搭建 1关于dns的名词解释 2 dns服务的安装与启用 3 高速缓存dns 4 dns的正向解析 5 dns的反向解析 6 dns的双向解析 7 dns集群及更新 8 动态域名解析 ...

  6. -【Java FTP及FTP服务器搭建】

    -[Java FTP及FTP服务器搭建] 一:本文采用apache项目组的 Apache Commons Net™ library 项目地址:http://commons.apache.org/net ...

  7. iis7 文件服务器搭建,iis7 ftp服务器搭建

    iis7 ftp服务器搭建 内容精选 换一换 安装MySQL本文档以"CentOS 6.5 64bit(40GB)"操作系统为例,对应MySQL版本为5.1.73.CentOS 7 ...

  8. SVN服务器搭建--Subversio与TortoiseSVN的配置安装

    SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上 ...

  9. 日志服务器搭建之多服务器日志转发与格式化处理

    日志服务器搭建是靠linux的rsyslog功能作日志转发和日志收集的 rsyslog是由一台Linux服务器作日志服务器,收集其他服务器即rsyslog客户端转发过来的日志,所以rsyslog既可以 ...

  10. Linux下简单的邮件服务器搭建

    Linux下简单的邮件服务器搭建 电子邮件服务简介 电子邮件是因特网上最为流行的应用之一,而邮件服务器是一种用来负责电子邮件收发管理的设备,它构成了电子邮件系统的核心. 电子邮件系统的组成  MUA( ...

最新文章

  1. 让你每天精神都好好的方法ZT
  2. Linux 基础命令——比较两个文件内容的不同
  3. 神经网络训练集的图片到底是如何相互作用的?
  4. shell 练习(13) —— 监控 httpd 进程数是否异常
  5. jQuery加载一个html页面到指定的div里
  6. 机器学习面试题(part1)
  7. 今日代码(20201003)--简单爬虫
  8. Swing应用程序中的JavaFX 8 DatePicker
  9. transform.Normalize()用法+后面参数为什么用(0.5,0.5,0.5)(0.5,0.5,0.5)
  10. amd显卡风扇调节_为什么NVIDIA和AMD公版显卡纷纷摒弃涡轮散热器而采用多风扇散热设计?...
  11. Eclipse编辑HTML,JSP,JS等时的卡顿问题,非常有效!!!
  12. 自实现Regsvr32注册dll功能
  13. Python对电影数据简单分析
  14. 英特尔nuc做网站服务器,难以想象 英特尔把至强处理器塞进了NUC
  15. easypanel b.php,easypanel 免费主机面板
  16. Word2vec与LDA的聚类区别
  17. 自然语言处理和编译器的对比
  18. 如何使用Kotlin构建Android旋转旋钮以帮助儿子练习钢琴
  19. 数据结构之你没见过的排序算法!
  20. 管理信息系统【四】之 管理信息系统战略规划与开发方法

热门文章

  1. repaint(重绘)和reflow(回流)
  2. 快速上手:图聚类入门 Graph Clustering
  3. java中excel文件内容读取
  4. 程序媛小姐姐甜甜恋爱过程
  5. 音频转码 via FFmpeg
  6. win10激活问题0x80070422 无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。 (SWbemObjectEx)
  7. GM如何修改服务器密码,魔力gm帐号密码修改及gm命令大全使用方法
  8. 2021华为海思实习校招芯片岗真题解析
  9. 将MBR分区转换为GPT分区后安装GHO镜像
  10. 【STM32】STM32 CubeMx使用教程一--安装教程