当前位置:首页 > 日记 > 正文

NodeJS创建最简单的HTTP服务器

NodeJS创建最简单的HTTP服务器

☆ 引子

var http = require('http');http.createServer(function(request, response){  response.writeHead(200, { 'Content-Type': 'text-plain' });  response.end('Hello World\n');}).listen(8124);

对这个http这个最顶层的对象有个.createServer服务器的方法。
创建了一个服务器,跟服务器相关的就两个事件。
请求事件,request事件,request对象。
响应事件,response事件,responose对象。
所以,这个function函数里头,第一个参数是request对象,第二个参数是response对象。

☆ HTTP请求

1. http请求事件——request事件

HTTP的请求信息,由http.request事件发送。
事件就是对象,对象就是有属性和方法。

这个request事件发送的请求信息是什么呢?
是这个对象——http.ServerRequest。
对象就是有属性和方法。

2. http.ServerRequest的属性

request对象的属性是:


这个http.ServerRequest对象描述的是请求信息,这个请求信息主要是由两个部分组成的:
1. 请求头(Request head)
2. 请求体(Request body)
请求头里头的数据长度比较短,解析完成后,能够立即读取。
请求体可能相对时间就比较长,需要一定时间的传输。

3. http.ServerRequest相关的事件

跟这个请求信息http.ServerRequest发送的时候相关的事件有四个,
看下面这个表:

HTTP响应

1. http响应事件——response事件

服务器接收了http.ServerRequest—— 客户端发给服务器的请求数据。它处理了一下数据,也需要有个响应,发给客户端。
这个响应事件就是responce,在服务器中是第二个参数。
跟这个response相关的有几个方法:

2. response对象的属性

response事件发的这个东西就是http.ClientResponse对象。
这个对象描述的就是响应信息,
这个响应信息也是由两个部分组成的
1. 响应头(Response head)
2. 响应体(Response body)

这个对象的属性就是下面这个表描述的:

3. http.ClientResponse相关的事件

跟这个响应信息相关的也是这几个事件

☆ 引子代码讲解

//引入内置模块http模块var http = require('http');//2http.createServer(function(request, response){  response.writeHead(200, { 'Content-Type': 'text-plain' });  response.end('Hello World\n');}).listen(8124);

在注释标号为2的代码处,意思是http当中有个createServer的方法,里头的功能函数的参数就是两个,第一个就是request事件,第二个就是response事件。
在这个函数体内部呢
response.writeHead就是一个写响应头的方法,
1. 200是HTTP状态码,表示成功处理了此次请求,
2. {'Content-Type':'text-plain'}这个是个MIME标准的格式描述。
告诉浏览器,返回的内容类型是个啥东西,text-plain就是MIME类型。
3. response.end()表示的就是响应事件传输数据结束。因为请求没有发送请求体数据,所以没有触发data事件。

http.createServer(function(request,response){}).listen(8124);

这就是最简单的一个服务器。监听的是服务器上的8124端口。

第一步: 把引子中的代码保存成.js文件,然后用Node运行这个js文件。

如图:

第二步: 浏览器访问服务器端口(本地8124端口),就会显示服务器程序返回的响应信息。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

相关文章

jQuery实现html table行Tr的复制、

jQuery实现html table行Tr的复制、

计算,删除,功能,电脑软件,html,本文实例讲述了jQuery实现html table行Tr的复制、删除、计算功能。分享给大家供大家参考,具体如下:添加行:function addtr(){ var tr = $("#tb tr").eq(0).clone(); tr.appendTo("#tb"); //tr.insertB…

vue2.0 自定义日期时间过滤器

vue2.0 自定义日期时间过滤器

自定义,过滤器,日期时间,电脑软件,方法一:// template{{a | data}}//scriptdata:{ a: Date.now()}filters: { data:function (input) { var d = new Date(input); var year = d.getFullYear(); var month = d.getMonth() + 1; …

Bootstrap学习笔记之进度条、媒体

Bootstrap学习笔记之进度条、媒体

进度条,对象,媒体,详解,学习笔记,1.基础进度条要写在<div class="progress"></div>里面。<div class="col-md-6"> <div class="progress"> <div class="progress-bar" style="width:30%;"></div> </div></div>2.多彩进度条<div c…

微信小程序实现选项卡功能

微信小程序实现选项卡功能

选项卡,功能,程序,电脑软件,微信小,本文实例为大家分享了微信小程序选项卡功能展示的具体代码,供大家参考,具体内容如下首先看看微信小程序上的选项卡的效果:原理呢,就是先布局好(这就不必说了吧),然后在上面的每一个选项卡上都定义一个同样的点击…

Vue中使用vux的配置详解

Vue中使用vux的配置详解

配置详解,电脑软件,Vue,vux,Vue中使用vux的配置,分为两种情况:一、根据vux文档直接安装,无需手动配置npm install vue-cli -g // 如果还没安装vue init airyland/vux2 my-project // 创建名为 my-project 的模板cd my-project // 进入项目n…

Server.MapPath |  错误 ’ASP 017

Server.MapPath | 错误 ’ASP 017

字符,错误,不允许,电脑软件,MapPath,未启用父路径 症状举例: Server.MapPath() 错误 &rsquo;ASP 0175 : 80004005&rsquo; 不允许的 Path 字符 /0709/dqyllhsub/news/OpenDatabase.asp,行 4 在 MapPath 的 Path 参数中不允…

win2003 IIS 500内部服务器错误(典

win2003 IIS 500内部服务器错误(典

数据库,服务器,错误,解决方案,典型,IIS正确设置步骤: 一、启用Asp支持 Windows Server 2003 默认安装,是不安装 IIS 6 的,需要另外安装。安装完 IIS 6,还需要单独开启对于 ASP 的支持。 第一步,启用Asp,进入:控制面板 -> 管理工具 ->IIS(Internet…

INdesign CS6怎么在A4的页面添加A3

INdesign CS6怎么在A4的页面添加A3

页面,尺寸,电脑软件,INdesign,INdesign CS6中想要在原有的文档里面添加一个别的尺寸的页面,该怎么设置页面尺寸呢?下面我们就来看看详细的教程。软件名称:Adobe InDesign CS6 中文免费版软件大小:878.42MB更新时间:2014-05-261、打开一个ID文档,…

Spring获取ApplicationContext对象

Spring获取ApplicationContext对象

工具类,方法,对象,电脑软件,Spring, Spring获取ApplicationContext对象工具类的实现方法(1)实现的工具类:package com.util; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPath…

安装iis程序无法复制文件CONVLOG.E

安装iis程序无法复制文件CONVLOG.E

复制文件,安装,解决办法,程序,电脑软件,要装IIS测试一个分类信息的网站,可是系统盘不在,只能从网上下载,结果在安装的时候出现一个错误提示&ldquo;安装程序无法复制文件staxmem.dl_&rdquo;,上网找了下资料,说是在开始-运行中输入&rdquo;esentutl …

windows系统用cmd命令安装及卸载服

windows系统用cmd命令安装及卸载服

安装,系统,卸载,命令,服务,方法一1、开始 ->运行 ->cmd。2、cd到C:WINDOWSMicrosoft.NETFrameworkv2.0.50727(Framework版本号按IIS配置)。3、 安装服务: 运行命令行 InstallUtil.exe E:/test.exe;卸载服务: 运行命令行 InstallUtil.exe -u E:…

IIS出现错误后如何完全重装

IIS出现错误后如何完全重装

重装,出现错误,电脑软件,IIS,有的时候IIS出现严重错误,比如metabase坏掉,又没有备份....一般的做法,直接在控制面板添加删除程序中卸载IIS重装。这样并不是保险的做法,很多人在重装IIS后问题依旧。所以建议在任何情况下都用以下步骤重新安装IIS…