CN105100148B - 一种浏览器获取文件的方法和代理服务器 - Google Patents
一种浏览器获取文件的方法和代理服务器 Download PDFInfo
- Publication number
- CN105100148B CN105100148B CN201410195191.1A CN201410195191A CN105100148B CN 105100148 B CN105100148 B CN 105100148B CN 201410195191 A CN201410195191 A CN 201410195191A CN 105100148 B CN105100148 B CN 105100148B
- Authority
- CN
- China
- Prior art keywords
- file
- url
- merging
- listed files
- browser
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提出浏览器获取文件的方法和代理服务器,其中方法包括:接收来自浏览器的文件请求,判断该文件请求中的URL是否满足预先设定的匹配规则;如果是,则根据匹配规则获取所述URL所对应的文件路径,从虚拟文件系统中获取所述文件路径所对应的合并文件列表及构建脚本,采用所述构建脚本将所述合并文件列表中的合并文件构建成所述URL所对应的文件,将所述URL所对应的文件返回至浏览器。本发明能够提高前端开发效率。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种浏览器获取文件的方法 和代理服务器。
背景技术
随着前端开发过程中,一般通过Fiddler等软件作为代理服务器来开启本机 服务代理。如图1为现有技术中代理服务系统的结构示意图,包括浏览器、代 理服务器和Web服务器,其中代理服务器可以设置于浏览器所在的主机上。当 浏览器发出对Web服务器上某个文件请求时,该文件请求首先被发送至代理服 务器;代理服务器比对该文件请求中的URL与用户预先设置的匹配规则,如果 满足该匹配规则,则根据匹配规则获取URL所对应的文件路径,根据该文件路 径从本地文件系统中获取该URL所对应的文件,并将获取的文件返回至浏览器; 如果不满足该匹配规则,则代理服务器直接将该文件请求转发至Web服务器。 通过对URL的解析和匹配,使得代理服务器实现了对网络浏览器指定HTTP请 求的本地替换。
随着Web技术的发展,对前端开发效率提出了更高的要求。在目前的前端 开发技术中,代理服务器针对一个文件请求只能替换一个文件,而一个文件可 能需要由多个JS文件合并而成,这就使得代理服务器在替换前需要通过构建脚 本将多个JS文件合并成一个文件;当一个JS文件被修改后,所有包含该JS文 件的替换文件也相应需要被修改,因此都需要重新执行一次构建脚本,这就造 成了前端开发的效率低下。
发明内容
本发明提供了一种浏览器获取文件的方法,能够提高前端开发效率。
本发明还提供了一种实现浏览器获取文件的代理服务器,能够提高前端 开发效率。
本发明的技术方案是这样实现的:
一种浏览器获取文件的方法,包括:
接收来自浏览器的文件请求,判断该文件请求中的URL是否满足预先设定 的匹配规则;
如果是,则根据匹配规则获取所述URL所对应的文件路径,从虚拟文件系 统中获取所述文件路径所对应的合并文件列表及构建脚本,采用所述构建脚本 将所述合并文件列表中的合并文件构建成所述URL所对应的文件,将所述URL 所对应的文件返回至浏览器。
上述方法中,采用构建脚本将合并文件列表中的合并文件构建成URL所对 应的文件的方式可以为:从本地文件系统中获取所述合并文件列表中的合并文 件,将所述合并文件组合成URL所对应的文件。
上述方法中,根据匹配规则获取所述URL所对应的文件路径之后,并在所 述从虚拟文件系统中获取文件路径所对应的合并文件列表及构建脚本之前,可 以进一步包括:判断虚拟文件系统中是否存在所述文件路径,如果存在,则继 续执行所述从虚拟文件系统中获取文件路径所对应的合并文件列表及构建脚本 的步骤;如果不存在,则从本地文件系统中获取所述URL所对应的文件,将所 述URL所对应的文件返回至浏览器。
上述方法还可以包括:如果所述文件请求中的URL不满足预先设定的匹配 规则,则将所述文件请求转发至Web服务器。
一种实现浏览器获取文件的代理服务器,包括:
虚拟文件系统,保存文件路径与合并文件列表的对应关系,还保存构建脚 本;
处理模块,用于接收来自浏览器的文件请求,判断该文件请求中的URL是 否满足预先设定的匹配规则;如果满足,则根据匹配规则获取所述URL所对应 的文件路径,从虚拟文件系统中获取所述文件路径所对应的合并文件列表及构 建脚本,采用所述构建脚本将所述合并文件列表中的合并文件构建成所述URL 所对应的文件,将所述URL所对应的文件返回至浏览器。
上述服务器中,处理模块采用构建脚本将合并文件列表中的合并文件构建 成URL所对应的文件的方式可以为:从本地文件系统中获取所述合并文件列表 中的合并文件,将所述合并文件组合成URL所对应的文件。
处理模块还可以用于,判断虚拟文件系统中是否存在所述文件路径,如果 存在,则从所述虚拟文件系统中获取文件路径所对应的合并文件列表及构建脚 本;如果不存在,则从本地文件系统中获取所述URL所对应的文件,将所述 URL所对应的文件返回至浏览器。
处理模块还可以用于,如果判断出所述文件请求中的URL不满足预先 设定的匹配规则,则将所述文件请求转发至Web服务器。
可见,本发明提出浏览器获取文件的方法和代理服务器,在代理服务器 设置虚拟文件系统,该虚拟文件系统保存文件路径所对应的合并文件列表及 构建脚本;当代理服务器对来自浏览器的文件请求中的URL匹配成功时,优 先从虚拟文件系统中查找该URL对应的文件路径所对应的合并文件列表,并 采用构建脚本将合并文件构建成URL对应的文件,将该文件返回至浏览器。 由于虚拟文件系统中不保存替换文件,因此每次本地文件系统中的合并文件 被修改后,并不需要将涉及到的替换文件重新构建一次,而只需在收到浏览器的URL请求后执行一次构建脚本,从而可以减少替换文件的构建次数,提 高了前端开发效率。
附图说明
图1为现有技术中代理服务系统的结构示意图;
图2为本发明提出的浏览器获取文件的方法流程图;
图3为本发明实施例一的结构示意图;
图4为本发明实施例二的实现流程图。
具体实施方式
本发明提出一种实现浏览器获取文件的代理服务器,在代理服务器中设置 虚拟文件系统,该虚拟文件系统具有与本地文件系统相同的结构,但拥有比本 地文件系统更高的优先级,代理服务器在接收到来自浏览器的文件请求后,优 先查找虚拟文件系统。
虚拟文件系统在实现上可以由一张哈希表和一个构建脚本组成,其中, 哈希表的键值对分别保存文件路径和对应的合并文件列表,该合并文件列表 中用于提供给构建脚本来构建虚拟文件(也就是代理服务器要返回给浏览器 的替换文件)。
当浏览器的文件请求进入代理服务器后,代理服务器首先比对文件请求中 的URL和匹配规则,匹配成功后查找虚拟文件系统中用户指定的文件路径,查 找到后调用构建脚本将该文件路径对应的合并文件构建成替换文件,将替换文 件返回至浏览器;如果没有查找到,则从本地文件系统读取替换文件并返回至 浏览器。
应用上述代理服务器,本发明提出一种浏览器获取文件的方法,如图2为 该方法实现流程图,包括:
步骤201:接收来自浏览器的文件请求,判断该文件请求中的URL是否满 足预先设定的匹配规则;如果是,则执行步骤202;
步骤202:根据匹配规则获取所述URL所对应的文件路径;
步骤203:从虚拟文件系统中获取所述文件路径所对应的合并文件列表及构 建脚本,采用所述构建脚本将所述合并文件列表中的合并文件构建成所述URL 所对应的文件,将所述URL所对应的文件返回至浏览器。
上述步骤203中,采用构建脚本将合并文件列表中的合并文件构建成URL 所对应的文件的方式可以为:从本地文件系统中获取所述合并文件列表中的合 并文件,将所述合并文件组合成URL所对应的文件。
上述步骤202之后,并在步骤203之前,可以进一步包括:判断虚拟文件 系统中是否存在所述文件路径,如果存在,则继续执行步骤203;如果不存在, 则从本地文件系统中获取所述URL所对应的文件,将所述URL所对应的文件 返回至浏览器。
上述步骤201可以进一步包括:如果所述文件请求中的URL不满足预先设 定的匹配规则,则将所述文件请求转发至Web服务器。
以下结合附图,举具体的实施例详细介绍。
实施例一:
本实施例为本发明提出的代理服务器的一个实例,如图3为该代理服务 器的结构及与相关装置的连接关系示意图。
代理服务器包括虚拟文件系统301和处理模块302;
其中,虚拟文件系统301保存文件路径及对应的合并文件列表,还保存 构建脚本;可以采用一张哈希表来保存文件路径及对应的合并文件列表;
处理模块302用于,当接收到来自浏览器的文件请求时,判断该文件请 求中的URL是否满足预先设定的匹配规则;如果满足,则根据匹配规则获取 所述URL所对应的文件路径;之后,优先查找虚拟文件系统301,从虚拟文 件系统301中获取所述文件路径所对应的合并文件列表及构建脚本,采用构 建脚本将合并文件列表中的合并文件构建成URL所对应的文件,将该URL 所对应的文件返回至浏览器。
其中,处理模块302采用构建脚本将合并文件列表中的合并文件构建成URL 所对应的文件的方式可以为:从本地文件系统中获取所述合并文件列表中的合 并文件,将所述合并文件组合成URL所对应的文件。
处理模块302还可以用于,如果从虚拟文件系统301中查找不到该URL 所对应的文件路径,则从本地文件系统中查找URL所对应的文件,并将URL 所对应的文件返回至浏览器。
处理模块302还可以用于,如果判断出文件请求中的URL不满足预先 设定的匹配规则,则将文件请求转发至Web服务器,由Web服务器来处理 该文件请求。
上述代理服务器中,可以通过配置文件来设置虚拟文件系统中的文件路 径及对应的合并文件列表,配置文件中需要指明文件路径(该文件是虚拟文 件)及构建该文件所需的合并文件列表。
实施例二:
本实施例为本发明提出的方法的一个实例。如图4为该方法实现流程图, 包括:
步骤401:代理服务器接收来自浏览器的文件请求。
步骤402:判断该文件请求中的URL是否满足预先设定的匹配规则,如 果是,则执行步骤403;否则,将该文件请求转发至Web服务器,由Web 服务器处理该文件请求,结束当前流程。
步骤403:根据匹配规则获取所述URL所对应的文件路径。
步骤404:判断该URL所对应的文件路径是否存在于虚拟文件系统中, 如果存在,则执行步骤405;否则,执行步骤406。
步骤405:从虚拟文件系统获取该文件路径所对应的合并文件列表及构 建脚本,例如,该文件路径为:虚拟文件X,对应的合并文件列表为:本地 文件a、本地文件b、本地文件c;则从本地文件系统中获取本地文件a、本 地文件b和本地文件c,采用构建脚本将获取的本地文件合并为虚拟文件X, 并将虚拟文件X返回至浏览器,结束当前流程。
步骤406:从本地文件系统中提取URL所对应的文件,如本地文件a, 将获取的文件返回至浏览器。
综上可见,本发明提出的浏览器获取文件的方法和代理服务器,在代理 服务器设置优先级高于本地文件系统的虚拟文件系统,该虚拟文件系统保存 文件路径所对应的合并文件列表及构建脚本;当代理服务器对来自浏览器的 文件请求中的URL匹配成功时,优先从虚拟文件系统中查找该URL对应的 文件路径所对应的合并文件列表,采用构建脚本将合并文件构建成URL对应 的文件,将该文件返回至浏览器;如果查找不到则从本地文件系统中获取 URL对应的文件并返回至浏览器。由于虚拟文件系统中不保存替换文件,因 此每次本地文件系统中的合并文件被修改后,并不需要将涉及到的替换文件 重新构建一次,而只需在收到浏览器的URL请求后执行一次构建脚本,从而 可以减少替换文件的构建次数,提高前端开发效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在 本发明保护的范围之内。
Claims (8)
1.一种浏览器获取文件的方法,其特征在于,该方法应用在代理服务器中,所述方法包括:
接收来自浏览器的文件请求,判断该文件请求中的URL是否满足预先设定的匹配规则;
如果是,则根据匹配规则获取所述URL所对应的文件路径,从设置在所述代理服务器中的虚拟文件系统中获取所述文件路径所对应的合并文件列表及构建脚本,采用所述构建脚本将所述合并文件列表指示的合并文件构建成所述URL所对应的文件,将所述URL所对应的文件返回至浏览器,其中,所述合并文件是从本地文件系统中获取的。
2.根据权利要求1所述的方法,其特征在于,所述采用构建脚本将合并文件列表指示的合并文件构建成URL所对应的文件的方式为:
从本地文件系统中获取所述合并文件列表指示的合并文件,将所述合并文件组合成URL所对应的文件。
3.根据权利要求1或2所述的方法,其特征在于,所述根据匹配规则获取所述URL所对应的文件路径之后,并在所述从虚拟文件系统中获取文件路径所对应的合并文件列表及构建脚本之前,进一步包括:
判断虚拟文件系统中是否存在所述文件路径,如果存在,则继续执行所述从虚拟文件系统中获取文件路径所对应的合并文件列表及构建脚本的步骤;如果不存在,则从本地文件系统中获取所述URL所对应的文件,将所述URL所对应的文件返回至浏览器。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
如果所述文件请求中的URL不满足预先设定的匹配规则,则将所述文件请求转发至Web服务器。
5.一种实现浏览器获取文件的代理服务器,其特征在于,所述代理服务器包括:
虚拟文件系统,保存文件路径与合并文件列表的对应关系,还保存构建脚本;
处理模块,用于接收来自浏览器的文件请求,判断该文件请求中的URL是否满足预先设定的匹配规则;如果满足,则根据匹配规则获取所述URL所对应的文件路径,从虚拟文件系统中获取所述文件路径所对应的合并文件列表及构建脚本,采用所述构建脚本将所述合并文件列表指示的合并文件构建成所述URL所对应的文件,将所述URL所对应的文件返回至浏览器,其中,所述合并文件是从本地文件系统中获取的。
6.根据权利要求5所述的代理服务器,其特征在于,所述处理模块采用构建脚本将合并文件列表指示的合并文件构建成URL所对应的文件的方式为:
从本地文件系统中获取所述合并文件列表指示的合并文件,将所述合并文件组合成URL所对应的文件。
7.根据权利要求5或6所述的代理服务器,其特征在于,所述处理模块还用于,判断虚拟文件系统中是否存在所述文件路径,如果存在,则从所述虚拟文件系统中获取文件路径所对应的合并文件列表及构建脚本;如果不存在,则从本地文件系统中获取所述URL所对应的文件,将所述URL所对应的文件返回至浏览器。
8.根据权利要求5或6所述的代理服务器,其特征在于,所述处理模块还用于,如果判断出所述文件请求中的URL不满足预先设定的匹配规则,则将所述文件请求转发至Web服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410195191.1A CN105100148B (zh) | 2014-05-09 | 2014-05-09 | 一种浏览器获取文件的方法和代理服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410195191.1A CN105100148B (zh) | 2014-05-09 | 2014-05-09 | 一种浏览器获取文件的方法和代理服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105100148A CN105100148A (zh) | 2015-11-25 |
CN105100148B true CN105100148B (zh) | 2019-03-26 |
Family
ID=54579683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410195191.1A Active CN105100148B (zh) | 2014-05-09 | 2014-05-09 | 一种浏览器获取文件的方法和代理服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105100148B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250408A (zh) * | 2016-07-21 | 2016-12-21 | 湖南惠农科技有限公司 | 网址访问方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079895A (zh) * | 2006-12-21 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 一种快速访问Web网页的方法、系统及代理服务设备 |
CN102118442A (zh) * | 2011-02-21 | 2011-07-06 | 清华大学 | 一种访问Web资源的方法及装置 |
CN103092581A (zh) * | 2011-10-28 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 一种Web前端本地开发环境的搭建方法和装置 |
CN103188293A (zh) * | 2011-12-28 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 一种移动终端访问网页的方法及系统 |
CN103297476A (zh) * | 2012-03-02 | 2013-09-11 | 腾讯科技(深圳)有限公司 | 一种网页游戏加载方法及装置 |
CN103455478A (zh) * | 2012-05-21 | 2013-12-18 | 腾讯科技(深圳)有限公司 | 加速网页访问的方法和装置 |
-
2014
- 2014-05-09 CN CN201410195191.1A patent/CN105100148B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079895A (zh) * | 2006-12-21 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 一种快速访问Web网页的方法、系统及代理服务设备 |
CN102118442A (zh) * | 2011-02-21 | 2011-07-06 | 清华大学 | 一种访问Web资源的方法及装置 |
CN103092581A (zh) * | 2011-10-28 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 一种Web前端本地开发环境的搭建方法和装置 |
CN103188293A (zh) * | 2011-12-28 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 一种移动终端访问网页的方法及系统 |
CN103297476A (zh) * | 2012-03-02 | 2013-09-11 | 腾讯科技(深圳)有限公司 | 一种网页游戏加载方法及装置 |
CN103455478A (zh) * | 2012-05-21 | 2013-12-18 | 腾讯科技(深圳)有限公司 | 加速网页访问的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105100148A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107273409B (zh) | 一种网络数据采集、存储及处理方法及系统 | |
Zheng et al. | Wsrec: A collaborative filtering based web service recommender system | |
CN109582644A (zh) | 文件存储方法、装置、设备及计算机可读存储介质 | |
WO2015043428A1 (en) | Method, system, browser and proxy server for loading webpage | |
CN104348859B (zh) | 文件同步方法、装置、服务器、终端及系统 | |
EP2690555A3 (en) | Hardware resource accessing systems and methods for accessing hardware resources in browser-based operating systems and machine-readable storage medium thereof | |
CN104978194A (zh) | 一种网页前端开发方法及装置 | |
CN103841111A (zh) | 一种防止数据重复提交的方法和服务器 | |
US20130159275A1 (en) | Information searching system and method | |
CN110851680B (zh) | 网络爬虫识别方法和装置 | |
CN103347092A (zh) | 一种识别缓存文件的方法及装置 | |
CN105404693B (zh) | 一种基于需求语义的服务聚类方法 | |
CN102082800A (zh) | 一种用户请求处理的方法和服务器 | |
CN110704381A (zh) | 数据解析方法、装置及存储介质 | |
CN104123125A (zh) | 网页资源的获取方法及装置 | |
CN104765844B (zh) | 一种网站页面的生成方法和装置 | |
CN105721519B (zh) | 一种网页数据采集方法、装置及系统 | |
US10574773B2 (en) | Method, device, terminal, server and storage medium of processing network request and response | |
US10033737B2 (en) | System and method for cross-cloud identity matching | |
CN104932910A (zh) | 应用程序接口扩展的方法及系统 | |
US20170212923A1 (en) | Big-Data Processing Method and Apparatus | |
WO2017185631A1 (zh) | 一种数据下载方法及设备 | |
CN105100148B (zh) | 一种浏览器获取文件的方法和代理服务器 | |
CN104008213A (zh) | 一种网页信息更新发现与统计的方法和装置 | |
CN104065613B (zh) | 一种应用的离线操作数据的同步方法、系统及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |