CN107423367A - Web页面加载方法及装置 - Google Patents
Web页面加载方法及装置 Download PDFInfo
- Publication number
- CN107423367A CN107423367A CN201710516090.3A CN201710516090A CN107423367A CN 107423367 A CN107423367 A CN 107423367A CN 201710516090 A CN201710516090 A CN 201710516090A CN 107423367 A CN107423367 A CN 107423367A
- Authority
- CN
- China
- Prior art keywords
- web page
- page
- caching
- self
- terminal device
- 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.)
- Granted
Links
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]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- 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
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种web页面加载方法及装置,该方法包括:拦截终端设备向页面服务器发送的web页面获取请求,所述web页面获取请求中包括第一web页面的统一资源定位符URL地址,所述第一web页面为应用程序中的web页面;根据所述第一web页面的URL地址,判断所述第一web页面是否为自定义缓存页面;若是,在确定所述终端设备中缓存有所述第一web页面时,在所述终端设备的缓存中获取所述第一web页面,所述缓存中的web页面为永久性缓存的内容;若否,则向所述页面服务器请求获取所述第一web页面。用于提高web页面加载的效率。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种web页面加载方法及装置。
背景技术
在终端设备(例如手机、电脑等)中可以安装多种应用程序,目前,终端设备中安装的应用程序多数为混合模式应用程序,混合模式应用程序兼容了web应用程序和原生应用程序的特点。
在混合模式应用程序中,包括web页面和原生页面,对于web页面,终端设备向页面服务器请求得到的为web页面本身,终端设备直接对请求得到的web页面进行显示即可。对于原生页面,终端设备向页面服务器请求得到的为web页面中的资源,终端设备需要对请求得到的资源进行渲染等操作,才可以在终端设备中显示出来原生页面。在现有技术中,对于混合模式应用程序中的web页面,通常由终端设备的系统(例如,Android系统或者IOS系统等)对web页面进行缓存,在应用程序退出运行之后,删除缓存的web页面,因此,在应用程序退出重新启动之后,在需要加载应用程序中的web页面时,需要重新向页面服务器请求获取web页面,导致web页面加载速度较慢。
发明内容
本发明实施例提供一种web页面加载方法及装置。提高了web页面的加载速度。
第一方面,本发明实施例提供一种web页面加载方法,包括:
拦截终端设备向页面服务器发送的web页面获取请求,所述web页面获取请求中包括第一web页面的统一资源定位符URL地址,所述第一web页面为应用程序中的web页面;
根据所述第一web页面的URL地址,判断所述第一web页面是否为自定义缓存页面;
若是,在确定所述终端设备中缓存有所述第一web页面时,在所述终端设备的缓存中获取所述第一web页面,所述缓存中的web页面为永久性缓存的内容;
若否,则向所述页面服务器请求获取所述第一web页面。
在一种可能的实施方式中,根据所述第一web页面的URL地址,判断所述第一web页面是否为自定义缓存页面,包括:
判断所述第一web页面的URL地址中是否包括自定义缓存标识符和版本号;
若所述第一web页面的URL地址中包括所述自定义缓存标识符和版本号,则确定所述第一web页面是自定义缓存页面;
若所述第一web页面的URL地址中不包括所述自定义缓存标识符或版本号,则确定所述第一web页面不是自定义缓存页面。
在另一种可能的实施方式中,在确定所述终端设备中缓存有所述第一web页面时,在所述终端设备的缓存中获取所述第一web页面,包括:
判断所述终端设备的缓存中是否包括所述第一web页面对应的第二web页面,其中,所述第一web页面和所述第二web页面的页面标识相同;
若是,则判断所述第二web页面和所述第一web页面是否相同,若是,则在所述终端设备的缓存中获取所述第二web页面,并将所述第二web页面确定为所述第一web页面;若否,则向所述页面服务器请求获取所述第一web页面,并将所述缓存中的第二web页面更新为所述第一web页面;
若否,则向页面服务器请求获取所述第一web页面,并将所述第一web页面存储到所述终端设备的缓存中。
在另一种可能的实施方式中,所述第一web页面的URL地址中的版本号为所述第一web页面的页面标识对应的最新版本号。
在另一种可能的实施方式中,拦截终端设备发送的web页面获取请求之前,还包括:
在确定所述应用程序启动之后,实例化自定义缓存子类,得到自定义缓存对象,所述自定义缓存子类继承于系统缓存类;
将系统缓存对象替换成为所述自定义缓存对象,所述系统缓存对象为所述系统缓存类实例化的对象;
相应的,拦截终端设备向页面服务器发送的web页面获取请求,包括:
通过调用所述自定义缓存对象,拦截终端设备向页面服务器发送的web页面获取请求。
相应的,根据所述第一web页面的URL地址,判断所述第一web页面是否为自定义缓存页面,包括:
通过调用所述自定义缓存对象,根据所述第一web页面的URL地址,判断所述第一web页面是否为自定义缓存页面。
相应的,在确定所述终端设备中缓存有所述第一web页面时,在所述终端设备的缓存中获取所述第一web页面,包括:
通过调用所述自定义缓存对象,在确定所述终端设备中缓存有所述第一web页面时,在所述终端设备的缓存中获取所述第一web页面。
相应的,向所述页面服务器请求获取所述第一web页面,包括:
通过调用所述自定义缓存对象,向所述页面服务器请求获取所述第一web页面。
第二方面,本发明实施例提供一种web页面加载装置,包括拦截模块、判断模块、第一获取模块和第二获取模块,其中,
所述拦截模块用于,拦截终端设备向页面服务器发送的web页面获取请求,所述web页面获取请求中包括第一web页面的统一资源定位符URL地址,所述第一web页面为应用程序中的web页面;
所述判断模块用于,根据所述第一web页面的URL地址,判断所述第一web页面是否为自定义缓存页面;
所述第一获取模块用于,在所述判断模块判断所述第一web页面为自定义缓存页面时,在确定所述终端设备中缓存有所述第一web页面时,在所述终端设备的缓存中获取所述第一web页面,所述缓存中的web页面为永久性缓存的内容;
所述第二获取模块用于,在所述判断模块判断所述第一web页面不是自定义缓存页面时,向所述页面服务器请求获取所述第一web页面。
在一种可能的实施方式中,所述判断模块具体用于:
判断所述第一web页面的URL地址中是否包括自定义缓存标识符和版本号;
若所述第一web页面的URL地址中包括所述自定义缓存标识符和版本号,则确定所述第一web页面是自定义缓存页面;
若所述第一web页面的URL地址中不包括所述自定义缓存标识符或版本号,则确定所述第一web页面不是自定义缓存页面。
在另一种可能的实施方式中,所述第一获取模块具体用于:
判断所述终端设备的缓存中是否包括所述第一web页面对应的第二web页面,其中,所述第一web页面和所述第二web页面的页面标识相同;
若是,则判断所述第二web页面和所述第一web页面是否相同,若是,则在所述终端设备的缓存中获取所述第二web页面,并将所述第二web页面确定为所述第一web页面;若否,则向所述页面服务器请求获取所述第一web页面,并将所述缓存中的第二web页面更新为所述第一web页面;
若否,则向页面服务器请求获取所述第一web页面,并将所述第一web页面存储到所述终端设备的缓存中。
在另一种可能的实施方式中,所述第一web页面的URL地址中的版本号为所述第一web页面的页面标识对应的最新版本号。
在另一种可能的实施方式中,所述装置还包括实例化模块和替换模块,其中,
所述实例化模块用于,在所述拦截模块拦截终端设备发送的web页面获取请求之前,在确定所述应用程序启动之后,实例化自定义缓存子类,得到自定义缓存对象,所述自定义缓存子类继承于系统缓存类;
所述替换模块用于,将系统缓存对象替换成为所述自定义缓存对象,所述系统缓存对象为所述系统缓存类实例化的对象;
相应的,所述拦截模块具体用于,通过调用所述自定义缓存对象,拦截终端设备向页面服务器发送的web页面获取请求。
本发明实施例提供的web页面加载方法及装置,在终端设备拦截到向页面服务器发送的web页面请求之后,先判断web页面请求对应的第一web页面是否为自定义缓存页面,在确定第一web页面为自定义缓存页面时,若终端设备设备中缓存有第一web页面,则在终端设备的缓存中获取第一web页面,若终端设备未缓存有第一web页面,则向页面服务器请求获取第一web页面。由于终端设备可以对应用程序中的web页面进行永久性缓存,因此,在终端设备对web页面进行缓存后,在应用程序退出重启之后,仍可以在缓存中获取web页面,进而提高了web页面的加载效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的页面加载方法的应用场景示意图;
图2为本发明实施例提供的web页面加载方法的流程示意图一;
图3为本发明实施例提供的web页面加载方法的流程示意图二;
图4为本发明实施例提供的web页面加载装置的结构示意图一;
图5为本发明实施例提供的web页面加载装置的结构示意图二。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的页面加载方法的应用场景示意图。请参见图1,包括终端设备101和页面服务器102。终端设备101可以为手机、电脑等设备,终端设备101的操作系统可以为Android系统、IOS系统等。在终端设备101中安装有应用程序,终端设备101缓存有应用程序中的部分web页面的标识、web页面的标识对应的web页面、及web页面的版本号。在本申请中,终端设备可以对web页面进行永久性缓存,即,在应用程序退出运行之后,终端设备仍保留为应用程序缓存的web页面。页面服务器102用于向终端设备101中的应用程序提供服务,页面服务器102中包括应用程序中的所有web页面,且页面服务器102中包括的web页面均为最新的web页面。
在本申请中,由于终端设备可以对应用程序中的web页面进行永久性缓存,因此,在终端设备对web页面进行缓存后,在应用程序退出重启之后,仍可以在缓存中获取web页面,进而提高了web页面的加载效率。
下面,通过具体实施例,对本申请所示的技术方案进行详细说明。需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行赘述。
图2为本发明实施例提供的web页面加载方法的流程示意图一。请参见图2,该方法可以包括:
S201、拦截终端设备向页面服务器发送的web页面获取请求,web页面获取请求中包括第一web页面的统一资源定位符URL地址,第一web页面为应用程序中的web页面。
本发明实施例的执行主体可以为终端设备,也可以为设置在终端设备中的web页面加载装置。可选的,web页面加载装置可以通过软件实现,或者,web页面加载装置也可以通过软件和硬件的结合实现。
在本发明实施例中,在应用程序中设置有自定义缓存子类,该自定义缓存子类继承于系统缓存类。系统缓存类为Android系统或者IOS系统等自带的类,应用程序的开发者无法对系统缓存进行修改。系统缓存类用于对应用程序中的web页面进行临时缓存,并在应用程序退出后删除临时缓存的web页面。系统缓存类还可以用于拦截终端设备向页面服务器发送的web页面获取请求,并判断临时缓存的web页面中是否包括终端设备请求web页面,若是,则直接在缓存中获取终端设备请求的web页面即可。
在自定义缓存子类继承系统缓存类之后,自定义缓存子类可以具备系统缓存类的功能,并且自定义缓存子类还可以具有系统缓存类不具备的功能。可选的,自定义缓存子类可以对系统缓存类中的方法进行重写,以使自定义缓存子类具有系统缓存类不具备的功能。
在本发明实施例中,在应用程序启动之后,实例化自定义缓存子类,得到自定义缓存对象,并将自定义缓存对象替换系统缓存对象,其中,系统缓存对象也可以为在应用程序启动之后对系统缓存类实例化得到的对象。在将自定义缓存对象替换系统缓存对象之后,则由自定义缓存对象实现对web页面的缓存、以及向终端设备提供缓存中的web页面。需要说明的是,在应用程序启动之后,在应用程序发送任何网络请求之前,需要将系统缓存对象替换为自定义缓存对象。
需要说明的是,在将系统缓存对象替换为自定义缓存对象之后,终端设备可以调用自定义缓存对象执行本申请所示的技术方案。
在实际应用过程中,在应用程序启动之后,在应用程序的页面中包括多个链接项,该链接项可以以图片、文字等形式展示,每一个链接项对应一个页面的统一资源定位符(Uniform Resource Locator,简称URL)地址,当用户对web页面的链接项进行点击操作之后,终端设备根据该URL地址生成web页面获取请求,并向页面服务器发送该web页面获取请求。
需要说明的是,在终端设备请求得到一个页面之后,请求得到的页面中包括链接项、以及每一个链接项对应的最新web页面的URL地址。当一个链接项对应的web页面发生更新时,链接项对应的URL地址也会有所更新。
在终端设备向页面服务器发送web页面获取请求之后,通过自定义缓存对象拦截该web页面获取请求。可选的,在通过自定义缓存子类实例化得到自定义缓存对象之后,自定义缓存对象实时监测终端设备是否向页面服务器发送web页面获取请求,若监测到,则拦截该web页面获取请求。
S202、根据第一web页面的URL地址,判断第一web页面是否为自定义缓存页面。
若是,则执行S203。
若否,则执行S204。
可选的,自定义缓存页面的URL地址中包括自定义缓存标识符和版本号。因此,可以判断第一web页面的URL地址中是否包括自定义缓存标识符和版本号,若第一web页面的URL地址中同时包括自定义缓存标识符和版本号,则确定第一web页面为自定义缓存页面,否则,则确定第一web页面不是自定义缓存页面。
可选的,自定义缓存标识符可以通过预设的字符串表示,例如,自定义缓存标识符可以为cachevers等,在实际应用过程中,可以根据实际需要设置该自定义缓存标识符,本发明实施例对此不作具体限定。
在实际应用过程中,应用程序中的部分web页面的更新频率较低,部分web页面的更新频率较高,可以将更新频率较低的web页面设置为自定义缓存页面,这样,可以避免对终端设备中缓存的web页面进行频繁的更新。
S203、在确定终端设备中缓存有第一web页面时,在终端设备的缓存中获取第一web页面。
本发明实施例中所示的缓存中的web页面为永久性缓存的内容,即,在应用程序退出之后,不会删除缓存中的web页面,但是,缓存中的web页面是可以更新的。当然,在用户对终端设备进行缓存清理时,用户可以手动删除缓存中的web页面。
可选的,可以先判断终端设备中是否缓存有第一web页面,若是,则在缓存中获取第一web页面。
S204、向页面服务器请求获取第一web页面。
可选的,可以将在S201中拦截的web页面获取请求发送给页面服务器,以使页面服务器根据web页面获取请求,向终端设备发送第一web页面。
本发明实施例提供的web页面加载方法,在终端设备拦截到向页面服务器发送的web页面请求之后,先判断web页面请求对应的第一web页面是否为自定义缓存页面,在确定第一web页面为自定义缓存页面时,若终端设备设备中缓存有第一web页面,则在终端设备的缓存中获取第一web页面,若终端设备未缓存有第一web页面,则向页面服务器请求获取第一web页面。由于终端设备可以对应用程序中的web页面进行永久性缓存,因此,在终端设备对web页面进行缓存后,在应用程序退出重启之后,仍可以在缓存中获取web页面,进而提高了web页面的加载效率。
在图2所示实施例的基础上,下面,通过图3所示的实施例,对图2所示的实施例进行进一步完整的说明。
图3为本发明实施例提供的web页面加载方法的流程示意图二。请参见图3,该方法可以包括:
S301、拦截终端设备向页面服务器发送的web页面获取请求。
需要说明的是,S301的执行过程可以参见S201,此处不再进行赘述。
S302、判断第一web页面的URL地址中是否同时包括自定义缓存标识符和版本号。
若是,则执行S303-S306。
若否,则执行S308。
S303、判断终端设备的缓存中是否包括第一web页面对应的第二web页面。
若是,则执行S304-S306。
若否,则执行S307。
其中,第一web页面和第二web页面的页面标识相同。
在本发明实施例中,同一种web页面对应一个页面标识,例如,应用程序的首页面对应一个页面标识,应用程序的设置页面对应一个页面标识。由于web页面会发生更新,因此,同一个页面标识在不同时刻对应的web页面不同。例如,在第一时刻,页面标识1对应web页面1,在web页面1更新称为web页面2时,则页面标识1对应web页面2。
可选的,可以先获取第一web页面对应的页面标识,并根据第一web页面的页面标识,判断终端设备的缓存中是否包括该页面标识对应的第二web页面。其中,终端设备请求的第一页面为最新的web页面,第二web页面可以和第一web页面相同,第二web页面也可以和第一web页面不同。例如,在缓存第二web页面之后,若第二web页面没有发生更新,则第二web页面和第一web页面相同,若在缓存第二web页面之后,第二web页面发生了更新,则第二web页面和第一web页面不同。
S304、判断第二web页面和第一web页面是否相同。
若是,则执行S305。
若否,则执行S306。
可选的,可以获取第一web页面的URL地址中的第一版本号,获取第二web页面的URL地址中的第二版本号,并根据该第一版本号和第二版本号判断第一web页面和第二web页面是否相同。
当第一web页面的版本号和第二web页面的版本号相同时,则说明第一web页面和第二web页面相同,否则,则说明第一web页面和第二web页面不同。
S305、在终端设备的缓存中获取第二web页面,并将第二web页面确定为第一web页面。
在确定第二web页面和第一web页面相同时,则在终端设备的缓存中获取第二web页面,并将该第二web页面确定为第一web页面。
S306、向页面服务器请求获取第一web页面,并将缓存中的第二web页面更新为第一web页面。
在确定第二web页面和第一web页面不同时,则说明在缓存完成第二web页面之后,页面服务器中第二web页面发生了更新,且更新成为了第一web页面。为了避免向用户展示过期的web页面,则需要向页面服务器请求获取第一web页面。进一步的,为了在终端设备下次请求第一web页面时,可以在终端设备的缓存中获取第一web页面,则终端设备可以将缓存中的第二web页面更新为第一web页面。
S307、向页面服务器请求获取第一web页面,并将第一web页面存储到终端设备的缓存中。
S308、向页面服务器请求获取第一web页面。
在确定终端设备的缓存中不包括第一web页面对应的第二web页面时,则可以向页面服务器请求获取第一web页面,并将第一web页面存储到终端设备的缓存中,这样,在下次需要下载第一web页面时,则可以在终端设备的缓存中获取第一web页面。
下面,通过具体示例,对上述方法实施例所示的技术方案进行详细说明。
示例性的,假设终端设备的系统为IOS系统,则在开发应用程序的过程中,在应用程序中设置自定义缓存子类,自定义缓存子类继承系统缓存类,假设系统缓存类为NSURLache,自定义缓存子类为WBHybridCacheEnginer,则可以通过如下程序代码实现自定义缓存子类继承系统缓存类:
Interface WBHybridCacheEnginer:NSURLache
通过将自定义缓存子类继承系统缓存类,可以使得自定义缓存子类具有系统缓存类的功能。进一步的,还可以对系统缓存类中的方法进行重写,以使自定义缓存子类具有系统缓存类不具备的功能。例如,当需要重写系统缓存类中的cacheResponseForRequest时,可以通过如下程序代码实现重写系统缓存类中的该方法:
implementation WBHybridCacheEnginer
-(NSCachedURLResponse*)cacheResponseForRequest:(NSURLRequest*request)
{……
}
在应用程序启动之后,创建自定义缓存子类的单例,例如,可以通过如下程序代码创建自定义缓存子类的单例:
WBHybridCacheEnginer*actionenginer=[[WBHybridCacheEnginer alloc]
initwithMemoryCapacity:1024*1024*2
diskCapacity:1024*1024*10
diskPath:nil];
在应用程序启动之后,也创建系统缓存类的单例。
在创建完上述两个单例之后,将自定义缓存子类的单例替换系统缓存类的单例,例如,可以通过如下程序代码实现:
[NSURLache setSharedURLCache:actionenginer];
在将自定义缓存子类的单例替换系统缓存类的单例之后,通过自定义缓存子类的单例实现本申请所示的web加载方法。
在应用程序启动之后,当用户需要终端设备展示详情页面(详情页面为web页面)时,用户对详情页面对应的链接项进行点击操作,终端设备获取该链接项对应的URL1,该URL1对应web页面1,生成包括该URL1对应的web页面获取请求,并向页面服务器发送web页面获取请求。
终端设备根据自定义缓存子类的单例,拦截该web页面获取请求,并在web页面获取请求中获取URL1,假设该URL1中同时包括自定义缓存标识和版本号,则终端设备判断缓存中是否包括详情页面对应的web页面,假设缓存中包括详情页面对应的web页面,且缓存中包括的详情页面对应的web页面为web页面2。
终端设备获取web页面2的版本号和web页面1的版本号,假设web页面2的版本号和web页面1的版本号相同,则终端设备在缓存中获取web页面2,并展示web页面2。
图4为本发明实施例提供的web页面加载装置的结构示意图一。请参见图4,该装置可以包括拦截模块11、判断模块12、第一获取模块13和第二获取模块14,其中,
所述拦截模块11用于,拦截终端设备向页面服务器发送的web页面获取请求,所述web页面获取请求中包括第一web页面的统一资源定位符URL地址,所述第一web页面为应用程序中的web页面;
所述判断模块12用于,根据所述第一web页面的URL地址,判断所述第一web页面是否为自定义缓存页面;
所述第一获取模块13用于,在所述判断模块12判断所述第一web页面为自定义缓存页面时,在确定所述终端设备中缓存有所述第一web页面时,在所述终端设备的缓存中获取所述第一web页面,所述缓存中的web页面为永久性缓存的内容;
所述第二获取模块14用于,在所述判断模块12判断所述第一web页面不是自定义缓存页面时,向所述页面服务器请求获取所述第一web页面。
本发明实施例提供的web页面加载装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此次不再进行赘述。
在一种可能的实施方式中,所述判断模块12具体用于:
判断所述第一web页面的URL地址中是否包括自定义缓存标识符和版本号;
若所述第一web页面的URL地址中包括所述自定义缓存标识符和版本号,则确定所述第一web页面是自定义缓存页面;
若所述第一web页面的URL地址中不包括所述自定义缓存标识符或版本号,则确定所述第一web页面不是自定义缓存页面。
在另一种可能的实施方式中,所述第一获取模块具体用于:
判断所述终端设备的缓存中是否包括所述第一web页面对应的第二web页面,其中,所述第一web页面和所述第二web页面的页面标识相同;
若是,则判断所述第二web页面和所述第一web页面是否相同,若是,则在所述终端设备的缓存中获取所述第二web页面,并将所述第二web页面确定为所述第一web页面;若否,则向所述页面服务器请求获取所述第一web页面,并将所述缓存中的第二web页面更新为所述第一web页面;
若否,则向页面服务器请求获取所述第一web页面,并将所述第一web页面存储到所述终端设备的缓存中。
在另一种可能的实施方式中,所述第一web页面的URL地址中的版本号为所述第一web页面的页面标识对应的最新版本号。
图5为本发明实施例提供的web页面加载装置的结构示意图二。在图4所示实施例的基础上,请参见图5,所述装置还包括实例化模块15和替换模块16,其中,
所述实例化模15块用于,在所述拦截模块拦截终端设备发送的web页面获取请求之前,在确定所述应用程序启动之后,实例化自定义缓存子类,得到自定义缓存对象,所述自定义缓存子类继承于系统缓存类;
所述替换模块16用于,将系统缓存对象替换成为所述自定义缓存对象,所述系统缓存对象为所述系统缓存类实例化的对象;
相应的,所述拦截模块11具体用于,通过调用所述自定义缓存对象,拦截终端设备向页面服务器发送的web页面获取请求。
本发明实施例提供的web页面加载装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此次不再进行赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例方案的范围。
Claims (10)
1.一种web页面加载方法,其特征在于,包括:
拦截终端设备向页面服务器发送的web页面获取请求,所述web页面获取请求中包括第一web页面的统一资源定位符URL地址,所述第一web页面为应用程序中的web页面;
根据所述第一web页面的URL地址,判断所述第一web页面是否为自定义缓存页面;
若是,在确定所述终端设备中缓存有所述第一web页面时,在所述终端设备的缓存中获取所述第一web页面,所述缓存中的web页面为永久性缓存的内容;
若否,则向所述页面服务器请求获取所述第一web页面。
2.根据权利要求1所述的方法,其特征在于,根据所述第一web页面的URL地址,判断所述第一web页面是否为自定义缓存页面,包括:
判断所述第一web页面的URL地址中是否包括自定义缓存标识符和版本号;
若所述第一web页面的URL地址中包括所述自定义缓存标识符和版本号,则确定所述第一web页面是自定义缓存页面;
若所述第一web页面的URL地址中不包括所述自定义缓存标识符或版本号,则确定所述第一web页面不是自定义缓存页面。
3.根据权利要求1或2所述的方法,其特征在于,在确定所述终端设备中缓存有所述第一web页面时,在所述终端设备的缓存中获取所述第一web页面,包括:
判断所述终端设备的缓存中是否包括所述第一web页面对应的第二web页面,其中,所述第一web页面和所述第二web页面的页面标识相同;
若是,则判断所述第二web页面和所述第一web页面是否相同,若是,则在所述终端设备的缓存中获取所述第二web页面,并将所述第二web页面确定为所述第一web页面;若否,则向所述页面服务器请求获取所述第一web页面,并将所述缓存中的第二web页面更新为所述第一web页面;
若否,则向页面服务器请求获取所述第一web页面,并将所述第一web页面存储到所述终端设备的缓存中。
4.根据权利要求1或2所述的方法,其特征在于,所述第一web页面的URL地址中的版本号为所述第一web页面的页面标识对应的最新版本号。
5.根据权利要求1或2所述的方法,其特征在于,拦截终端设备发送的web页面获取请求之前,还包括:
在确定所述应用程序启动之后,实例化自定义缓存子类,得到自定义缓存对象,所述自定义缓存子类继承于系统缓存类;
将系统缓存对象替换成为所述自定义缓存对象,所述系统缓存对象为所述系统缓存类实例化的对象;
相应的,拦截终端设备向页面服务器发送的web页面获取请求,包括:
通过调用所述自定义缓存对象,拦截终端设备向页面服务器发送的web页面获取请求。
6.一种web页面加载装置,其特征在于,包括拦截模块、判断模块、第一获取模块和第二获取模块,其中,
所述拦截模块用于,拦截终端设备向页面服务器发送的web页面获取请求,所述web页面获取请求中包括第一web页面的统一资源定位符URL地址,所述第一web页面为应用程序中的web页面;
所述判断模块用于,根据所述第一web页面的URL地址,判断所述第一web页面是否为自定义缓存页面;
所述第一获取模块用于,在所述判断模块判断所述第一web页面为自定义缓存页面时,在确定所述终端设备中缓存有所述第一web页面时,在所述终端设备的缓存中获取所述第一web页面,所述缓存中的web页面为永久性缓存的内容;
所述第二获取模块用于,在所述判断模块判断所述第一web页面不是自定义缓存页面时,向所述页面服务器请求获取所述第一web页面。
7.根据权利要求6所述的装置,其特征在于,所述判断模块具体用于:
判断所述第一web页面的URL地址中是否包括自定义缓存标识符和版本号;
若所述第一web页面的URL地址中包括所述自定义缓存标识符和版本号,则确定所述第一web页面是自定义缓存页面;
若所述第一web页面的URL地址中不包括所述自定义缓存标识符或版本号,则确定所述第一web页面不是自定义缓存页面。
8.根据权利要求6或7所述的装置,其特征在于,所述第一获取模块具体用于:
判断所述终端设备的缓存中是否包括所述第一web页面对应的第二web页面,其中,所述第一web页面和所述第二web页面的页面标识相同;
若是,则判断所述第二web页面和所述第一web页面是否相同,若是,则在所述终端设备的缓存中获取所述第二web页面,并将所述第二web页面确定为所述第一web页面;若否,则向所述页面服务器请求获取所述第一web页面,并将所述缓存中的第二web页面更新为所述第一web页面;
若否,则向页面服务器请求获取所述第一web页面,并将所述第一web页面存储到所述终端设备的缓存中。
9.根据权利要求6或7所述的装置,其特征在于,所述第一web页面的URL地址中的版本号为所述第一web页面的页面标识对应的最新版本号。
10.根据权利要求6或7所述的装置,其特征在于,所述装置还包括实例化模块和替换模块,其中,
所述实例化模块用于,在所述拦截模块拦截终端设备发送的web页面获取请求之前,在确定所述应用程序启动之后,实例化自定义缓存子类,得到自定义缓存对象,所述自定义缓存子类继承于系统缓存类;
所述替换模块用于,将系统缓存对象替换成为所述自定义缓存对象,所述系统缓存对象为所述系统缓存类实例化的对象;
相应的,所述拦截模块具体用于,通过调用所述自定义缓存对象,拦截终端设备向页面服务器发送的web页面获取请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710516090.3A CN107423367B (zh) | 2017-06-29 | 2017-06-29 | Web页面加载方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710516090.3A CN107423367B (zh) | 2017-06-29 | 2017-06-29 | Web页面加载方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107423367A true CN107423367A (zh) | 2017-12-01 |
CN107423367B CN107423367B (zh) | 2020-11-10 |
Family
ID=60426438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710516090.3A Active CN107423367B (zh) | 2017-06-29 | 2017-06-29 | Web页面加载方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107423367B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108924668A (zh) * | 2018-06-11 | 2018-11-30 | 聚好看科技股份有限公司 | 图片加载、数据提供方法及装置 |
CN113535211A (zh) * | 2021-09-15 | 2021-10-22 | 中航信移动科技有限公司 | 应用程序更新方法、装置、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077185A (zh) * | 2012-12-18 | 2013-05-01 | 厦门雅迅网络股份有限公司 | 一种基于对象的自定义扩展信息的方法 |
WO2013174237A1 (en) * | 2012-05-21 | 2013-11-28 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for speeding up web page access |
CN105487640A (zh) * | 2015-12-15 | 2016-04-13 | 北京京东尚科信息技术有限公司 | 一种安卓手表预加载和缓存图片的方法 |
CN105760405A (zh) * | 2014-12-19 | 2016-07-13 | 阿里巴巴集团控股有限公司 | 用于加载web页面的网络资源获取方法、缓存方法及装置 |
CN105847430A (zh) * | 2016-05-20 | 2016-08-10 | 北京小米移动软件有限公司 | 混合应用页面数据访问方法和装置 |
CN106126685A (zh) * | 2016-06-29 | 2016-11-16 | 北京小米移动软件有限公司 | 页面加载方法及装置 |
-
2017
- 2017-06-29 CN CN201710516090.3A patent/CN107423367B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013174237A1 (en) * | 2012-05-21 | 2013-11-28 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for speeding up web page access |
CN103077185A (zh) * | 2012-12-18 | 2013-05-01 | 厦门雅迅网络股份有限公司 | 一种基于对象的自定义扩展信息的方法 |
CN105760405A (zh) * | 2014-12-19 | 2016-07-13 | 阿里巴巴集团控股有限公司 | 用于加载web页面的网络资源获取方法、缓存方法及装置 |
CN105487640A (zh) * | 2015-12-15 | 2016-04-13 | 北京京东尚科信息技术有限公司 | 一种安卓手表预加载和缓存图片的方法 |
CN105847430A (zh) * | 2016-05-20 | 2016-08-10 | 北京小米移动软件有限公司 | 混合应用页面数据访问方法和装置 |
CN106126685A (zh) * | 2016-06-29 | 2016-11-16 | 北京小米移动软件有限公司 | 页面加载方法及装置 |
Non-Patent Citations (1)
Title |
---|
张玉晴等: ""基于HTML5的跨平台移动应用关键技术的研究与实现"", 《工业控制计算机》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108924668A (zh) * | 2018-06-11 | 2018-11-30 | 聚好看科技股份有限公司 | 图片加载、数据提供方法及装置 |
CN108924668B (zh) * | 2018-06-11 | 2021-07-27 | 聚好看科技股份有限公司 | 图片加载、数据提供方法及装置 |
CN113535211A (zh) * | 2021-09-15 | 2021-10-22 | 中航信移动科技有限公司 | 应用程序更新方法、装置、计算机设备及存储介质 |
CN113535211B (zh) * | 2021-09-15 | 2021-12-28 | 中航信移动科技有限公司 | 应用程序更新方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107423367B (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8984058B2 (en) | Pre-fetching remote resources | |
US9594752B2 (en) | Network service system and method with off-heap caching | |
US6792510B1 (en) | System and method for updating a cache | |
CN107463613A (zh) | 页面加载方法及装置 | |
CN109725923A (zh) | 一种软件轻量更新方法、装置及设备 | |
CN107491320A (zh) | 基于混合模式移动应用的载入方法和装置 | |
US9830333B1 (en) | Deterministic data replication with conflict resolution | |
CN108287836A (zh) | 一种资源缓存方法及装置 | |
CN104967542A (zh) | 一种移动端页面的测试方法、装置和系统 | |
JP2009521746A (ja) | プログラム実行サービスウィンドウ | |
CN109784039B (zh) | 移动终端安全运行空间的构建方法、电子设备、存储介质 | |
CN106033322A (zh) | 一种数据存储方法及装置 | |
CN106897610A (zh) | 一种定位保护的方法和装置 | |
CN107423367A (zh) | Web页面加载方法及装置 | |
CN110083341A (zh) | 一种前端开发平台、前端开发方法及页面显示方法 | |
CN109190071A (zh) | 移动端缓存方法及装置 | |
CN106294033A (zh) | 一种多机房缓存同步功能的测试方法及装置 | |
CN110209973A (zh) | 一种网页游戏加载方法及装置 | |
CN106202373A (zh) | 多终端数据处理方法及数据服务器 | |
CN107124627A (zh) | 一种界面排版的更新方法 | |
CN105610809B (zh) | 网络准入控制的方法、装置及系统 | |
US7925487B2 (en) | Replaying distributed systems | |
CN112242933A (zh) | 一种tcpcopy测试方法、装置、介质及设备 | |
CN110209976A (zh) | 一种前端资源的缓存更新方法及计算机设备 | |
CN110286936A (zh) | 热修复方法、装置、电子设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |