CN113641923A - 一种访问页面生成方法、装置、电子设备及存储介质 - Google Patents
一种访问页面生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113641923A CN113641923A CN202110986035.7A CN202110986035A CN113641923A CN 113641923 A CN113641923 A CN 113641923A CN 202110986035 A CN202110986035 A CN 202110986035A CN 113641923 A CN113641923 A CN 113641923A
- Authority
- CN
- China
- Prior art keywords
- sandbox
- target
- resource locator
- page
- client
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 244000035744 Hura crepitans Species 0.000 claims abstract description 166
- 230000000694 effects Effects 0.000 abstract description 6
- 230000001419 dependent effect Effects 0.000 description 8
- 238000012790 confirmation Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 241000700605 Viruses Species 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种访问页面生成方法、装置、电子设备及存储介质,其中,该方法包括:获取客户端编辑的资源定位符,并将所述资源定位符发送至目标服务端;接收所述目标服务端反馈的与所述资源定位符相对应的目标文件,并调用与启动沙盒相对应的接口,以启动待运行沙盒;基于所述待运行沙盒执行所述目标文件,得到与所述资源定位符相对应的目标访问页面,并将所述目标访问页面展示在客户端。本发明实施例的技术方案,实现了在目标页面访问量过大时,不需要依赖服务器性能,访问速度快、方便调试以及访问安全的效果。
Description
技术领域
本发明实施例涉及网络技术领域,尤其涉及一种访问页面生成方法、装置、电子设备及存储介质。
背景技术
随着使用浏览器查询资源的用户数量爆炸式增长,用户对浏览器搜索便捷、快速、稳定和安全性的要求越来越高。
目前,通过浏览器访问页面大部分需要通过服务器实现,大部分的浏览器是通过将node.js应用是运行在服务器环境中的,当浏览器页面的访问量过大时,会导致服务器崩溃,因此,服务器的吞吐量决定了浏览器页面的访问量。此外,用户通过浏览器进行访问时,还受到几个方面因素的影响,例如网络宽带速度或等待DNS域名解析等,影响用户的正常访问速度,另一方面,通过浏览器访问服务器还可能对用户的网络信息安全造成影响,例如,可能会在访问过程中被运营商应用DNS劫持或者http劫持等。
在现有技术提供的方案中,当大量用户通过浏览器访问页面时存在依赖服务器性能、访问速度慢以及安全性不高的问题,导致用户在通过浏览器访问页面时,用户的访问量过大会造成服务器的崩溃,降低用户的访问页面的使用体验。
发明内容
本发明提供一种访问页面生成方法、装置、电子设备及存储介质,以实现在用户通过浏览器访问页面时,不需要依赖服务器性能,同时提高访问速度以及访问安全性的效果。
第一方面,本发明实施例提供了一种访问页面生成方法,该方法包括:
获取客户端编辑的资源定位符,并将所述资源定位符发送至目标服务端;
接收所述目标服务端反馈的与所述资源定位符相对应的目标文件,并调用与启动沙盒相对应的接口,以启动待运行沙盒;
基于所述待运行沙盒执行所述目标文件,得到与所述资源定位符相对应的目标访问页面,并将所述目标访问页面展示在客户端。
第二方面,本发明实施例还提供了访问页面生成装置,该装置包括:
资源定位符获取模块,用于获取客户端编辑的资源定位符,并将所述资源定位符发送至目标服务端;
目标文件接收模块,用于接收所述目标服务端反馈的与所述资源定位符相对应的目标文件,并调用与启动沙盒相对应的接口,以启动待运行沙盒;
目标文件执行模块,用于基于所述待运行沙盒执行所述目标文件,得到与所述资源定位符相对应的目标访问页面,并将所述目标访问页面展示在客户端。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例任一所述的访问页面生成方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明实施例任一所述的访问页面生成方法。
本实施例的技术方案,通过获取客户端编辑的资源定位符,并将所述资源定位符发送至目标服务端,用以通过客户端将用户输入的资源定位符发送给目标服务端。接收所述目标服务端反馈的与所述资源定位符相对应的目标文件,并调用与启动沙盒相对应的接口,以启动待运行沙盒,用以基于目标服务端接收到用户发送的资源定位符请求,将资源定位符对应的目标文件反馈给客户端。基于所述待运行沙盒执行所述目标文件,得到与所述资源定位符相对应的目标访问页面,并将所述目标访问页面展示在客户端,用以基于待运行沙盒执行目标文件,基于待运行沙盒启动运行沙盒,在运行沙盒启动后,基于运行沙盒以及资源定位符对应的目标文件的内容对目标访问页面进行重建,最后将重建结果显示在客户端。解决了用户访问目标页面时,每次触发操作都经过服务器的处理,访问量过大时造成服务器压力过大,访问速度慢的问题,并通过将所有运行基于运行沙盒执行,解决了访问页面时存在网络安全隐患的问题,达到了释放服务器压力、提高访问页面的访问速度以及访问页面网络安全的效果。
附图说明
为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
图1为本发明实施例一所提供的一种访问页面生成方法的流程图;
图2为本发明实施例二所提供的一种访问页面生成方法的流程图;
图3为本发明实施例二所提供的一种访问页面生成方法的流程图;
图4为本发明实施例三所提供的一种访问页面生成装置的结构示意图。
图5为本发明实施例四所提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一所提供的一种访问页面生成方法流程示意图,本实施例可适用于大量用户通过浏览器访问页面的情况,该方法可以由访问页面生成装置来执行,该装置可以通过软件和/或硬件的形式实现,硬件可以是电子设备,如,移动终端或PC端等。
如图1所述,本实施例的方法包括:
图1为本发明实施例一提供的访问页面生成方法的流程图,本实施例可适用于大量用户通过浏览器访问页面的情况,该方法可以由访问页面生成装置来执行,具体包括如下步骤:
S110、获取客户端编辑的资源定位符,并将所述资源定位符发送至目标服务端。
其中,资源定位符(Uniform Resource Locator,URL)可以理解为从互联网上得到资源的位置和访问方法的一种简洁的标识,是互联网上标准资源的地址,每个文件都有一个唯一的URL,URL中所包含的信息可以指出文件的位置以及目标页面应该怎么处理该文件,用户可以通过URL访问互联网上的各种资源。目标服务端可以理解为根据响应于客户端请求的服务器,客户端即是与服务端相对应的用户端,是一种可以为客户提供多种服务的应用程序。其中,URL的一般格式可以为:<URL的访问方式>://<主机>:<端口>/<路径>,示例性地,URL的格式为schemem://host:port/path,其中schemem表示URL所请求访问资源的互联网资源类型,host表示URL访问的资源所在的服务器的域名,也可以为使用域名所在主机的IP地址,port为端口号,对于URL资源的访问,需要提供相应的端口号,path表示访问的URL资源在主机中的路径。
具体的,用户可以根据在客户端界面访问页面的需求,通过对客户端界面中设置的资源定位符编辑区域进行编辑,客户端根据用户的编辑内容,获取资源定位符,并将资源定位符发送给目标服务端。
可选的,所述获取客户端编辑的资源定位符,包括:当检测到目标页面中的资源定位符编辑控件中编辑有资源定位符时,获取所述客户端编辑的资源定位符;或,当检测到触发目标控件时,获取所述资源定位符编辑控件中编辑的资源定位符。
其中,目标页面可以理解为用户当前使用的客户端正在显示的页面,也可以为用户即将进行访问或编辑的页面,示例性地,可以为用户使用的浏览器页面;资源定位符编辑控件可以理解为客户端的目标页面中设置的可供用户在该区域进行资源定位符编辑的区域,例如可以为目标页面中的资源定位符编辑框;目标控件可以理解为在用户需要触发目标页面时的确认按键。
具体的,获取客户端编辑的资源定位符的方式可以有多种,在客户端的目标页面中包含资源定位符的可编辑控件,用户可以根据访问需求,通过对目标页面中的资源定位符的可编辑控件进行编辑,点击目标页面中的确认标识确认编辑内容,当客户端检测到目标页面中的资源定位符编辑控件中有资源定位符时,获取用户在客户端目标界面中编辑的资源定位符。或者,用户在资源定位符编辑控件中输入资源定位符后,还可以通过点击键盘中的Enter按键或者是其他自定义的确认按键,表示确认编辑的资源定位符控件的编辑内容,当客户端检测到目标页面中的资源定位符编辑控件中有资源定位符时,获取用户在客户端目标界面中编辑的资源定位符。
S120、接收所述目标服务端反馈的与所述资源定位符相对应的目标文件,并调用与启动沙盒相对应的接口,以启动待运行沙盒。
其中,目标服务端可以用于反馈客户端的目标页面中检测到的资源定位符相对应的目标文件;目标文件可以理解为资源定位符所对应的标识资源的位置和访问方法的文件;接口可以理解为目标页面有很多对外访问的接口,通过调用这些对外访问接口,基于目标文件,可以作为创建沙盒的一种方式。沙盒可以理解为一种按照安全策略限制程序行为的执行环境,可以在沙盒中运行目标文件;待运行沙盒可以理解为此时的沙盒中还未包含目标文件时。示例性地,当目标文件中包含疑似病毒文件的可疑行为时,沙盒相当于一个虚拟的执行环境,让疑似病毒文件的可以行为在虚拟的沙盒中运行,此时沙盒会记录目标文件的每个动作,当确定疑似病毒文件包含病毒时,沙盒会将病毒的痕迹和动作抹去,将系统恢复到正常状态,保证系统的正常运行。
具体的,当客户端检测到目标页面中的资源定位符后,将资源定位符发送给目标服务端,在资源定位符中包含了目标文件的位置以及浏览器应该怎么处理该文件等标识信息,目标服务端可以基于资源定位符携带的标识信息,获取资源定位符对应的目标文件,并将获得的目标文件反馈给客户端。客户端在接收目标服务端反馈的资源定位符相对应的目标文件后,调用与启动沙盒相对应的接口,以启动待运行沙盒。
可选的,所述调用与启动沙盒相对应的接口,以启动待运行沙盒,包括:调用与启动沙盒相对应的接口,并基于与所述接口相对应的webcontainers启动待运行沙盒。
其中,webcontainers可以理解为一种基于Node.s程序代码的发开工具链,可以允许开发者创建一个完整的Node.js环境,完全在用户的目标页面中运行。
具体的,在接收目标服务端反馈的与资源定位符相对应的目标文件后,通过调用与启动沙盒相对应的接口,用以启动待运行沙盒,在启动待运行沙盒的过程中,客户端的目标页面通过接口对应的webcontainers启动待运行沙盒,用以执行目标文件。
S130、基于所述待运行沙盒执行所述目标文件,得到与所述资源定位符相对应的目标访问页面,并将所述目标访问页面展示在客户端。
其中,目标访问页面可以理解为与资源定位符相对应的目标页面,也可以理解为用户希望展示在客户端的页面。
具体的,客户端的目标页面通过webcontainers启动运行沙盒后,沙盒会自动执行目标文件,基于目标文件安装目标访问页面所需要的配置文件,基于安装的配置文件可以对目标访问页面进行重建,最后将重建后得到的目标访问页面展示在客户端的目标页面。在此过程中,基于webcontainers所建立的执行环境不需要在目标服务端运行,而是完全包含在客户端的目标页面中,只需要用户进行一次点击操作,便可以获取资源定位符所对应的目标文件,不需要每次用户的每次操作都通过目标服务端运行,而是在客户端的目标页面中直接运行。
可选的,所述目标文件中包括stackblitzrc子文件,所述基于所述待运行沙盒执行所述目标文件,得到与所述资源定位符相对应的目标访问页面,并将所述目标访问页面展示在客户端,包括:基于所述待运行沙盒执行所述stackblitzrc子文件,并基于所述stackblitzrc子文件安装与所述待运行沙盒相对应服务依赖,得到运行沙盒;基于所述运行沙盒对所述目标文件中与所述资源定位符相对应的内容进行页面重建,得到所述目标访问页面,并将目标访问页面展示在客户端。
示例性地,在本实施例中,stackblitzrc子文件可以为一段程序代码,例如,{“installDependencies”:true,“startCommand”:npm run dev},其中,“installDependencies”:true”可以理解为待运行沙盒运行时是否需要安装依赖配置包,当结果为“true”时,为待运行沙盒安装依赖配置包;startCommand”:npm run dev可以理解为在待运行沙盒的配置文件完整后,启动待运行沙盒。
具体的,stackblitzrc子文中包含待运行沙盒是否需要安装依赖配置包的指令,以及启动安装依赖配置包的指令,可以用于为待运行沙盒提供依赖配置包。其中,依赖配置包可以理解为待运行沙盒运行时所需要依赖的配置服务。当依赖配置包安装完成后,待运行沙盒便可以正常运行。
当沙盒运行之后,沙盒中的目标文件里包含与目标定位符相对应的内容,例如资源位置以及访问方法的标识,以及目标页面该如何运行该文件等信息,基于运行沙盒对目标文件中与资源定位符相对应的内容进行页面重建,可以得到目标访问页面,并将目标访问页面展示在客户端。
本实施例的技术方案,通过获取客户端编辑的资源定位符,并将所述资源定位符发送至目标服务端,用以通过客户端将用户输入的资源定位符发送给目标服务端。接收所述目标服务端反馈的与所述资源定位符相对应的目标文件,并调用与启动沙盒相对应的接口,以启动待运行沙盒,用以基于目标服务端接收到用户发送的资源定位符请求,将资源定位符对应的目标文件反馈给客户端。基于所述待运行沙盒执行所述目标文件,得到与所述资源定位符相对应的目标访问页面,并将所述目标访问页面展示在客户端,用以基于待运行沙盒执行目标文件,基于待运行沙盒启动运行沙盒,在运行沙盒启动后,基于运行沙盒以及资源定位符对应的目标文件的内容对目标访问页面进行重建,最后将重建结果显示在客户端。解决了用户访问目标页面时,每次触发操作都经过服务器的处理,访问量过大时造成服务器压力过大,访问速度慢的问题,并通过将所有运行基于运行沙盒执行,解决了访问页面时存在网络安全隐患的问题,达到了释放服务器压力、提高访问页面的访问速度以及访问页面网络安全的效果。
实施例二
图2为本发明实施例二所提供的一种访问页面生成方法的流程图,本实施例在本发明实施例中任一可选技术方案的基础上,可选地,所述目标文件中包括stackblitzrc子文件,基于所述待运行沙盒执行所述stackblitzrc子文件,并基于所述stackblitzrc子文件安装与所述待运行沙盒相对应服务依赖,得到运行沙盒;基于所述运行沙盒对所述目标文件中与所述资源定位符相对应的内容进行页面重建,得到所述目标访问页面,并将目标访问页面展示在客户端。
如图2所示,本实施例的访问页面生成方法包括:
S210、获取客户端编辑的资源定位符,并将所述资源定位符发送至目标服务端。
示例性地,不同的用户基于目标页面的访问类型的需求不同,当用户通过客户端的目标页面输入资源定位符后,通过预先设定的资源定位符的确认方式,例如点击目标页面中的确认按钮或键盘中的确认按键,确保资源定位符为用户的实际输入内容,然后将用户输入的资源定位符发送给目标服务端。
S220、接收所述目标服务端反馈的与所述资源定位符相对应的目标文件,并调用与启动沙盒相对应的接口,以启动待运行沙盒。
示例性地,用户输入的资源定位符的类型不同,可访问的目标服务端中的权限不同,因此,当服务器接收到来自客户端的目标页面发送的资源定位符后,根据资源定位符的类型,确定资源定位符的所属类别,进而,确定该资源定位符的访问权限。例如,对于一般类型的资源定位符,服务器接收该请求后,可以由本地网络设备根据资源定位符的类型,以及网络设备本地存储的资源定位符的预设规则,确定是否允许该资源定位符的访问,当确定该资源定位符的类型为允许时,目标服务端会向客户端的目标页面反馈对应的目标文件。对于在本地网络设备中被禁止访问的资源定位符的类型,目标服务端可以基于预先设置的资源定位符的访问规则,拒绝该资源定位符的请求,不反馈对应的目标文件。其中,资源定位符的访问权限可以理解为该资源定位符是否具有获得目标服务端反馈目标文件的权限。例如,公司或者科研机构为了不影响办公,只允许访问与工作相关的页面,禁止使用娱乐游戏页面、网购页面以及视频页面等与工作无关的访问页面,因此,当检测到的资源定位符是与工作无关的类型时,服务器不向客户端的目标页面反馈目标文件,具体的资源定位符的访问权限可以根据实际需求进行设置,不做具体限定。
S230、所述目标文件中包括stackblitzrc子文件,基于所述待运行沙盒执行所述stackblitzrc子文件,并基于所述stackblitzrc子文件安装与所述待运行沙盒相对应服务依赖,得到运行沙盒。
示例性地,客户端的目标页面通过webcontainers可以启动一个待运行沙盒,当待运行沙盒被启动后,可以基于待运行沙盒启动stackblitzrc子文件,确定待运行沙盒是否需要安装依赖配置包,若需要安装依赖配置包,则基于stackblitzrc子文件安装与所述待运行沙盒相对应服务依赖,得到运行沙盒。
可选的,所述目标文件中还包括package.json子文件,所述基于所述stackblitzrc子文件安装与所述待运行沙盒相对应服务依赖,得到运行沙盒,包括:在检测到所述stackblitzrc子文件中的installDependencies为真时,基于所述package.json子文件安装与所述待运行沙盒相对应的服务依赖,得到所述运行沙盒。
其中,目标文件中不仅包括stackblitzrc子文件,还包括package.json子文件,package.json子文件可以理解为项目描述文件,可以自己手动创建,也可以使用命令来创建,该package.json子文件可以记录当前的项目信息,例如项目名称、版本、作者、github地址以及当前项目依赖了哪些第三方模块等,并且这些信息可以保持到package.json子文件中,以便后续其它项目开发或其他人合作使用,便于对客户端的目标页面的访问页面的调试,installDependencies可以理解为服务安装环境的依赖配置管理,在package.json文件中,所有的安装依赖包都会在installdependencies的配置项中进行管理。
具体的,当检测到所述stackblitzrc子文件中的installDependencies为真时,可以基于package.json子文件安装与待运行沙盒相对应的服务依赖,得到运行沙盒。
S240、基于所述运行沙盒对所述目标文件中与所述资源定位符相对应的内容进行页面重建,得到所述目标访问页面,并将目标访问页面展示在客户端。
具体的,目标服务端接收资源定位符后可以从互联网端获取资源定位符对应的目标文件的地址、访问方法以及目标页面该如何对目标访问页面进行处理等信息。待得到运行沙盒后,运行沙盒可以基于资源定位符对应的目标文件中包含的信息,一次性获取资源定位符对应的资源信息,对目标访问页面进行重建,并将重建后的目标访问页面展示在客户端,通过这样的操作,即便是在离线的状态下,也不会对目标访问页面造成影响,能够保证目标访问页面的正常使用。
可选的,所述基于所述运行沙盒对所述目标文件中与所述资源定位符相对应的内容进行页面重建,得到所述目标访问页面,包括:基于所述运行沙盒中的npm启动node.js服务,并基于所述node.js服务对所述目标文件中与资源定位符相对应的内容进行页面重建,得到所述目标页面,并将所述目标访问页面展示在客户端。
其中,npm可以理解为包含在node.js中的一个包管理工具,npm会随着node.js一起安装,可以为开发者提供代码模块共享的平台,例如当项目中需要使用某个模块时,可以直接使用npm包管理工具下载对应的包并安装,也可以将自己用的node.js写的代码发布在npm平台供他人使用。node.js可以理解为一种为客户端js语言开发的可以在目标服务端运行的运行环境,可以通过node.js环境解决目标页面访问量过大导致的服务器压力大的问题。
具体的,基于目标文件包含的stackblitzrc子文件和package.json子文件,可以获取待运行沙盒需要的依赖配置,安装依赖配置后,启动运行沙盒。基于运行沙盒中的npm代码,可以启动node.js服务,并基于node.js服务对目标访问页面进行重建,基于资源定位符相对应的内容进行页面重建,得到目标页面。
如图3所示,图3为本发明实施例提供的一种访问页面生成方法的流程图。
在一个具体的例子中,以客户端的目标页面为浏览器为例,用户通过客户端的浏览器页面中的资源定位符控件输入资源定位符URL。其中,URL中包含与目标文件相对应的文件存储原生模块组native module以及访问资源类型,如http等信息。当浏览器检测到有资源定位符的输入后,生成资源定位符请求,并将该请求发送给目标服务端。目标服务端接收到资源定位符请求后,向客户端反馈资源定位符对应的目标文件,其中,目标文件中包含stackblitzrc子文件和package.json子文件。基于目标服务端反馈的目标文件,浏览器可以调用与启动浏览器沙盒相对应的对外访问接口,通过webcontainers启动node.js服务,启动浏览器沙盒。启动浏览器沙盒后,浏览器沙盒会自动执行stackblitzrc子文件,确定浏览器沙盒需要安装相对应的服务依赖时,基于所述package.json子文件为浏览器沙盒安装相对应的服务依赖配置。配置完成后,通过浏览器沙盒中的npm执行环境启动node.js服务,并基于所述node.js服务对目标文件中与资源定位符相对应的内容进行页面重建,得到浏览器访问页面,将浏览器访问页面发送到客户端,将浏览器访问页面展示在客户端。本实施例的技术方案,通过目标文件中包括stackblitzrc子文件,基于所述待运行沙盒执行所述stackblitzrc子文件,并基于所述stackblitzrc子文件安装与所述待运行沙盒相对应服务依赖,得到运行沙盒,用以根据目标文件中的stackblitzrc子文件确定待运行沙盒是否需要安装依赖配置包,若需要安装依赖配置,则基于stackblitzrc子文件安装与待运行沙盒相对应的服务依赖,得到运行沙盒。基于所述运行沙盒对所述目标文件中与所述资源定位符相对应的内容进行页面重建,得到所述目标访问页面,并将目标访问页面展示在客户端,用以在得到运行沙盒后,启动运行沙盒,并基于运行沙盒对目标文件中资源定位符相对应的内容对页面进行重建,得到目标访问页面,最后将目标访问页面展示在客户端供用户使用。解决了用户在使用目标访问页面时,每次的触发操作都需要经过服务器处理,由于目标访问页面访问量过大导致服务器崩溃的问题,通过用户在客户端输入资源定位符,只需要用户进行一次操作就可以获取资源定位符对应的所有资源内容,在后续的操作中,不需要再经过服务器的处理,且所有的运行都是基于运行沙盒执行的,保证了目标用户使用访问页面的网络安全,以及通过运行沙盒中的npm启动node.js服务,基于node.js服务,方便开发人员的调试,达到了释放服务器压力、提高访问页面的访问速度以、访问页面的网络安全性以及方便开发人员调试的效果。
实施例三
图4为本发明实施例三提供的一种访问页面生成装置,该装置包括:资源定位符获取模块410、目标文件接收模块420和目标文件执行模块430。
资源定位符获取模块410,用于获取客户端编辑的资源定位符,并将所述资源定位符发送至目标服务端;
目标文件接收模块420,用于接收所述目标服务端反馈的与所述资源定位符相对应的目标文件,并调用与启动沙盒相对应的接口,以启动待运行沙盒;
目标文件执行模块430,用于基于所述待运行沙盒执行所述目标文件,得到与所述资源定位符相对应的目标访问页面,并将所述目标访问页面展示在客户端。
本实施例的技术方案,通过获取客户端编辑的资源定位符,并将所述资源定位符发送至目标服务端,用以通过客户端将用户输入的资源定位符发送给目标服务端。接收所述目标服务端反馈的与所述资源定位符相对应的目标文件,并调用与启动沙盒相对应的接口,以启动待运行沙盒,用以基于目标服务端接收到用户发送的资源定位符请求,将资源定位符对应的目标文件反馈给客户端。基于所述待运行沙盒执行所述目标文件,得到与所述资源定位符相对应的目标访问页面,并将所述目标访问页面展示在客户端,用以基于待运行沙盒执行目标文件,基于待运行沙盒启动运行沙盒,在运行沙盒启动后,基于运行沙盒以及资源定位符对应的目标文件的内容对目标访问页面进行重建,最后将重建结果显示在客户端。解决了用户访问目标页面时,每次触发操作都经过服务器的处理,访问量过大时造成服务器压力过大,访问速度慢的问题,并通过将所有运行基于运行沙盒执行,解决了访问页面时存在网络安全隐患的问题,达到了释放服务器压力、提高访问页面的访问速度以及访问页面网络安全的效果。
本发明实施例中任一可选技术方案的基础上,可选地,所述资源定位符获取模块,用于:
当检测到目标页面中的资源定位符编辑控件中编辑有资源定位符时,获取所述客户端编辑的资源定位符;或,
当检测到触发目标控件时,获取所述资源定位符编辑控件中编辑的资源定位符。
本发明实施例中任一可选技术方案的基础上,可选地,所述目标文件接收模块,用于:
调用与启动沙盒相对应的接口,并基于与所述接口相对应的webcontainers启动待运行沙盒。
本发明实施例中任一可选技术方案的基础上,可选地,所述目标文件执行模块,具体包括:
待运行沙盒执行单元,用于基于所述待运行沙盒执行stackblitzrc子文件,并基于所述stackblitzrc子文件安装与所述待运行沙盒相对应服务依赖,得到运行沙盒;
目标访问页面展示单元,用于基于所述运行沙盒对所述目标文件中与所述资源定位符相对应的内容进行页面重建,得到所述目标访问页面,并将目标访问页面展示在客户端。
本发明实施例中任一可选技术方案的基础上,可选地,所述目标文件中还包括package.json子文件,所述待运行沙盒执行单元,用于:
在检测到所述stackblitzrc子文件中的installDependencies为真时,基于所述package.json子文件安装与所述待运行沙盒相对应的服务依赖,得到所述运行沙盒。
本发明实施例中任一可选技术方案的基础上,可选地,所述目标访问页面展示单元,用于:
基于所述运行沙盒中的npm启动node.js服务,并基于所述node.js服务对所述目标文件中与资源定位符相对应的内容进行页面重建,得到所述目标页面。
本发明实施例所提供的访问页面生成装置可执行本发明任意实施例所提供的访问页面生成方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述系统所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
实施例四
图5为本发明实施例四提供的一种电子设备的结构示意图。图5示出了适于用来实现本发明实施例实施方式的示例性电子设备40的框图。图5显示的电子设备40仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备40以通用计算设备的形式表现。电子设备40的组件可以包括但不限于:一个或者多个处理器或者处理单元401,系统存储器402,连接不同系统组件(包括系统存储器402和处理单元401)的总线403。
总线403表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备40典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备40访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器402可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)404和/或高速缓存存储器405。电子设备40可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统406可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线403相连。存储器402可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块407的程序/实用工具408,可以存储在例如存储器402中,这样的程序模块407包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块407通常执行本发明所描述的实施例中的功能和/或方法。
电子设备40也可以与一个或多个外部设备409(例如键盘、指向设备、显示器410等)通信,还可与一个或者多个使得用户能与该电子设备40交互的设备通信,和/或与使得该电子设备40能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口411进行。并且,电子设备40还可以通过网络适配器412与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器412通过总线403与电子设备40的其它模块通信。应当明白,尽管图5中未示出,可以结合电子设备40使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元401通过运行存储在系统存储器402中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的访问页面生成方法。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种访问页面生成方法,该方法包括:获取客户端编辑的资源定位符,并将所述资源定位符发送至目标服务端;接收所述目标服务端反馈的与所述资源定位符相对应的目标文件,并调用与启动沙盒相对应的接口,以启动待运行沙盒;基于所述待运行沙盒执行所述目标文件,得到与所述资源定位符相对应的目标访问页面,并将所述目标访问页面展示在客户端。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种访问页面生成方法,其特征在于,应用于浏览器中,包括:
获取客户端编辑的资源定位符,并将所述资源定位符发送至目标服务端;
接收所述目标服务端反馈的与所述资源定位符相对应的目标文件,并调用与启动沙盒相对应的接口,以启动待运行沙盒;
基于所述待运行沙盒执行所述目标文件,得到与所述资源定位符相对应的目标访问页面,并将所述目标访问页面展示在客户端。
2.根据权利要求1所述的方法,其特征在于,所述获取客户端编辑的资源定位符,包括:
当检测到目标页面中的资源定位符编辑控件中编辑有资源定位符时,获取所述客户端编辑的资源定位符;或,
当检测到触发目标控件时,获取所述资源定位符编辑控件中编辑的资源定位符。
3.根据权利要求1所述的方法,其特征在于,所述调用与启动沙盒相对应的接口,以启动待运行沙盒,包括:
调用与启动沙盒相对应的接口,并基于与所述接口相对应的webcontainers启动待运行沙盒。
4.根据权利要求1所述的方法,其特征在于,所述目标文件中包括stackblitzrc子文件,所述基于所述待运行沙盒执行所述目标文件,得到与所述资源定位符相对应的目标访问页面,并将所述目标访问页面展示在客户端,包括:
基于所述待运行沙盒执行所述stackblitzrc子文件,并基于所述stackblitzrc子文件安装与所述待运行沙盒相对应服务依赖,得到运行沙盒;
基于所述运行沙盒对所述目标文件中与所述资源定位符相对应的内容进行页面重建,得到所述目标访问页面,并将目标访问页面展示在客户端。
5.根据权利要求4所述的方法,其特征在于,所述目标文件中还包括package.json子文件,所述基于所述stackblitzrc子文件安装与所述待运行沙盒相对应服务依赖,得到运行沙盒,包括:
在检测到所述stackblitzrc子文件中的installDependencies为真时,基于所述package.json子文件安装与所述待运行沙盒相对应的服务依赖,得到所述运行沙盒。
6.根据权利要求4所述的方法,其特征在于,所述基于所述运行沙盒对所述目标文件中与所述资源定位符相对应的内容进行页面重建,得到所述目标访问页面,包括:
基于所述运行沙盒中的npm启动node.js服务,并基于所述node.js服务对所述目标文件中与资源定位符相对应的内容进行页面重建,得到所述目标页面。
7.一种访问页面生成装置,其特征在于,包括:
资源定位符获取模块,用于获取客户端编辑的资源定位符,并将所述资源定位符发送至目标服务端;
目标文件接收模块,用于接收所述目标服务端反馈的与所述资源定位符相对应的目标文件,并调用与启动沙盒相对应的接口,以启动待运行沙盒;
目标文件执行模块,用于基于所述待运行沙盒执行所述目标文件,得到与所述资源定位符相对应的目标访问页面,并将所述目标访问页面展示在客户端。
8.根据权利要求7所述的装置,其特征在于,所述目标文件执行模块包括运行沙盒获取单元和目标访问页面展示单元;其中,
待运行沙盒执行单元,用于基于所述待运行沙盒执行stackblitzrc子文件,并基于所述stackblitzrc子文件安装与所述待运行沙盒相对应服务依赖,得到运行沙盒;
目标访问页面展示单元,用于基于所述运行沙盒对所述目标文件中与所述资源定位符相对应的内容进行页面重建,得到所述目标访问页面,并将目标访问页面展示在客户端。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的访问页面生成方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-6中任一所述的访问页面生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110986035.7A CN113641923A (zh) | 2021-08-26 | 2021-08-26 | 一种访问页面生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110986035.7A CN113641923A (zh) | 2021-08-26 | 2021-08-26 | 一种访问页面生成方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113641923A true CN113641923A (zh) | 2021-11-12 |
Family
ID=78423901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110986035.7A Pending CN113641923A (zh) | 2021-08-26 | 2021-08-26 | 一种访问页面生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113641923A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598812A (zh) * | 2011-12-28 | 2015-05-06 | 奇智软件(北京)有限公司 | 在沙箱中浏览网页方法及装置 |
CN105975393A (zh) * | 2016-05-04 | 2016-09-28 | 腾讯科技(深圳)有限公司 | 一种页面显示的检测方法及系统 |
US20170126817A1 (en) * | 2015-10-30 | 2017-05-04 | Mckesson Financial Holdings | Methods and apparatuses for location-based data access |
US20190058667A1 (en) * | 2016-06-01 | 2019-02-21 | Guangzhou Ucweb Computer Technology Co., Ltd. | Apparatus, hybrid apparatus, and method for network resource access |
CN111782330A (zh) * | 2020-07-07 | 2020-10-16 | 赞同科技股份有限公司 | 一种基于Web应用的页面数据获取方法、装置及设备 |
-
2021
- 2021-08-26 CN CN202110986035.7A patent/CN113641923A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598812A (zh) * | 2011-12-28 | 2015-05-06 | 奇智软件(北京)有限公司 | 在沙箱中浏览网页方法及装置 |
US20170126817A1 (en) * | 2015-10-30 | 2017-05-04 | Mckesson Financial Holdings | Methods and apparatuses for location-based data access |
CN105975393A (zh) * | 2016-05-04 | 2016-09-28 | 腾讯科技(深圳)有限公司 | 一种页面显示的检测方法及系统 |
US20190058667A1 (en) * | 2016-06-01 | 2019-02-21 | Guangzhou Ucweb Computer Technology Co., Ltd. | Apparatus, hybrid apparatus, and method for network resource access |
CN111782330A (zh) * | 2020-07-07 | 2020-10-16 | 赞同科技股份有限公司 | 一种基于Web应用的页面数据获取方法、装置及设备 |
Non-Patent Citations (1)
Title |
---|
ERIC SIMONS: "Introducing WebContainers: Run Node.js natively in your browser", pages 1 - 8, Retrieved from the Internet <URL:《https://blog.stackblitz.com/posts/introducing-webcontainers/》> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8898796B2 (en) | Managing network data | |
US9122793B2 (en) | Distributed debugging of an application in a distributed computing environment | |
CN112528274A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111752587A (zh) | 小程序的批量处理方法、装置、电子设备以及可读存储介质 | |
CN114253864A (zh) | 一种业务测试方法、装置、电子设备及存储介质 | |
CN113760306A (zh) | 安装软件的方法、装置、电子设备及存储介质 | |
CN110083467B (zh) | 小程序消息的处理方法、设备和计算机存储介质 | |
CN113961836A (zh) | 页面跳转方法、装置、电子设备及存储介质 | |
CN111935092B (zh) | 一种基于第三方应用的信息交互方法、装置和电子设备 | |
CN107862035B (zh) | 会议记录的网络读取方法、装置、智能平板和存储介质 | |
CN113656193A (zh) | 一种应用通信方法、系统、电子设备及存储介质 | |
CN112965736A (zh) | 代码处理方法、装置、电子设备及介质 | |
CN112394907A (zh) | 基于容器的交付系统构建方法、应用交付方法和交付系统 | |
CN112491940A (zh) | 代理服务器的请求转发方法及装置、存储介质及电子设备 | |
CN113641923A (zh) | 一种访问页面生成方法、装置、电子设备及存储介质 | |
CN109933444A (zh) | 一种寄宿应用间的即时通讯方法 | |
CN112565472B (zh) | 静态资源的处理方法和装置 | |
CN110825370A (zh) | 移动端应用开发方法、装置及系统 | |
CN114489698A (zh) | 应用程序安装方法和装置 | |
CN114205156A (zh) | 面向切面技术的报文检测方法、装置、电子设备及介质 | |
CN114528509A (zh) | 一种页面显示处理方法、装置、电子设备及存储介质 | |
CN113742104A (zh) | 基于ai的rpa分身功能的生成方法及装置 | |
CN113761419A (zh) | 拓扑信息的显示方法、装置、电子设备及存储介质 | |
CN109462604B (zh) | 一种数据传输方法、装置、设备及存储介质 | |
CN113590564A (zh) | 数据存储方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |