网站内容的处理方法、终端及服务器与流程

文档序号:11411047阅读:177来源:国知局
网站内容的处理方法、终端及服务器与流程

本发明涉及通信技术领域,更具体地说,涉及一种网站内容的处理方法、终端及服务器。



背景技术:

随着各种智能终端的不断普及,人们对各种网站的浏览需求也在不断提升。而由于不同种类的智能终端,其适配的网站页面尺寸也各不相同,例如,将适配于电脑的网站页面放于手机中显示,则用户在看到整个网页时,网页内容会很小,用户很难看清;若用户针对该部分进行页面放大,则又会导致网页内容显示不全。因此,当前各种较为主流的网站,其设计的网页都会在各种只能终端上(例如桌面电脑、各种制式手机、平板设备和电视设备等)上进行适配,以满足不同屏幕尺寸的需求。

然而,在现有的适配过程中,服务器是根据网站域名来发送与不同种类的终端相适配的网站内容的,但是用户输入的网站域名往往是以“www.”开头的桌面电脑的域名,此时若用户使用的终端为非桌面电脑时,服务器返回的网站内容就会与用户当前使用的终端不匹配,需要该终端进行解析后重新定向网站内容请求,让服务器重新发送与该终端匹配的网站内容。

例如,用户在手机浏览器中输入www.jd.com,此时浏览器会进行dns(domainnamesystem,域名系统)解析,将获取网站内容的请求发送到目标服务器。目标服务器收到该请求之后,由于域名是桌面电脑的域名,因此将适应桌面电脑的网页内容(如html(hypertextmarkuplanguage,超文本标记语言)、css(cascadingstylesheets,层叠样式表)、javascript以及图片等等)以http(hypertexttransferprotocol,超文本传输协议)响应的方式发送给手机浏览器,手机浏览器解析javascript后,发现当前设备的user-agent(用户代理)是手机移动端浏览器,则放弃当前已经接收的网页内容,通过html的dom(documentobjectmodel,文档对象模型)位置重定向到移动端的网站内容请求,此时访问域名变成m.jd.com,此后服务器再次把适应移动终端的网站内容发给手机浏览器。

从上述过程可见,在现有的适配过程中,由于用户输入的域名信息往往是桌面电脑的域名,不会考虑终端的设备类型的问题,因此,一旦用户使用的终端不是桌面电脑,就会导致服务器和终端之间需要进行二次信息交互,极大的浪费了网络资源;同时还会导致浏览器加载网页的时间变长,导致用户体验下降。而在网络环境不好的情况下,浏览器甚至会先显示一下桌面电脑的页面,然后才会再次跳转为适应于用户当前使用的终端浏览的页面,这就导致用户会明显感觉到页面跳动,使浏览器访问效果变差,极大地影响用户体验。



技术实现要素:

本发明要解决的技术问题在于:在现有的网站内容适配过程中,一旦用户输入的域名与用户使用的终端的设备类型不匹配,则会导致终端和服务器需要重新进行一次网站内容的请求与返回,极大的浪费了网络资源,使手机浏览器访问效果变差,极大的影响用户体验。

为解决上述技术问题,本发明提供一种网站内容的处理方法,所述方法包括:

终端对用户输入的网站域名信息进行解析得到目的ip地址信息;

所述终端根据设置的浏览器对应的终端的设备类型生成包含设备类型标识和所述网站域名信息的内容请求报文;

所述终端根据所述目的ip地址信息发送所述内容请求报文。

可选地,所述设备类型标识设置于所述内容请求报文的头部字段中。

可选地,在所述对用户输入的网站域名信息进行解析得到目的ip地址信息之前,所述网站内容的处理方法还包括:

所述终端检测浏览器本身所适配的操作系统,根据所述操作系统设置所述浏览器对应的终端的设备类型;

和/或,

浏览器检测自身所适配的操作系统,根据所述浏览器所适配的操作系统设置所述浏览器对应的终端的设备类型。

可选地,本发明提供了一种网站内容的处理方法,所述方法包括:

服务器对接收到的内容请求报文进行解析,提取所述内容请求报文中的设备类型标识和网站域名信息;

所述服务器根据所述设备类型标识确定目标终端的设备类型;

所述服务器根据所述设备类型和网站域名信息确定与所述设备类型相适配的网站内容;

并向所述目标终端发送所述网站内容。

可选地,所述的网站内容的处理方法还包括:

当提取到的所述内容请求报文中的设备类型标识为空时,所述服务器根据所述内容请求报文中的设备操作系统信息确定目标终端的操作系统;

并基于所述操作系统确定所述目标终端的设备类型,并向所述目标终端发送与所述设备类型相适配的网站内容。

可选地,所述基于所述操作系统确定所述目标终端的设备类型包括:

所述服务器判断所述操作系统是否唯一对应一种设备类型;若是,根据所述操作系统确定目标终端的设备类型;

否则,根据所述内容请求报文中的网站域名信息确定目标终端的设备类型。

可选地,本发明提供了一种终端,所述终端包括:

域名解析模块,用于对用户输入的网站域名信息进行解析得到目的ip地址信息;

报文生成模块,用于根据设置的浏览器对应的终端的设备类型生成包含设备类型标识和网站域名信息的内容请求报文;

报文发送模块,用于根据所述目的ip地址信息发送所述内容请求报文。

可选地,本发明提供了一种服务器,所述服务器包括:

解析提取模块,用于对接收到的内容请求报文进行解析,提取所述内容请求报文中的设备类型标识和网站域名信息;

处理模块,用于根据所述设备类型标识确定目标终端的设备类型,并根据所述设备类型和网站域名信息确定与所述设备类型相适配的网站内容,

发送模块,用于向所述目标终端发送所述网站内容。

可选地,所述发送处理模块用于根据所述设备类型标识确定目标终端的设备类型,并根据所述设备类型和网站域名信息确定与所述设备类型相适配的网站内容包括:

用于在所述解析提取模块提取到的所述内容请求报文中的设备类型标识为空时,根据所述内容请求报文中的设备操作系统信息确定目标终端的操作系统;

还用于基于所述操作系统确定所述目标终端的设备类型;

还用于根据所述设备类型和网站域名信息确定与所述设备类型相适配的网站内容。

可选地,所述处理模块用于根据所述设备类型和网站域名信息确定与所述设备类型相适配的网站内容包括:

用于判断所述操作系统是否唯一对应一种设备类型;

还用于在判断结果为是时,根据所述操作系统确定目标终端的设备类型;

还用于在判断结果为否时,根据所述内容请求报文中的网站域名信息确定目标终端的设备类型。

有益效果

本发明提供的网站内容的处理方法、终端及服务器,终端通过对用户输入的网站域名信息进行解析得到目的ip地址信息,并根据设置的浏览器对应的终端的设备类型生成包含设备类型标识和网站域名信息的内容请求报文,再根据目的ip地址信息对内容请求报文进行发送;服务器在接收到终端发送的内容请求报文之后,解析该内容请求报文,并提取设备类型标识,根据该设备类型标识确定终端的设备类型,并设备类型和网站域名信息向终端返回与该设备类型相适配的网站内容。这样由于终端在发送的内容请求报文中加入了可以告知服务器该终端设备类型的设备类型标识,这就使得服务器在接收到内容请求报文之后,可以按照内容请求报文中的设备类型标识,直接返回与该终端相适配的网站内容,避免了服务器和终端之间对于同一网站内容需要进行二次信息交互,节约了网络资源;而由于其通过一次请求即可得到与终端相适配的网站内容,这也使得浏览器加载网页的时间更短,同时也避免了页面跳动的情况的出现,改善了浏览器访问效果,极大地提升了用户体验。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1为实现本发明各个实施例一个可选的终端的结构示意图;

图2为实现本发明各个实施例一个可选的服务器的结构示意图;

图3为实现本发明各个实施例一个可选的用户、终端和服务器的交互结构示意图;

图4为本发明第一实施例提供的一种网站内容的处理方法的流程示意图;

图5为本发明第一实施例提供的一种基于操作系统来确定设备类型的网站内容处理方法的流程示意图;

图6为本发明第一实施例提供的一种更具体的基于操作系统确定目标终端的设备类型的流程示意图;

图7为本发明第三实施例提供的一种终端的结构示意图;

图8为本发明第三实施例提供的一种更具体的终端的结构示意图;

图9为本发明第三实施例提供的一种服务器的结构示意图;

图10为本发明第四实施例提供的一种浏览器的结构示意图。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

现在将参考附图描述实现本发明各个实施例的终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。

终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、导航装置等等的终端以及诸如数字tv、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。

图1为实现本发明各个实施例一个可选的移动终端的硬件结构示意图。

移动终端100可以包括无线通信单元110、用户输入单元120、输出单元130、存储器140、控制器150等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。将在下面详细描述移动终端的元件。

无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信系统或网络之间的无线电通信。例如,无线通信单元可以包括移动通信模块111、无线互联网模块112等。

移动通信模块111将无线电信号发送到基站(例如,接入点、节点b等等)、外部终端以及服务器中的至少一个和/或从其接收无线电信号。这样的无线电信号可以包括语音通话信号、视频通话信号、或者根据文本和/或多媒体消息发送和/或接收的各种类型的数据。

无线互联网模块112支持移动终端的无线互联网接入。该模块可以内部或外部地耦接到终端。该模块所涉及的无线互联网接入技术可以包括wlan(无线lan)(wi-fi)、wibro(无线宽带)、wimax(全球微波互联接入)、hsdpa(高速下行链路分组接入)等等。

用户输入单元120可以根据用户输入的命令生成键输入数据以控制移动终端的各种操作。用户输入单元120允许用户输入各种类型的信息,并且可以包括键盘、锅仔片、触摸板(例如,检测由于被接触而导致的电阻、压力、电容等等的变化的触敏组件)、滚轮、摇杆等等。特别地,当触摸板以层的形式叠加在显示模块131上时,可以形成触摸屏。

输出单元130被构造为以视觉、音频和/或触觉方式提供输出信号(例如,音频信号、视频信号、警报信号、振动信号等等)。输出单元130可以包括显示模块131、音频输出模块132等等。

显示模块131可以显示在移动终端100中处理的信息。例如,当移动终端100处于电话通话模式时,显示模块131可以显示与通话或其它通信(例如,文本消息收发、多媒体文件下载等等)相关的用户界面(ui)或图形用户界面(gui)。当移动终端100处于视频通话模式或者图像捕获模式时,显示模块131可以显示捕获的图像和/或接收的图像、示出视频或图像以及相关功能的ui或gui等等。

同时,当显示模块131和触摸板以层的形式彼此叠加以形成触摸屏时,显示模块131可以用作输入装置和输出装置。显示模块131可以包括液晶显示器(lcd)、薄膜晶体管lcd(tft-lcd)、有机发光二极管(oled)显示器、柔性显示器、三维(3d)显示器等等中的至少一种。这些显示器中的一些可以被构造为透明状以允许用户从外部观看,这可以称为透明显示器,典型的透明显示器可以例如为toled(透明有机发光二极管)显示器等等。根据特定想要的实施方式,移动终端100可以包括两个或更多显示模块(或其它显示装置),例如,移动终端可以包括外部显示模块(未示出)和内部显示模块(未示出)。触摸屏可用于检测触摸输入压力以及触摸输入位置和触摸输入面积。

音频输出模块132可以在移动终端处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将无线通信单元110接收的或者在存储器140中存储的音频数据转换音频信号并且输出为声音。而且,音频输出模块132可以提供与移动终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出模块132可以包括扬声器、蜂鸣器等等。

存储器140可以存储由控制器150执行的处理和控制操作的软件程序等等,或者可以暂时地存储己经输出或将要输出的数据(例如,电话簿、消息、静态图像、视频等等)。

存储器140可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等等。而且,移动终端100可以与通过网络连接执行存储器140的存储功能的网络存储装置协作。

控制器150通常控制移动终端的总体操作。例如,控制器150执行与语音通话、数据通信、视频通话等等相关的控制和处理。控制器150可以执行模式识别处理,以将在触摸屏上执行的手写输入或者图片绘制输入识别为字符或图像。

这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(asic)、数字信号处理器(dsp)、数字信号处理装置(dspd)、可编程逻辑装置(pld)、现场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器150中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器140中并且由控制器150执行。

如图2所示,为实现本发明各个实施例一个可选的服务器的结构示意图,该服务器20至少包括:输入输出(io)总线21、处理器22、存储器23、内存24和通信装置25。其中,

输入输出(io)总线21分别与自身所属的服务器的其它部件(处理器22、存储器23、内存24和通信装置25)连接,并且为其它部件提供传送线路。

处理器22通常控制自身所属的服务器的总体操作。例如,处理器22执行计算和确认等操作。其中,处理器22可以是中央处理器(cpu)。

通信装置25,通常包括一个或多个组件,其允许自身所属的服务器与无线通信系统或网络之间的无线电通信。

存储器23存储处理器可读、处理器可执行的软件代码,其包含用于控制处理器22执行本文描述的功能的指令(即软件执行功能)。

其中,本发明提供的服务器中,实现解析提取模块、处理模块和发送模块的功能的软件代码可存储在存储器23中,并由处理器22执行或编译后执行。

内存24,一般采用半导体存储单元,包括随机存储器(ram),只读存储器(rom),以及高速缓存(cache),ram是其中最重要的存储器。内存24是计算机中重要的部件之一,它是与cpu22进行沟通的桥梁,计算机中所有程序的运行都是在内存中进行的,其作用是用于暂时存放cpu22中的运算数据,以及与硬盘等外部存储器交换的数据,只要计算机在运行中,cpu22就会把需要运算的数据调到内存中进行运算,当运算完成后cpu22再将结果传送出来。

如图3所示,为实现本发明各个实施例一个可选的用户、终端和服务器的交互结构示意图,应当理解的是,在各个实施例中,用户、终端、服务器之间通过交互实现本发明的方案的。其中,用户与终端之间可直接进行信息交互,而终端与服务器之间可直接进行信息交互。

以下通过具体实施例进行详细说明。

第一实施例

为保证服务器可以在接收到终端发送的内容请求报文后可以返回与该终端的设备类型相适配的网站内容,本实施例提供了一种网站内容的处理方法,参照图4,图4为本发明第一实施例提供的网站内容的处理方法的流程示意图,包括:

s401:终端对用户输入的网站域名信息进行解析得到目的ip地址信息;

应当理解的是,在本实施例中,用户在输入网站域名信息(即网址信息,例如www.jd.com等)之后,浏览器即会对该网站域名信息进行解析,从而得到该网站对应的目标服务器的ip地址信息。而后,终端根据该ip地址信息即可将内容请求报文发送至目标服务器,以请求获取该网站的网站内容。

s402:终端根据设置的浏览器对应的终端的设备类型生成包含设备类型标识和网站域名信息的内容请求报文;

本实施例中设备类型包括桌面设备、移动设备、平板设备、电视设备、以及其它诸如智能穿带设备等不常见的设备类型。

本实施例中,设备类型标识可以是满足内容请求报文设定规则的、能被服务器识别的任意字符或字段,例如数字1、2、3等,或字段devicetype/a、devicetype/b、devicetype/c等。

值得注意的是,本实施例中,一个设备类型标识必然唯一表征一种移动设备类型。例如,以0表征桌面设备,则此后不能再用0表征其他设备类型。

s403:终端根据目的ip地址信息发送内容请求报文。

在本实施例中,根据目的ip地址信息发送给服务器的内容请求报文可以是http请求报文,而设备类型标识可以设置于内容请求报文的头部字段中。

s404:服务器对接收到的内容请求报文进行解析,提取内容请求报文中的设备类型标识和网站域名信息;

应当理解的是,服务器只有在对接收到的内容请求报文进行解析之后,才能提取出设备类型标识和网站域名信息。

s405:服务器根据设备类型标识确定目标终端的设备类型;

应当理解的是,在本实施例中,服务器中存有设备类型标识与设备类型之间的对应关系,服务器通过该对应关系可以对应确定出一个设备类型标识所表征的设备类型是什么。

s406:服务器根据设备类型和网站域名信息确定与该设备类型相适配的网站内容;

本实施例中,设备类型可能为空,即该向服务器发送内容请求报文的终端未在内容请求报文中加入设备类型标识,此时,一种可行的方法是根据目标终端的操作系统来确定设备类型。

s407:服务器向目标终端发送该网站内容。

本实施例中,目标终端接收到的网站内容即为与该终端的设备类型适配的网站内容,可直接显示给用户。

应当注意的是,本实施例中步骤s401-s403是终端操作的,步骤s404-s407是服务器操作的。

本实施例中,当终端设置的设备类型标识为字符时,为保证服务器可以知道内容请求报文的头部字段中的哪一个才为设备类型标识,可以与服务器协商,约定在头部字段中的某一具体位置的字符即为设备类型标识,比如头部字段中的最后一个字符。

以桌面设备的http请求报文为例,设a表征桌面设备。在此,我们需要知道现有的http请求报文的头部字段中,其通常包含设备的应用程序类型、操作系统等信息,但不包含设备类型标识。例如“mozilla/5.0(x11;linuxx86_64)applewebkit/537.36(khtml,likegecko)chrome/51.0.2704.103safari/537.36”,表示的是linux系统下的chrome浏览器的http请求。而根据本实施的报文生成规则,其生成之后的http请求报文头部字段即为:“mozilla/5.0(x11;linuxx86_64)applewebkit/537.36(khtml,likegecko)chrome/51.0.2704.103safari/537.36,a”,此时即可表示:在linux系统下的桌面设备中的chrome浏览器的http请求。这样服务器接收到该http请求报文之后,通过协商好的规则,即可明白该报文头部字段中的最后一个字符a即表征终端的设备类型为桌面设备。

应当理解的是,当设备类型标识为字段时,为保证服务器可以知道该字段即为设备类型标识,可以将该字段中的一部分用于设置标识名,例如字段devicetype/a中的devicetype即为设置的标识名。这样服务器收到该报文之后即可根据标识名devicetype找到整个标识设备类型标识devicetype/a,并以此得到终端的设备类型。

本实施例中,在对用户输入的网站域名信息进行解析得到目的ip地址信息之前,或是在用户输入的网站域名信息之前,需要先对浏览器对应的终端的设备类型进行设置。

在本实施例中,对于浏览器对应的终端的设备类型的设置可以是自动设置,此时,一种可行的方式是:

浏览器检测自身所适配的操作系统,然后再根据浏览器所适配的操作系统确定浏览器对应的终端的设备类型。

例如,浏览器为适用于android(安卓)设备的浏览器,那么其自身所适配的操作系统即为android系统,而由于android系统是用于手机的操作系统,终端从而设置浏览器对应的终端的设备类型为移动设备。

应当理解的是,当前应用提供商在提供浏览器应用时,会根据不同的终端设备内核从而提供不同版本的浏览器,例如android版的浏览器、ios版的浏览器、和pc端浏览器等。这样由于在终端中最初安装或之后下载的浏览器,其均只能用于特定类型的终端设备中,例如android版的浏览器即无法在苹果手机以及电脑上运行,由此,根据浏览器所适配的操作系统即可自动确定浏览器对应的终端的设备类型。

应当理解的是,本实施例中操作系统与浏览器对应的终端的设备类型之间的对应关系可以通过图表等形式伴随浏览器的安装同时存储于终端中,浏览器在检测到自身所适配的操作系统之后即可通过该存储的对应关系找到对应的设备类型。

应当理解的是,在本实施例中,对于可兼容多种操作系统的浏览器,其设备类型可以通过用户进行手动设置,通过用户进行手动设置的具体方式详见后文。

应当理解的是,在本实施例中,对于所适配的操作系统可用于多种设备类型的浏览器,其设备类型也可以通过用户进行手动设置。

在本实施例中,对于浏览器对应的终端的设备类型进行自动设置的另一种可行方式是:

获取终端的尺寸信息,然后再根据获取的尺寸信息来确定浏览器对应的终端的设备类型。

具体的,终端可以调用api(applicationprogramminginterface,应用程序接口)接口,获取终端中之前写入的终端基本信息中尺寸信息。

根据获取到的尺寸信息,判断其处于哪一个尺寸范围内,并以此对应确定当前浏览器所在的终端的设备类型。

应当理解的是,本实施例中尺寸范围与设备类型之间的对应关系可以通过图表等形式伴随浏览器的安装同时存储于终端中,终端在检测到自身的尺寸之后即可找到其落入的尺寸范围,然后通过该存储的对应关系找到对应的设备类型。例如,终端在检测到自身的尺寸为5寸,即落入移动设备的尺寸范围内,终端从而设置浏览器对应的终端的设备类型为移动设备。

应当理解的是,在本实施例中,对于终端尺寸大小落入两种或两种以上设备类型的尺寸范围内时,其设备类型可以通过用户进行手动设置。

应当理解的是,在本实施例中,对于终端尺寸大小未落入设定的尺寸范围内时,其设备类型可以通过用户进行手动设置。

在本实施例中,对于浏览器对应的终端的设备类型的设置还可以是通过用户手动进行设置的,此时终端会接收用户输入的设备类型信息,并根据用户输入的设备类型信息来进行浏览器对应的终端的设备类型设置。

比如,在浏览器中设置一个设备类型输入框,用户在该输入框中输入设备类型信息,比如手机、电脑等,终端对该输入的设备类型信息进行解析,得到对应的设备类型,并设置。例如用户输入手机,则终端根据内部存储的信息对应关系表找到手机对应的设备类型为移动设备,然后设置浏览器对应的终端的设备类型为移动设备。

应当理解的是,上例中的方式需要用户通过打字等方式来输入设备类型信息,且用户输入的信息必须存在信息对应关系表中才行,过程较复杂,操作不便,因此一种较好的方式是在浏览器的设置页面中设置一个设备类型选择菜单,用户通过点击该选择菜单从中选中菜单中给出的某一种设备类型,以此来实现对设备类型信息的输入,这样,终端即可直接根据用户选中的设备类型来设置浏览器对应的终端的设备类型。值得注意的是,用户在选中菜单选择设备类型的过程实际就是用户对设备类型信息的输入过程。

本实施例中,在用户对设备类型进行手动设置之前,浏览器可以设置有缺省设备类型(即默认设备类型)。该缺省设备类型的设置可以是浏览器通过上述自动设置方式进行自动设置的;也可以是浏览器的应用提供商在浏览器应用中预先设置好的。

本实施例中,可以将上述对浏览器的设置功能集成到一个插件或一款应用中,由此来实现对终端上下载的所有浏览器进行统一的设备类型设置,使得用户在下载了新的浏览器并通过其上网时,仍旧可以通过一次交互实现适配的网站内容的获取,进一步提升了用户体验。

本实施例中,若服务器提取到的内容请求报文中的设备类型标识为空,即该向服务器发送内容请求报文的终端未在内容请求报文中加入设备类型标识,此时,为提高服务器对终端类型的辨识准确率,尽可能地保证返回的网站内容与目标终端之间适配成功的概率,本实施例还提供了一种基于操作系统来确定设备类型的网站内容处理方法,参见图5,包括:

s501:根据内容请求报文中的设备操作系统信息确定目标终端的操作系统;

应当理解的是,根据现有的内容请求报文的生成规则,在内容请求报文的头部字段中,通常包含有设备的操作系统信息。例如在“mozilla/5.0(x11;linuxx86_64)applewebkit/537.36(khtml,likegecko)chrome/51.0.2704.103safari/537.36”这一http请求报文头部字段中,服务器解析该http请求报文之后,即可得到该请求报文中的操作系统信息“linuxx86_64”,由此服务器可以确定目标终端的操作系统即为64位的linux操作系统。

s502:基于该操作系统确定目标终端的设备类型;

应当理解的是,对于某些操作系统,其仅对应用于某一种类型的设备中,此时即可实现根据操作系统对设备类型的确定;例如macosx系统仅运行于苹果macintosh系列电脑上,由此服务器可以根据macosx系统确定目标终端的设备类型为桌面设备,对于这类仅对应用于某一种类型的设备的操作系统还有android、ios、windowsxp、windows8、windows10、windowsphone等。由于这类操作系统的存在,使得服务器在某些时候可以根据操作系统确定目标终端的设备类型。

s503:向目标终端发送与设备类型相适配的网站内容。

应当理解的是,本实施例中的目标终端即为发送内容请求报文的终端,也即服务器返回网站内容的终端。

在本实施例中,一种基于操作系统确定目标终端的设备类型具体过程参见图6,包括:

s601:判断操作系统是否唯一对应一种设备类型,若是,转至s602;否则,转至s603;

应当理解的是,对于某些操作系统,其可以应用于两种或两种以上类型的设备中,例如linux系统等。

s602:根据操作系统确定目标终端的设备类型。

应当理解的是,在本实施例中,服务器可以将操作系统与设备类型之间的对应关系通过图表等形式保存起来,从而实现根据操作系统确定目标终端的设备类型的操作。

s603:根据内容请求报文中的网站域名信息确定目标终端的设备类型。

应当理解的是,在本实施例中,对于如linux系统等可以应用于两种或两种以上类型的设备中的操作系统,服务器无法根据操作系统确定目标终端的设备类型,此时仍旧按照现有技术的方式,根据网站域名信息来确定目标终端的设备类型。

值得注意的是,本实施例中的各个步骤可以由如图1所示的终端和如图2所示的服务器来分别完成,具体的,对用户输入的网站域名信息进行解析和内容请求报文的生成的过程可以由如图1所示的终端的控制器150完成,而对浏览器对应的终端的设备类型的设置过程则可以由用户输入单元120、存储器140和控制器150共同来完成,此外对于内容请求报文的发送过程则可以由无线通信单元110来完成。而对内容请求报文的接收以及对网站内容的发送过程则由如图2所示的服务器的通信装置25来完成,而对于内容请求报文的解析以及设备类型的确定过程则可以由22、存储器23和内存24来共同完成。

本实施例提供的网站内容的处理方法,通过发送包含设备类型标识的内容请求报文给服务器;使得服务器可以根据该设备类型标识确定终端的设备类型,并向终端返回与该设备类型相适配的网站内容。这样由于终端在发送的内容请求报文中加入了可以告知服务器该终端设备类型的设备类型标识,这就使得服务器在接收到内容请求报文之后,可以按照内容请求报文中的设备类型标识,直接返回与该终端相适配的网站内容,避免了服务器和终端之间对于同一网站内容需要进行二次信息交互,节约了网络资源;而由于其通过一次请求即可得到与终端相适配的网站内容,这也使得浏览器加载网页的时间更短,同时也避免了页面跳动的情况的出现,改善了浏览器访问效果,极大地提升了用户体验。

第二实施例

为更好的理解本发明的技术方案,本实施例在第一实施例的基础上,以内容请求报文为http请求报文,设备类型标识设置于http请求报文头部字段的末尾,用户可手动进行设备类型的设置,且浏览器对设备类型设置有缺省值的情况为例,对本发明作进一步的示例说明。

设:设备类型标识包含标识名部分“devicetype”;设:0表征桌面设备,1表征移动设备,2表征平板设备,3表征电视设备;设:用户当前使用终端为手机。

首先,用户进入浏览器进行浏览器设备类型的设置,由于浏览器本身设有缺省值,该步骤可跳过;

然后,在用户在地址栏中输入要访问的网站域名开始进行网页浏览时,手机浏览器将该网站域名解析成ip地址,并生成在头部字段中包含设备类型标识的http请求报文(本实施例中设备类型标识为devicetype/1),并向目标网站服务器发送该http请求报文以请求获取网站内容;

服务器接收并解析由该手机发送来的http请求报文,提取该http请求报文中的设备类型标识:devicetype/1;

服务器根据存有的设备类型标识与设备类型之间的对应关系,即可确定发送该http请求报文的设备的设备类型为移动设备。

此后,服务器根据确定的设备类型,将适应手机浏览的网站内容返回给该手机;

手机接收到服务器返回的网站内容之后,浏览器解析该网站内容,并将其渲染出来,以便让用户进行操作。

本实施例提供的网站内容的处理方法,通过在http请求报文中加入设备类型标识,使得服务器可以直接确定终端的设备类型并返回适配的网站内容。使得服务器与终端之间可一次性实现对网站内容的请求与返回,节约了网络资源,加快了浏览器对网页的加载,同时也避免了页面跳动的情况的出现,改善了浏览器访问效果,提升了用户体验。

第三实施例

本实施例提供了一种终端,参照图7,图7为本发明第三实施例提供的一种终端的结构示意图,包括:

域名解析模块71,用于对用户输入的网站域名信息进行解析得到目的ip地址信息;

报文生成模块72,用于根据设置的浏览器对应的终端的设备类型生成包含设备类型标识和网站域名信息的内容请求报文;

报文发送模块73,用于根据目的ip地址信息发送内容请求报文。

应当理解的是,在本实施例中,用户在输入网站域名信息之后,浏览器即会对该网站域名信息进行解析,从而得到该网站对应的目标服务器的ip地址信息。而后,终端根据该ip地址信息即可将内容请求报文发送至目标服务器,以请求获取该网站的网站内容。

还应当理解的是,在本实施例中,浏览器对应的终端的设备类型即为浏览器对应的终端的设备类型。本实施例中设备类型包括桌面设备、移动设备、平板设备、电视设备、以及其它诸如智能穿带设备等不常见的设备类型。

本实施例中,设备类型标识可以是满足内容请求报文设定规则的、能被服务器识别的任意字符或字段,例如字母a、b、c等,或字段devicetype/1、devicetype/2、devicetype/3等。

值得注意的是,本实施例中,一个设备类型标识必然唯一表征一种移动设备类型。例如,以b表征移动设备,则此后不能再用b表征其他设备类型。

在本实施例中,对于服务器的内容请求报文可以是http请求报文,而设备类型标识可以设置于内容请求报文的头部字段中。

应当理解的是,当设备类型标识为字符时,为保证服务器可以知道内容请求报文的头部字段中的哪一个才为设备类型标识,可以与服务器协商,约定在头部字段中的某一具体位置的字符即为设备类型标识,比如头部字段中的最后一个字符。

应当理解的是,当设备类型标识为字段时,为保证服务器可以知道该字段即为设备类型标识,可以将该字段中的一部分用于设置标识名,例如字段devicetype/a中的devicetype即为设置的标识名。这样服务器收到该报文之后即可根据标识名devicetype找到整个标识设备类型标识devicetype/a,并以此得到终端的设备类型。

本实施例中,参见图8,终端还包括系统设置模块74,用于在域名解析模块71工作前,或是在用户输入的网站域名信息之前,对浏览器对应的终端的设备类型进行设置。

在本实施例中,系统设置模块74对于浏览器对应的终端的设备类型的设置可以是自动设置,此时,一种可行的设置方式是:

系统设置模块74检测浏览器所适配的操作系统,然后再根据浏览器所适配的操作系统确定浏览器对应的终端的设备类型。

应当理解的是,当前应用提供商在提供浏览器应用时,会根据不同的终端设备内核从而提供不同版本的浏览器,例如android版的浏览器、ios版的浏览器、和pc端浏览器等。这样由于在终端中最初安装或之后下载的浏览器,其均只能用于特定类型的终端设备中,例如android版的浏览器即无法在苹果手机以及电脑上运行,由此,系统设置模块74根据浏览器所适配的操作系统即可自动确定浏览器对应的终端的设备类型。

应当理解的是,本实施例中操作系统与浏览器对应的终端的设备类型之间的对应关系可以通过图表等形式伴随浏览器的安装同时存储于终端中,系统设置模块74在检测到浏览器自身所适配的操作系统之后即可通过该存储的对应关系找到对应的设备类型。

应当理解的是,在本实施例中,对于可兼容多种操作系统的浏览器,其设备类型可以通过用户进行手动设置。

在本实施例中,系统设置模块74对于浏览器对应的终端的设备类型进行自动设置的另一种可行方式是:

系统设置模块74获取终端的尺寸信息,然后再根据获取的尺寸信息来确定浏览器对应的终端的设备类型。

具体的,系统设置模块74可以调用api接口,获取终端中之前写入的终端基本信息中尺寸信息;根据获取到的尺寸信息,判断其处于哪一个尺寸范围内,并以此对应确定当前浏览器所在的终端的设备类型。

应当理解的是,本实施例中尺寸范围与设备类型之间的对应关系可以通过图表等形式伴随浏览器的安装同时存储于终端中,终端在检测到自身的尺寸之后即可找到其落入的尺寸范围,然后通过该存储的对应关系找到对应的设备类型。

应当理解的是,在本实施例中,对于终端尺寸大小落入两种或两种以上设备类型的尺寸范围内时,其设备类型可以通过用户进行手动设置。

应当理解的是,在本实施例中,对于终端尺寸大小未落入设定的尺寸范围内时,其设备类型可以通过用户进行手动设置。

在本实施例中,系统设置模块74对于浏览器对应的终端的设备类型的设置还可以是通过用户手动进行设置的,此时系统设置模块74会接收用户输入的设备类型信息,并根据用户输入的设备类型信息来进行浏览器对应的终端的设备类型设置。

本实施例中,在用户对设备类型进行手动设置之前,浏览器可以设置有缺省设备类型(即默认设备类型)。该缺省设备类型的设置可以是系统设置模块74通过上述自动设置方式进行自动设置的;也可以是浏览器的应用提供商在浏览器应用中预先设置好的。

本实施例中,可以将上述系统设置模块74对浏览器对应的终端的设备类型设置功能集成到一个插件或一款应用中,由此来实现对终端上下载的所有浏览器进行统一的设备类型设置,使得用户在下载了新的浏览器并通过其上网时,仍旧可以通过一次交互实现适配的网站内容的获取,进一步提升了用户体验。

本实施例还提供了一种服务器,参见图9,图9为本发明第三实施例提供的一种服务器的结构示意图,包括:

解析提取模块91,用于对接收到的内容请求报文进行解析,提取所述内容请求报文中的设备类型标识和网站域名信息;

处理模块92,用于根据设备类型标识确定目标终端的设备类型,并根据所述设备类型和网站域名信息确定与所述设备类型相适配的网站内容;

发送模块93,用于向目标终端发送该网站内容。

应当理解的是,在本实施例中,服务器中存有设备类型标识与设备类型之间的对应关系,服务器通过该对应关系可以对应确定出一个设备类型标识所表征的设备类型是什么。

在本实施例中,解析提取模块91提取到的内容请求报文中的设备类型标识可能为空,即该向服务器发送内容请求报文的终端未在内容请求报文中加入设备类型标识,此时,为提高服务器对终端类型的辨识准确率,尽可能地保证返回的网站内容与目标终端之间适配成功的概率,处理模块92还用于在解析提取模块91提取到的内容请求报文中的设备类型标识为空时,根据内容请求报文中的设备操作系统信息确定目标终端的操作系统,并基于操作系统确定目标终端的设备类型,再根据设备类型和网站域名信息确定与设备类型相适配的网站内容。

此后,发送模块93即可将该与设备类型相适配的网站内容发送给目标终端。

应当理解的是,根据现有的内容请求报文的生成规则,在内容请求报文的头部字段中,通常包含有设备的操作系统信息。

应当理解的是,本实施例中的目标终端即为发送内容请求报文的终端,也即服务器返回网站内容的终端。

应当理解的是,对于某些操作系统,其仅对应用于某一种类型的设备中,此时即可实现根据操作系统对设备类型的确定;例如macosx系统仅运行于苹果macintosh系列电脑上,由此服务器可以根据macosx系统确定目标终端的设备类型为桌面设备,对于这类仅对应用于某一种类型的设备的操作系统还有android、ios、windowsxp、windows8、windows10、windowsphone等。由于这类操作系统的存在,使得处理模块92在某些时候可以根据操作系统确定目标终端的设备类型。

应当理解的是,对于某些操作系统,其可以应用于两种或两种以上类型的设备中,例如linux系统等。因此,处理模块92在用于根据所述设备类型和网站域名信息确定与所述设备类型相适配的网站内容包括:

用于判断所述操作系统是否唯一对应一种设备类型;

还用于在判断结果为是时,根据所述操作系统确定目标终端的设备类型;

还用于在判断结果为否时,根据所述内容请求报文中的网站域名信息确定目标终端的设备类型。

也即,对于可以应用于两种或两种以上类型的设备中的操作系统,处理模块92无法根据操作系统确定目标终端的设备类型,此时仍旧按照现有技术的方式,根据网站域名信息来确定目标终端的设备类型。

值得注意的是,本实施例中的终端和服务器的具体结构也可以由如图1和如图2所示,此时域名解析模块71、报文生成模块72和系统设置模块74可以设置于如图1所示的终端的控制器150内,其功能可以由控制器150来完成,报文发送模块73可以设置于无线通信单元110内,其功能可以由无线通信单元110来完成。而实现解析提取模块91和处理模块92的功能的软件代码可存储在如图2所示的服务器的存储器23中,并由处理器22执行或编译后执行。

本实施例提供的终端和服务器,通过终端发送包含设备类型标识的内容请求报文给服务器;使得服务器可以根据该设备类型标识确定终端的设备类型,并向终端返回与该设备类型相适配的网站内容。这样由于终端在发送的内容请求报文中加入了可以告知服务器该终端设备类型的设备类型标识,这就使得服务器在接收到内容请求报文之后,可以按照内容请求报文中的设备类型标识,直接返回与该终端相适配的网站内容,避免了服务器和终端之间对于同一网站内容需要进行二次信息交互,节约了网络资源;而由于其通过一次请求即可得到与终端相适配的网站内容,这也使得浏览器加载网页的时间更短,同时也避免了页面跳动的情况的出现,改善了浏览器访问效果,极大地提升了用户体验。

第四实施例

为更好的理解本发明的技术方案,本实施例在第三实施例的基础上,以内容请求报文为http请求报文,设备类型标识设置于http请求报文头部字段的末尾,用户可手动进行设备类型的设置,且浏览器对设备类型设置有缺省值的情况,以及http请求报文不包含设备类型标识这两种情况为例,对本发明作进一步的示例说明。

设:用户当前使用终端为安卓手机。

示例1:

设:设备类型标识包含标识名部分“devicetype”;设:0表征桌面设备,1表征移动设备,2表征平板设备,3表征电视设备。

参见图10,图10为本实施例提供的一种浏览器1000的结构示意图,包括:地址栏单元10001、系统设置单元10002、内容解析单元10003、网站内容渲染单元10004、http单元10005和dns解析单元10006。

应当理解的是,对于地址栏单元10001和系统设置单元10002可以设置于浏览器1000的app层1001,app1001层主要用于浏览器与用户之间进行人机交互;对于内容解析单元10003和网站内容渲染单元10004可以设置于浏览器1000的核心层1002,浏览器的核心层1002主要用于对接收到的数据进行解析并展示给用户;对于http单元10005和dns解析单元10006可以设置于浏览器1000的网络协议层1003,网络协议层1003主要用于与服务器之间进行数据交互。

具体的,用户可以通过在系统设置单元10002进行浏览器设备类型的设置,由于浏览器本身设有缺省值,用户也可以选择不进行浏览器设备类型的设置,直接使用缺省设备类型;

此后,地址栏单元10001可以接收用户在地址栏中输入的要访问的网站域名,并将之交由网络协议层1003的dns解析单元10006进行解析,得到网站服务器的ip地址,并由http单元10005生成在头部字段中包含设备类型标识“devicetype/1”的http请求报文,并按照网站服务器的ip地址发送给该目标网站服务器。

服务器的接收并解析由该手机发送来的http请求报文,提取该http请求报文中的设备类型标识:devicetype/1;

服务器的解析提取模块根据存有的设备类型标识与设备类型之间的对应关系,即可确定发送该http请求报文之设备的设备类型为移动设备。

此后,服务器的发送处理模块即可根据确定的设备类型,将适应手机浏览的网站内容发送给该手机;

手机接收到服务器返回的网站内容之后,通过核心层1002的内容解析单元解析该网站内容,并通过网站内容渲染单元10004将其渲染出来,以便让用户进行操作。

示例2:

此时http请求报文不包含设备类型标识,因此浏览器1000app层1001的系统设置单元10002将不再用于进行浏览器设备类型的设置,整个浏览器在工作时:首先地址栏单元10001会接收用户在地址栏中输入的要访问的网站域名,并将之交由网络协议层1003的dns解析单元10006进行解析,得到网站服务器的ip地址,并由http单元10005生成http请求报文(该请求报文中即不包含设备类型标识),并按照网站服务器的ip地址发送给该目标网站服务器。

服务器的解析提取模块接收并解析由该安卓手机发送来的http请求报文之后,由操作系统确定单元根据该http请求报文中的操作系统信息确定发送该http请求报文的设备的操作系统为安卓操作系统。

之后设备类型确定单元根据确定的安卓操作系统通过操作系统与设备类型之间的对应关系,即可确定发送该http请求报文之设备的设备类型为移动设备。

此后,服务器的内容发送单元即可根据确定的设备类型,将适应手机浏览的网站内容发送给该安卓手机;

该安卓手机接收到服务器返回的网站内容之后,通过核心层1002的内容解析单元10003解析该网站内容,并通过网站内容渲染单元10004将其渲染出来,以便让用户进行操作。

本实施例提供的终端和服务器,通过在http请求报文中加入设备类型标识,使得服务器可以直接确定终端的设备类型并返回适配的网站内容,使得服务器与终端之间可一次性实现对网站内容的请求与返回,节约了网络资源,加快了浏览器对网页的加载,同时也避免了页面跳动的情况的出现,改善了浏览器访问效果;同时,在服务器接收到的http请求报文中不含设备类型标识时,通过http请求报文中的操作系统信息进行设备类型的判定,提高了服务器对终端类型的辨识准确率,较大限度地保证了返回的网站内容与目标终端之间适配成功的概率,进一步提升了用户体验。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1