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:一个路由2次 request相关推荐

  1. Node.js:路由

    ylbtech-Node.js:路由 1.返回顶部 1. Node.js 路由 我们要为路由提供请求的 URL 和其他需要的 GET 及 POST 参数,随后路由需要根据这些数据来执行相应的代码. 因 ...

  2. linux 页面内容输出,Node.js 一个简单的页面输出

    最近决定重拾node.js,用它来做一个合并JS文件的东西.由于忘得差不多了,先看能不能输出一个页面来再说.以下是我的一些笔记,省得以后又忘净光-- 安装过程就不说了.如果成功是能使用node的命令. ...

  3. node.js 程序_如何不使用外部程序包创建Node.js Web应用程序

    node.js 程序 by Abhinav Pandey 通过Abhinav Pandey 如何不使用外部程序包创建Node.js Web应用程序 (How to create a Node.js w ...

  4. Node.js 使用axios读写influxDB

    Node.js读写数据到influxDB,目前已经有一个库node-influx, 这个库功能非常强大,但是我个人使用这个库的时候,遇到无法解决的问题. 使用curl都可以写数据到influxDB,但 ...

  5. 基于Node.js + WebSocket 的简易聊天室

    代码地址如下: http://www.demodashi.com/demo/13282.html Node.js聊天室运行说明 Node.js的本质就是运行在服务端的JavaScript.Node.j ...

  6. 【Node.js学习笔记一】什么是Node.js?[概念总结]

    什么是Node.js? 一个 "编码就绪" 服务器 Node.js是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩 ...

  7. 【Node.js】初识Node.js

    系列文章目录 文章目录 系列文章目录 一.什么是 Node.js 二.下载和安装 Node.js 1.普通方式 2.使用 nvm 安装 三.Node.js 和 JavaScript 的区别 1.ECM ...

  8. Node.js创造者Ryan Dahl专访

    这哥们一看就是一个技术宅,他说他创建的Node.js没有GO语音在服务端好用. https://www.sohu.com/a/190139896_464084 Node.js创造者Ryan Dahl专 ...

  9. 使用Node.js写一个简单的api接口

    引入Http模块 默认你已经安装了Node.js Node当中内置了Http模块: 可以使用 var http= require("http"); 复制代码 引入http模块: H ...

最新文章

  1. 人工智能伦理如何设定,从种群层面看人类的知识积累和进化
  2. 一份不错的vue.js基础笔记!!!!
  3. Kali Linux又增加一个顶级域名kali.download
  4. 洪嘉振 计算多体系统动力学pdf_多体动力学演化python入门——quantum many-body scars 和稀疏矩阵后续...
  5. 数据结构和算法 —— 图
  6. 世界是一台超级计算机,这个世界其实是一个超级计算机
  7. CentOS配置Lamp
  8. nginx lua以html显示,nginx 支持lua及lua脚本格式化日志
  9. sql azure 语法_方便SQL笔记本,用于在Azure Data Studio中进行故障排除
  10. Bailian2806 公共子序列【最长公共子序列+DP】
  11. k8s 1.16安装metrics server
  12. Git-查看远程分支、本地分支、创建分支
  13. 【UML建模】(8) UML建模之组件图
  14. 17届智能车竞赛技术报告 | 常熟理工学院-昆承湖二队
  15. 锚点是什么?锚点的使用
  16. HDCP Key工作原理
  17. Aura Component父子组件通信
  18. 机器学习12-支持向量机的数学上定义
  19. ES6特性:箭头函数转换,闭包
  20. Lua入门(1) 编译环境、变量类型与三种结构的实现

热门文章

  1. C++语言基础 —— STL —— 容器与迭代器 —— list 与 deque
  2. 暑期训练日志----2018.8.11
  3. 信息学奥赛一本通C++语言——1090:含k个3的数
  4. 17 SD配置-企业结构-分配-分配允许的信用控制范围给公司码
  5. centos7查看进程ps_还在一台台登录网络设备查看日志吗?你太low了
  6. 论 js中:(class、id)出乎意料的优先级?- 案例篇
  7. java共享租车信息管理系统jsp源码
  8. python opencv 膨胀_OpenCV-Python:形态学操作
  9. 彩虹云商城免授权版本6.7.5完整源码
  10. 流量卡物联网卡管理平台源码|PHP管理系统源码