`
天梯梦
  • 浏览: 13733596 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

Node.js:一个路由2次 request

 
阅读更多

1313

 

node.js 和其他服务器端编程语言有很大区别,语言上的特性优点已经在前面分享过,这里就不说了.

与其他语言相比,还有一个区别,node.js 自身实现了一个服务器,而其他服务器端语言大部分要依赖Apach ,nginx ,IIS 等.

 

node.js 可以用几句代码轻松实现:

var http = require('http');        


var webServer = function (req, res){ 
		res.writeHead(200, {'Content-Type': 'text/html;charset=utf-8'}); 
		res.write('<html><body>'); 
		res.write('<h2>Hello World!</h2>'); 
		res.end('</body></html>'); 
};

var createWebServer=http.createServer(webServer);

createWebServer.listen(8000);
console.log('listen 8000');

 

上面我们就实现了,不论什么路由,服务器端都会返回 Hello World!

但是:如果你看控制台log 会发现每个url的请求,都有2次 request .

不信可以把 console.log(req);

 

放到 webServer 函数中间,你一定会发现每个请求都输出2次 request 信息.

原因是因为node.js 每个请求默认还有一个 对 favicon.ico 资源的请求.Express 貌似对此请求做了特殊处理.

我们可以这样避免 favicon.ico 资源的请求

var http = require('http');        

var webServer = function (req, res){ 
	if(req.url!='/favicon.ico'){
		res.writeHead(200, {'Content-Type': 'text/html;charset=utf-8'}); 
		res.write('<html><body>'); 
		res.write('<h2>Hello World!</h2>'); 
		res.end('</body></html>'); 
	}
};

var createWebServer=http.createServer(webServer);

createWebServer.listen(8000);
console.log('listen 8000');

 

 

原文:http://yijiebuyi.com/blog/ee3c1f200f2824e581900509d9c9d246.html

本文转自:Node.js:一个路由2次 request

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Node.js-server.jsforNode.js一个简单而强大的Node.js服务器

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许开发者使用JavaScript进行服务器端编程。在给定的"server.js"文件中,我们可以推测它是一个简单的Node.js服务器示例,用于演示如何在Node.js环境中处理...

    Node.js-peerflix-node.js的流torrent客户端

    Node.js使用了一个事件驱动、非阻塞I/O模型,使其轻量又高效,特别适合构建网络应用。 **Peerflix:概述** Peerflix是一款基于Node.js的开源项目,它是一个流媒体torrent客户端。它允许用户直接从torrent文件流式...

    Node.js 从零开发 web server博客项目 前端晋升全栈工程师必备项目笔记及源码

    Node.js是一个开放源代码、跨平台的JavaScript运行环境,它允许开发者在服务器端运行JavaScript代码。基于Google的V8引擎,Node.js提供了丰富的内置模块和API,用于快速构建网络应用。 二、搭建Web服务器 1. 安装...

    js客户端通过node.js实现的Server操作MySQl

    在JavaScript的世界里,Node.js作为一个强大的后端开发平台,使得前端开发者可以无缝地在服务器端进行编程。本项目“js客户端通过node.js实现的Server操作MySQL”旨在展示如何不依赖像Express这样的框架,直接使用...

    Node.js应用开发 客观练习题1.doc

    Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这份练习题主要涵盖了Node.js的基础知识,包括HTTP协议、文件系统操作、数据类型比较、JavaScript核心语法、...

    Node.js-一个基于爬虫的资源下载网站目前有网站模板下载

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它让开发者能够在服务器端使用JavaScript进行编程。Node.js利用非阻塞I/O和事件驱动模型,使其在处理高并发请求时表现出极高的效率,非常适合构建实时、协作式...

    weather-node.js:入门级node.js

    首先,Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它使得开发者能够在服务器端使用JavaScript编写高性能的网络应用。Node.js采用事件驱动、非阻塞I/O模型,使其轻量又高效,特别适合数据密集型实时应用。...

    Node.js-实现node.js来编写API实践全栈式撸代码

    "Node.js-实现node.js来编写API实践全栈式撸代码"的主题,旨在教授如何使用Node.js来构建API,实现数据交互,从而打造一个完整的Web应用程序。 Hapi是一个强大的Node.js服务器端框架,特别适合构建API服务。在...

    Node.js-基于Node.js和高德地图的设备管理系统

    Node.js是一个开源的、跨平台的JavaScript运行环境,它允许开发者在服务器端使用JavaScript,使得后端开发变得更加便捷。 描述 "基于Node.js和高德地图的设备管理系统" 提到了系统的两大关键组成部分:Node.js和...

    Node.js-NodeJS全栈学生管理系统

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它以其高效的异步I/O和事件驱动模型而受到广大开发者喜爱。在这个“Node.js全栈学生管理系统”项目中,我们将深入探讨如何利用Node.js构建一个完整的后端...

    Node.js-Footing-使用Express和Node.js开发RESTAPI的基础

    Node.js,一个基于Chrome V8引擎的JavaScript运行环境,以其异步非阻塞I/O和高性能特性,成为开发REST API的理想选择。Express,作为Node.js中最受欢迎的Web应用程序框架,简化了处理HTTP请求和响应的过程,使得构建...

    Node.js-Tiny-Express框架从需求到实现

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它让开发者可以在服务器端使用JavaScript编写代码。其非阻塞I/O模型和事件驱动特性使其在处理高并发场景下表现出色。 **二、Express框架** Express是Node.js...

    【JavaScript源代码】详解node.js创建一个web服务器(Server)的详细步骤.docx

    Node.js 是一个流行的开源JavaScript运行时环境,它允许开发者使用JavaScript编写服务器端应用程序。Node.js 的一大优势在于其异步非阻塞I/O模型,这使得它可以高效地处理大量并发连接。其中一个基本的应用场景就是...

    node-v16.17.1-win-x64.zip

    Node.js 是一个强大的开源开发平台,它允许开发者使用 JavaScript 编程语言进行服务器端编程,打破了 JavaScript 仅能在浏览器环境中运行的传统。标题中的 "node-v16.17.1-win-x64.zip" 指的是 Node.js 的特定版本,...

    Node.js参考手册

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它让开发者能够在服务器端使用JavaScript编写可伸缩的网络应用。Node.js利用非阻塞I/O和事件驱动模型,使其在处理高并发请求时表现优秀,特别适合构建实时、...

    Node.js-一个灵活框架无关的静态站点生成

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它使得开发者可以在服务器端使用JavaScript进行编程。静态站点生成(Static Site Generation, SSG)是一种在发布时将动态内容转换为静态HTML文件的技术,可以...

    Node.js-Groa是Node.js的表达式gRPC中间件框架

    **Node.js-groa:Node.js的gRPC中间件框架** 在Node.js的世界里,gRPC是一种高性能、开源和通用的RPC(远程过程...对于需要在Node.js环境中构建高性能、可扩展的微服务架构的开发者来说,groa是一个值得考虑的选择。

    node.js webservice

    Node.js是一个基于Chrome V8引擎的JavaScript运行环境,以其异步、非阻塞I/O和事件驱动的特性在构建高性能网络应用时表现出色,特别是在实时通信和数据流应用中。而Web服务则是一种通过HTTP协议提供和消费数据的标准...

    node.js - webservice

    在IT行业中,Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它以其高效、轻量级和非阻塞I/O模型而备受青睐。当我们谈论"node.js - webservice"时,意味着我们要用Node.js来创建或访问Web服务。Web服务通常指...

    Node.js-koa2和node.js搭建的一条RESTfulapiserver端脚手架

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让开发者能够在服务器端使用 JavaScript 进行编程,极大地推动了全栈开发的流行。Koa2 是一个由 Express 团队开发的下一代 Node.js Web 应用框架,它的...

Global site tag (gtag.js) - Google Analytics