无需FQ,自建本地CDN,秒上StackOverFlow!
StackOverflow是一个面向程序员的技术问答平台。可是在不翻墙的情况下,浏览StackOverflow是一件让人极不舒服的事情,常常需要等待数十秒页面才慢慢显示出来。本文我教大家一种能够流畅地使用StackOverflow的小技巧。
在不使用任何vpn的情况下,我们打开StackOverflow,以下是我用Chrome开发者工具看到的这个过程:
很明显jquery.min.js请求超时,居然花了21.02s!点开之后我们便找到了请求超时的原因了:
ajax.googleapis.com是谷歌提供的CDN服务,由于google被墙,因此我们是无法请求到这个js库的。虽然国内也有许多CDN服务,例如360、百度、七牛云等都提供了JavaScript库的CDN加速服务,但是StackOverFlow并没有考虑到我们国内开发者的特殊情况,给我们选用国内的公共JS库。因此我们打开StackOverFlow的时候大部分时间都是在等待ajax.googleapis.com的响应。
在墙内请求ajax.googleapis.com是不可能的了,我们也不可能修改StackOverFlow的源码调用国内服务商提供的服务。但是我可以控制ajax.googleapis.com域名在我本地被解析到哪个IP上!这里我们就使用hosts文件给ajax.googleapis.com重定向到本地,到时候浏览器请求ajax.googleapis.com的时候就不需要先去DNS解析了。在hosts文件末尾加上这么一行即可:
127.0.0.1 ajax.googleapis.com
之后使用“ipconfig /flushdns”这个命令刷新一下本地的DNS缓存。ping一下ajax.googleapis.com,应该能返回127.0.0.1:
现在ajax.googleapis.com已经被解析到本地,但是我们还缺一个web服务器。用自带的IIS是一种方法,但是有点高山炮打蚊子的意思。我选择的是一款比较小的软件HTTP FILE SERIVE,只有700kb,不过已经足够使用了(具体选择什么,你可以百度找去关键字 mini HTTP 太多选择了)。
首先下载jquery.min.js文件到本地,我已经传到我的博客上了,这是链接:http://files.cnblogs.com/files/ittinybird/jquery.min.js。然后再按照前面HTTP请求中的“http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js”,构造出本地的web服务器的文件路径,确保浏览器中访问时能够正确找到文件:
到现在,这个jquery库在本地CDN服务就已经搞定了。
这是我测试时的访问效果,怎么样够快吧!如果你觉得够快,不妨给个赞吧,哈哈。快来试试吧
收到各位网友的热心的分享,现在我更新出来一些其他的方法:
1.使用fiddler重定向,可以将http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js 替换成自己的jquery.min.js所在的url。(chrome浏览器有插件)
2.把上文中的127.0.0.1 直接换成103.7.200.79 ,不需要本地搭设服务器了。
3.chrome插件 gooreplacer(需翻墙)。这是中科大的API。
无需FQ,自建本地CDN,秒上StackOverFlow!的更多相关文章
- JS 重载页面,本地刷新,返回上一页
JS 重载页面,本地刷新,返回上一页 : <a href="javascript:history.go(-1)">返回上一页</a> <a href= ...
- 如何通过Git GUI将自己本地的项目上传至Github
最近在学习node.js和react,顺便复习了下AngluarJS相关的东西,写了些小demo想放在GitHub上,之前仅限于只申请了GitHub账号从没用过,今天花半天时间查资料认真学习Githu ...
- Maven中安装本地Jar包到仓库中或将本地jar包上传
摘要 maven install 本地jar 命令格式 mvn install:install-file -DgroupId=<group_name> -DartifactId=<a ...
- 在本地windows机器上安装SecureCRT客户端
一.SecureCRT客户端介绍. SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件. SecureCRT支持 ...
- JS代码实用代码实例(输入框监听,点击显示点击其他地方消失,文件本地预览上传)
前段时间写前端,遇到一些模块非常有用,总结以备后用 一.input框字数监听 <!DOCTYPE html> <html lang="en"> <he ...
- LocalResizeIMG前端HTML5本地压缩图片上传,兼容移动设备IOS,android
LocalResizeIMG前端HTML5本地压缩图片上传,兼容移动设备IOS,android jincon 发表于 2015-02-26 18:31:01 发表在: php开发 localresiz ...
- 第五十六篇、OC打开本地和网络上的word、ppt、excel、text等文件
iOS打开本地和网络上的word.ppt.excel.text等文件 iOS开发过程中可能需要预览一些文件,这些文件的格式可能有word.ppt.excel等文件格式.那么系统提供两个类去预览这些文件 ...
- mac下安装git,并将本地的项目上传到github
mac下安装git 安装过程: 1.下载Git installer http://git-scm.com/downloads 2.下载之后打开,双击.pkg安装 3.打开终端,使用git --vers ...
- Coding theano under remote ubuntu server from local Mac (在本地mac机器上,写、跑、调试、看-远程ubuntu上的theano代码)
本人是奇葩,最近鼓捣了一套在mac上coding远程ubuntu上的theano代码的东东,记之以期造福后人. Overview: 下图是我的编程环境和网络环境 我期望能在本地mac机器上对远程的ub ...
随机推荐
- linux全方位掌握一个命令--思路比方法更重要
Linux命令众多,当不清楚一个命令的使用方法时,我们该怎样了解命令的属性和帮助? 1.用type命令了解一个命令的属性 [root@zejin240 testdir]# type cd cd ...
- 基于STM32Cube的DAC数模转化
1. STM32Cube配置 1.1 DAC配置 1.2 TIM6 配置 1.3 利用Cube产生工程程序,MDK打开软件 在主循环上添加语句: HAL_TIM_Base_S ...
- clr enabled Server Configuration Option
在SQL Server中启用CLR,可以执行下面SQL语句: EXEC sp_configure 'clr enabled'; '; RECONFIGURE; Source Code
- 纯css3天气动画场景特效
CSS3超强大,以下是纯用CSS3+HTML实现的场景效果图: 查看效果:http://hovertree.com/h/bjaf/cssrotate.htm css3 3d展示中rotate()介绍与 ...
- Java实现时间动态显示方法汇总
这篇文章主要介绍了Java实现时间动态显示方法汇总,很实用的功能,需要的朋友可以参考下 本文所述实例可以实现Java在界面上动态的显示时间.具体实现方法汇总如下: 1.方法一 用TimerTask: ...
- C#基础-文件夹复制与删除
代码来源:http://blog.163.com/u_tommy_520/blog/static/20406104420147493933662/ 最近做MVC网站时刚好用到,用以提供一个完整的文件夹 ...
- AlloyRenderingEngine入门
写在前面 AlloyRenderingEngine是一款非常快速的渲染引擎,目前该项目已经合并至 https://github.com/AlloyTeam/AlloyGameEngine/ , 属于A ...
- Source Map调试压缩后代码
在前端开发过程中,无论是样式还是脚本,运行时的文件可能是压缩后的,那这个时候调试起来就很麻烦. 这个时候,可以使用Source Map文件来优化调试,Source Map是一个信息文件,里面储存着原代 ...
- JavaScript基本语法(五)
BOM 浏览器对象模型 BOM (浏览器对象模型),它提供了与浏览器窗口进行交互的对象. 一.window对象 Window对象表示整个浏览器窗口. 所有浏览器都支持 window 对象.它表示浏览器 ...
- iOS模态弹出半透明视图控制器
项目中需要实现点击按钮出现的视图全屏覆盖,呈半透明状态可以看到下面的视图? 解决方案: 绕了很多弯路原来可以使用模态弹出一个视图控制器 在iOS8之后只需要设置一个最新的属性 SecondViewCo ...