const http = require('http'); const fs = require('fs'); const server = http.createServer(); server.on('request',function(req,res){   res.writeHead(200, {'Content-Type': 'text/html;charset=utf-8'}); fs.readFile('./index.html','utf-8',function(err,da…
let http = require('http'); let urlStr = require('url'); let fs = require('fs'); let path = require('path'); http.createServer((req, res) => { const url = req.url; let pname = urlStr.parse(url, true).pathname; function name() { if (pname !== '/') { r…
前言 这篇文章算是对Building APIs with Node.js这本书的一个总结.用Node.js写接口对我来说是很有用的,比如在项目初始阶段,可以快速的模拟网络请求.正因为它用js写的,跟iOS直接的联系也比其他语言写的后台更加接近. 这本书写的极好,作者编码的思路极其清晰,整本书虽说是用英文写的,但很容易读懂.同时,它完整的构建了RESTful API的一整套逻辑. 我更加喜欢写一些函数响应式的程序,把函数当做数据或参数进行传递对我有着莫大的吸引力. 从程序的搭建,到设计错误捕获机制…
一. HTTP请求和响应步骤   图片来自:理解Http请求与响应 以上完整表示了HTTP请求和响应的7个步骤,下面从TCP/IP协议模型的角度来理解HTTP请求和响应如何传递的. 二.TCP/IP协议 TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议,通过20多年的发展已日渐成熟,并被广泛应用于局域网和广域网中,目前已成为事实上的国际标准.TCP/IP协议簇…
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <style> 7 *{box-sizing: border-box;} 8 body{ 9 font-family: Arial; 10 padding: 10px; 11 backgroun…
目录: 一.介绍 二.node安装 三.webstorm配置node环境 四.代码介绍 五.如何使用 六.自定义域名 七.其他 一.介绍 1.背景     日常工作中,跟后端商定好接口格式后:通常采用的开发方式,就是自己新建一个json文件,手动的模拟一批数据,进行ajax调用. 但是如果遇到后端提供的接口不是同一个域名下的话,就需要将普通的ajax调用改为jsonp形式. 2.功能介绍      于是想到,可以用node.js搭建一个简单的http服务,供日常开发使用.分别提供jsonp/js…
Python分布式爬虫打造搜索引擎 基于Scrapy.Redis.elasticsearch和django打造一个完整的搜索引擎网站 https://github.com/mtianyan/ArticleSpider 未来是什么时代?是数据时代!数据分析服务.互联网金融,数据建模.自然语言处理.医疗病例分析……越来越多的工作会基于数据来做,而爬虫正是快速获取数据最重要的方式,相比其它语言,Python爬虫更简单.高效 一.基础知识学习: 1. 爬取策略的深度优先和广度优先 目录: 网站的树结构…
第一个Django项目将是一个完整的博客网站.它和我们博客园使用的博客别无二致,一样有分类.标签.归档.查询等功能.如果你对Django感兴趣的话,这是一个绝好的机会.该教程将和你一起,从零开始,搭建一个属于你自己的Django博客站点. 事不宜迟,让我赶快开始吧! 创建你的第一个Django项目 Django提供了一个命令,可以让你轻松地创建初始Django项目文件结构.从你的终端运行以下命令: django-admin startproject mysite 这将会创建一个名为mysite的…
本课主要教大家如何书写一个完整的ajax模块,讲解的代码主要跟ajax有关,而jQuery的ajax模块添加了Deferred异步编程的机制,因此对ajax的理解难度增大,还是忽略掉.但是我要讲解的代码跟jQuery的ajax模块思路是一样的,只是没有加入Deferred异步编程的思想,这样更有利于大家理解ajax的原理. $.ajax = function(opts){    //大家如果用过jQuery的ajax,应该记得$.ajax({url:...,data:....,type:'POS…
StatusCodePagesMiddleware中间件与ExceptionHandlerMiddleware中间件比较类似,它们都是在后续请求处理过程中“出错”的情况下利用一个错误处理器来完成最终的请求处理与响应的任务.它们之间的差异在于对“错误”的界定上,对于ExceptionHandlerMiddleware中间件来说,它所谓的错误就是抛出异常,但是对于StatusCodePagesMiddleware中间件来说,则将介于400~599之间的响应状态码视为错误.如下面的代码片段所示,Sta…