`
jobar
  • 浏览: 347341 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用nodejs构建一个httpserver

 
阅读更多
1 构建
将下面代码放入server.js中
var http = require("http");
http.createServer(function(request, response) {
	console.log('request received');
	response.writeHead(200, {"Content-Type": "text/plain"});
	response.write("Hello World");
	response.end();
}).listen(8888);
console.log('server started');

执行node server.js
打开http://localhost:8888/,页面显示Hello World
2 分析
第一行代码将http模块从nodejs中引入,且赋值给http变量
然后我们调用http模块提供的函数createServer,其返回一个对象,然后调用listen方法;意思是http服务将在8888端口进行监听。
当一个请求到来时,传递给createServer的匿名函数将会执行,其携带的两个参数代表请求和响应。请求到达时,response的writeHead方法在请求头里写入status 200以及content-type头信息,write方法将文本信息“Hello World”发送给响应body;最后end方法结束响应。
3 事件驱动的异步调用
nodejs仅有一个进程,通过事件轮询机制引入了事件驱动和移步回调的概念
服务器启动的时候及时输出server started, 而不是等待有请求的时候再输出server started。
由此可知nodejs是异步的,单线程的事件驱动的执行模型。
4 局限性
nodejs局限性之一是它本身是一个单一的进程且只能运行在一个cup内核上。这同事也带来一个好处,我们coding的时候不用考虑并发问题。
分享到:
评论

相关推荐

    TwoServers:使用NodeJS构建两个服务器

    在本项目"TwoServers:使用NodeJS构建两个服务器"中,我们将探讨如何利用JavaScript的Node.js环境搭建两个独立运行的服务。Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它以其非阻塞I/O和事件驱动的特性在...

    NodeJS入门项目案例(Express+Mysql)

    在这个项目中,我们将使用Express框架,一个简洁且强大的Web应用开发框架,以及Mysql,一个流行的开源关系型数据库管理系统,来构建一个简单的Web应用。 Express是基于Node.js平台的,它提供了许多方便的特性,如...

    mockServer+nodejs+express.zip

    总之,这个"mockServer+nodejs+express.zip"项目提供了一个快速启动模拟服务器的解决方案,帮助开发者在没有实际后端服务的情况下进行前端开发和测试。结合MockServer的强大功能、Node.js的执行环境以及Express的...

    nodejs_https_server

    在IT行业中,Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许开发者使用JavaScript进行服务器端编程。本文将深入探讨如何使用Node.js创建HTTP和HTTPS服务器,特别是针对HTTPS服务器的双向认证设置。 ...

    NodeJS+express如何新建一个自己需要的项目

    在IT行业中,Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行开发。Express则是Node.js的一个轻量级Web应用框架,它简化了构建Web服务的过程,使得开发者能够快速...

    nodejs-push-notification-server:一个使用 nodejs 构建的简单推送通知服务器

    在本文中,我们将深入探讨如何使用Node.js构建一个简单的推送通知服务器,特别是在提及的项目"nodejs-push-notification-server"中。这个项目利用了Node.js的灵活性和Socket.IO的强大功能,以便实现实时、双向的通信...

    NodeJS示例

    NodeJS 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它允许开发者在服务器端使用 JavaScript 进行编程,极大地提升了开发效率。在 Windows 环境下配置和使用 NodeJS,主要涉及以下几个步骤: 一、安装 ...

    NodeJS开发指南_nodejs开发指南_

    在NodeJS中,错误通常通过回调函数的第一个参数传递,或者使用`try/catch`语句捕获。良好的错误处理是避免程序崩溃的关键。 八、调试与测试 NodeJS提供了`--inspect`选项进行调试,同时有许多强大的调试工具,如...

    微信小游戏-斗地主,包含nodejs-服务器-nodejs-server-wechat-landLordGame.zip

    【描述】提到的“包含nodejs-服务器-nodejs-server-wechat-landLordGame”意味着这个游戏的后端服务是用Node.js构建的。Node.js是一个开放源代码、跨平台的JavaScript运行环境,用于在服务器端执行JavaScript代码。...

    nodejs-server-demo:这是我尝试用 NodeJS 创建一个简单的服务器

    本项目“nodejs-server-demo”是一个初学者友好的示例,展示了如何用 NodeJS 创建一个简单的服务器。 首先,我们需要了解 NodeJS 的基础。NodeJS 提供了一个非阻塞、事件驱动的 I/O 模型,使其非常适合用于构建高效...

    nodejs-server-mdn-comments:一个用 NodeJS 构建的小服务器,用于托管 MDN 评论,供 MDN 贡献者使用

    本项目 "nodejs-server-mdn-comments" 是一个使用 NodeJS 构建的微型服务器,其主要目的是为了托管 MDN(Mozilla Developer Network)的评论系统,服务于 MDN 的贡献者们。 MDN 是一个开源社区,为 Web 开发者提供...

    nodeJS文档

    - **运行环境**:NodeJS提供了一个运行环境,不仅支持基本的数据结构和计算功能,还允许JavaScript使用运行环境提供的内置对象和方法。例如,在NodeJS中,你可以利用`fs`模块来读写文件,或者使用`http`模块来创建...

    NodeJS介绍

    NodeJS通过其独特的事件驱动、非阻塞I/O模型,为开发者提供了一个强大的工具来构建高性能的网络应用。无论是构建Web服务器还是开发实时通信应用,NodeJS都是一个值得考虑的选择。通过学习NodeJS的基础知识和实践案例...

    nodejs-demo改进版

    1. **HTTP 服务器创建**: 如何使用 `http.createServer()` 创建一个基础的 HTTP 服务器,并监听 `'request'` 事件来处理客户端请求。 2. **路由处理**: 通过分析请求 URL 和方法,决定执行相应的业务逻辑,这通常...

    nodejs+Express+mssql

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行开发。Node.js具有异步非阻塞I/O模型,这使得它非常适合构建高性能的网络应用,如实时聊天、协作工具和API服务器。 ...

    nodejs做一个增删改查的小项目

    本项目名为"nodejs做一个增删改查的小项目",显然目标是构建一个基础的CRUD(创建、读取、更新、删除)应用程序。CRUD操作是任何数据库驱动的应用程序的核心,对于学习和理解Web应用的运作方式至关重要。 首先,...

    Nodejs创建web服务器.zip

    标题 "Nodejs创建web服务器.zip" 提供了一个关键线索,即这个压缩包包含了一份使用Node.js构建Web服务器的示例。Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它让开发者能够在服务器端使用JavaScript进行...

    NodeJS版本基于GB28181的管理平台,实现浏览器播放GB28181设备视频功能,并有二次开发API接口

    综上所述,这个GB28181(Node)_Http项目是一个综合了NodeJS技术、GB28181标准以及多媒体播放的管理平台,为开发者提供了一个基础框架,以便快速构建适应GB28181标准的监控系统,并通过API接口进行定制化开发。...

    Node.js-Serville是一个NodeJS快速和易于使用的HTTPAPI库

    总的来说,Serville是Node.js开发者构建HTTP API服务的理想选择,它提供了简洁的API和强大的功能,使得开发过程更加高效和愉快。结合Node.js的异步非阻塞特性, Serville能够帮助你构建出高性能、可扩展的Web服务。

Global site tag (gtag.js) - Google Analytics