小记NodeJS两项小技巧(与HTTP相关)
1,兼容HTTP1.1和HTTP1.0
区别在content-length,1.0接受定长,不接受变长,导致transfer-encodeing的chunked模式无法识别,最终导致无法识别BODY。需要在HTTP1.1的header中指定content-length。
2,作为HTTP客户端如何设定超时
除了异步之外,http request也是个头大的问题,给自己加个超时可以是程序更健康,推荐如下做法。在req.end()之后,加上settimeout,如下。
  setTimeout(function(){
        req.abort();
        //console.log(JSON.parse(body));
        if(!body)
        {
        console.log("服务器没有响应,在延迟3秒后退出")
        o_req.flash('success', '查询超时!');
        o_res.render(obj, {
            title: '查询',
            query_z: '后台正在拼命加速',
            query_rt:'喝口水,请稍等片刻',
            success: o_req.flash('success').toString(),
            error: o_req.flash('error').toString()});
        }
    },2000);
小记NodeJS两项小技巧(与HTTP相关)的更多相关文章
- Linux命令学习之两个小技巧(1)
		本篇主要想讲两个小技巧.本来技巧之类的话应该放在学完整个东西之后或者在学习中遇到时再说的,但是这两个技巧其实很简单,很多人只要我一提就知道了.与其说是技巧,不如说是注意事项. 自动补全 在Linux终 ... 
- Objective-C中3种枚举比较及KVC两个小技巧
		Objective-C中3种枚举比较及KVO两个小技巧 一:oc的3种枚举 for循环 for in 枚举块 如代码 NSUInteger totalCount = 10000; NSMutableA ... 
- 这两个小技巧,让我的SQL语句不仅躲了坑,还提升了1000 倍
		原文: https://cloud.tencent.com/developer/article/1465618 本次来讲解与 SQL 查询有关的两个小知识点,掌握这些知识点,能够让你避免踩坑以及提高查 ... 
- C# GDI+ 处理文本的两个小技巧
		private void button7_Click(object sender, EventArgs e) { Graphics g = this.CreateGraphics(); g.FillR ... 
- js两个小技巧【看到了就记录一下】
		1.不声明第三个变量实现交换 ,b=; a=[b,b=a][];//执行完这句代码之后 a的值为2 b的值为1了 2.&&和||的用法 (学会了立马感觉高大尚了吧) ; //传统if语 ... 
- Redis的两个小技巧
		1.通配删除相同前缀的缓存 DEL命令的参数不支持通配符,但我们可以结合Linux的管道和xargs命令自己实现删除所有符合规则的键. 比如要删除所有以“structure_”开头的键,就可以执行下面 ... 
- .Net开发的两个小技巧
		一.@符号的妙用 1.可以作为保留关键字的标识符 C#规范当中,不允许使用保留关键字(class.bool等)当作普通的标识符来命名,这时候@符号作用就体现 出来了,可以通过@符号前缀把这些保留关键字 ... 
- Sql Server的两个小技巧
		创建表结构 CREATE TABLE test( ,) NOT NULL PRIMARY KEY, ) COLLATE Chinese_PRC_CI_AS NULL, createdTime DATE ... 
- Date小技巧:set相关操作及应用_获取当前月(季度/年)的最后一天
		set操作还是有不少的,具体见 http://www.w3school.com.cn/jsref/jsref_obj_date.asp, 今天我就只说 setFullYear, setMonth, s ... 
随机推荐
- 在最完整的搜索提示降史上的用户交互的研究——阅读《An Eye-tracking Study of User Interactions with Query Auto Completion》
			搜索下拉提示(Query Auto Completion,简称QAC)如今差点儿是每一个搜索引擎必备的基本功能,作用是在用户在搜索框输入查询词的过程中,给用户展示一系列搜索查询quer ... 
- mysql数据文件迁移到新的硬盘分区的方法
			该系统增加了一个硬盘.要创建新的分区/data文件夹,mysql对于数据文件夹/var/lib/mysql 1. 停止mysql维修 [root@localhost~]# service mysql ... 
- Java版网络爬虫基础(转)
			网络爬虫不仅仅可以爬取网站的网页,图片,甚至可以实现抢票功能,网上抢购,机票查询等.这几天看了点基础,记录下来. 网页的关系可以看做是一张很大的图,图的遍历可以分为深度优先和广度优先.网络爬虫采取的广 ... 
- Bean Validation 技术规范特性概述
			概述 Bean Validation 规范 Bean 是 Java Bean 的缩写.在 Java 分层架构的实际应用中,从表示层到持久化层.每一层都须要对 Java Bean 进行业务符合性验证,如 ... 
- (spring-第14回【IoC基础篇】)国际化信息 (转)
			国际化又称为本地化. 当你把手机的language由中文切换到英文时,你的微信也相应改用英语,这就是i18n国际化.一般来说,应用软件提供一套不同语言的资源文件,放到特定目录中,应用根据不同语言的操作 ... 
- hadoop-mapreduce在maptask执行分析
			MapTask执行通过执行.run方法: 1.生成TaskAttemptContextImpl实例,此实例中的Configuration就是job本身. 2.得到用户定义的Mapper实现类,也就是m ... 
- Android SystemUI源代码分析和修改
			1.在导航栏中添加音量加减button 一些Android音量调节button.或者从保护实体按键的角度考虑,就须要在导航栏的虚拟按键中加入音量加减调节按键. 效果例如以下图所看到的: 实现步骤例如以 ... 
- C++ STL它vector详细解释
			Vectors vector它是C++标准模板库部分,它是一种多用途,你可以使用各种数据结构和算法的模板类和库. vector其原因被认为是一个容器.因为它可以被存储为各种类型的对象作为容器.一 ... 
- Ansible@一个有效的配置管理工具--Ansible configure management--翻译(四)
			不要未经书面许可转载 第三章是长,因为,我会分几个部分来翻译. Advanced Playbooks So far the playbooks that we have looked at are s ... 
- Javascript学习8 - 脚本化文档(Document对象)
			原文:Javascript学习8 - 脚本化文档(Document对象) 每个Web浏览器窗口(或帧)显示一个HTML文档,表示这个窗口的Window对象有一个document属性,它引用了一个Doc ... 
