`
peacherdiy
  • 浏览: 58042 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何判断http请求是 手机 还是 PC的参考

阅读更多

from : 

http://www.developershome.com/wap/wcss/wcss_tutorial.asp?page=toDiffUserAgents2

 

Before we move on to discuss how to detect user agents, let's first have a look at the steps involved in a typical request-response cycle between a server and a client browser:

  1. The WAP browser requests an XHTML MP page from the server.

  2. The server receives the request and delivers the XHTML MP document to the WAP browser.

  3. The WAP browser receives the XHTML MP document and finds that it contains a <link> tag that references to an external cascading style sheet.

  4. The WAP browser sends another request to the server in order to obtain the WAP CSS cascading style sheet.

  5. The server receives the request and delivers the WAP CSS cascading style sheet to the WAP browser.

  6. The WAP browser receives the WAP CSS file and displays the XHTML MP page according to the style information contained in the WAP CSS file.

  7. The steps repeat when the user selects an anchor link or types a new URL in the WAP browser.

As you can see from above, the only thing that the server receives from the client is the HTTP request. So, to determine the client's user agent, the server needs to rely on the information included in the HTTP request. Below shows a HTTP request example. It is a HTTP request generated by the Nokia 6230 emulator (some headers that are irrelevant to user agent detection are omitted).

 

GET /example.xhtml HTTP/1.1
...
x-wap-profile: "http://nds1.nds.nokia.com/uaprof/N6230r200.xml"
User-Agent: Nokia6230/2.0 (03.14) Profile/MIDP-2.0 Configuration/CLDC-1.1
...

 

Both the profile header and the user-agent header can be used for user agent detection.

The profile header holds the URL to the UAProf (User Agent Profile) document of the wireless device. The UAProf document contains information about the wireless device's characteristics and capabilities such as screen size, character sets supported, number of softkeys supported, etc. The details of the profile header and the UAProf document is out of the scope of this section and it will be covered in a future article.

The user-agent header includes information like the wireless device's name, platform, Java capabilities, etc. The format of the user-agent header value is different for different brands of browsers. For example, the user-agent header format generated by Nokia mobile phone browsers are different from that generated by Sony Ericsson mobile phone browsers. Here is a user-agent header generated by Sony Ericsson Z1010:

 

User-Agent: SonyEricssonZ1010/R1A SEMC-Browser/4.0

 

Note that the user-agent header format may also vary among browsers of the same brand, although the variations are usually small.

Below is the user-agent header found in a HTTP request generated by Microsoft Internet Explorer 6 on Windows 2000:

 

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)

 

As a general rule, you should find the brand name of a mobile phone in its user-agent header value. For example, you should find the brand name "Nokia" in the user-agent header generated by a Nokia mobile phone, and you should find the brand name "SonyEricsson" in the user-agent header generated by a Sony Ericsson mobile phone.

If you find the word "Mozilla" in the user-agent header value, then the client browser should be a desktop web browser like Mozilla and Microsoft Internet Explorer. (Note that we have simplified things a bit here. Actually, the existence of the word "Mozilla" in the user-agent header value only indicates that it is very likely that the user agent is a desktop web browser, but does not mean it must be a desktop web browser. For example, some Nokia Series 60 mobile phones include the word "Mozilla" in their user-agent header to indicate that they are web-capable. However, note that the brand name "Nokia" is still present in their user-agent header value.)

 

 

To read the value of a HTTP header, you need to use a server-side technology like ASP, Java Servlet, JSP, Perl, PHP, etc.

For example, to read the user-agent header value and store it into a variable uaheader with JSP, use the following code:

 

String uaheader = request.getHeader("user-agent");

 

For ASP (VBScript), use the following code to read the user-agent header value:

 

dim uaheader
uaheader = Request.ServerVariables("http_user_agent")

 

For ASP (JScript), use the following code to read the user-agent header value:

 

var uaheader = Request.ServerVariables("http_user_agent");

 

For PHP, use the following code to read the user-agent header value:

 

$uaheader = $_SERVER["HTTP_USER_AGENT"];

分享到:
评论

相关推荐

    PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】

    这就需要我们首先要对访问的客户端进行判断是PC端还是移动端。 本博文讨论使用PHP判断访问端是否是移动端(或是移动端浏览器)从而确定是移动端访问的4种方法: 1、根据 HTTP_X_WAP_PROFILE是否存在进行判断,存在则是...

    vuenodemongodb实现一个锤子手机PC商城

    在本项目中,“vuenodemongodb实现一个锤子手机PC商城”,我们主要关注的是使用Vue.js、Node.js和MongoDB这三个技术栈构建一个基于Web的电子商务平台。这是一套典型的前后端分离架构,Vue.js作为前端框架负责用户...

    OpenWBS 企业建站CMS系统(手机 PC 微信).rar

    OpenWBS是一款基于ASP语言开发的企业级建站内容管理系统(CMS),专为构建手机、PC以及微信端网站提供一体化解决方案。这款系统集成了强大的后台管理功能,帮助企业快速搭建和维护专业且多终端兼容的网站。 首先,...

    android app与pc通信,USB连接socket通信,

    客户端向服务器发起连接请求,服务器接收并响应这个请求,从而形成一个数据传输的通道。 要实现这个功能,我们需要在Android端创建一个USB主机模式(USB Host Mode)的应用,这允许Android设备作为一个USB控制器,...

    12套ASP企业网站源码 PC版+手机版(生动) 自动生成手机版 企业通用 带后台带数据

    在本资源中,"12套ASP企业网站源码 PC版+手机版(生动) 自动生成手机版 企业通用 带后台带数据",提供的是12个完整的ASP企业网站模板,包含PC版和手机版,能够适应不同设备的访问需求。 1. **PC版与手机版兼容性**...

    基于C#的KTV系统源码(服务端、PC+Android手机端).zip

    本篇将深入探讨一个基于C#的KTV系统,包括服务端、PC客户端以及Android手机端的实现细节,旨在为学习C#和毕业设计的同学提供参考。 一、服务端开发 1. **服务端架构**:通常,服务端采用三层架构,包括表示层(UI)...

    Thinkphp驾校在线考试系统源码 手机+PC+平板自适应.zip

    5. **移动适配**:系统采用响应式设计,确保在不同设备上都能提供良好的用户体验,无论是大屏的PC,还是小巧的手机或平板,都能轻松应对。 6. **安全防护**:Thinkphp框架内置的安全机制,配合系统的权限控制和数据...

    ASP源码—MAX6.0电脑手机自适应模板ASP源码 v1.0.zip

    电脑手机自适应设计,通常采用响应式布局(Responsive Web Design, RWD)实现,通过CSS3的媒体查询(Media Queries)来判断设备的屏幕尺寸,然后应用相应的样式规则。这样,无论用户是用台式机、笔记本还是移动设备...

    HTML5踩白块儿手机小游戏特效代码 (兼容PC端和手机移动端).zip

    为了实现跨平台兼容性,开发者可能使用了响应式设计或者框架如Bootstrap,确保游戏在不同尺寸的屏幕,无论是PC还是手机,都能良好显示。CSS3的新选择器和媒体查询使得调整布局和样式变得更为灵活。 此外,HTML5的...

    php自写带后台网址导航源码pc手机自适应_带后台前后端源码

    这是一个基于PHP编写的网址导航系统源码,具备前后台管理功能,且支持PC和手机自适应布局。在深入了解这个源码之前,我们先来看看它的主要组成部分。 1. **前后端分离设计**: 这个源码实现了前端展示与后端逻辑的...

    PHP开发仿湘小林本地网上商城源码PC+手机WAP端.zip

    PC端通常指的是个人计算机上的网页浏览体验,而手机WAP端则针对移动设备,如智能手机和平板电脑,提供了适应较小屏幕和触摸操作的界面。在源码中,开发者会采用响应式设计或者单独为手机端开发适配的页面,确保用户...

    OutPerson 。netpc

    7. **网络通信**: 如果应用通过网络(如Wi-Fi或移动数据)与手机配合,可能涉及HTTP请求、Web服务(SOAP或RESTful)或者特定的API调用,如使用Google SMS Gateway或其他服务商的API。 8. **异步编程**: 为了提高...

    Html微信支付宝收付款充值源码 支持WAP端+PC端.zip

    总之,"Html微信支付宝收付款充值源码 支持WAP端+PC端"是一个综合了前端界面、后端接口集成、移动支付平台API调用以及多终端适配的项目,对于想要开发支付功能的Web开发者来说,是一个有价值的参考和学习资源。

    基于ASP的电脑版+手机版+PC同步更新一体网站 v2.0.zip

    总之,“基于ASP的电脑版+手机版+PC同步更新一体网站 v2.0.zip”是一个涵盖了服务器端编程、数据库管理、前端开发和多平台适配等多个方面的综合项目,对于理解和学习ASP以及网站开发流程具有很高的参考价值。

    开发WAP站点之---使用PC电脑浏览器访问WAP手机站点.rar

    总之,这个资源包对于那些正在进行WAP站点开发或者想要了解如何在PC上测试WAP站点的人来说,是一个宝贵的参考资料。通过学习和实践其中的内容,开发者能够更有效地构建适应移动环境的高质量WAP网站。

    vb6.0移动设备与PC机之间复制文件

    在VB6.0(Visual Basic 6.0)中,实现移动设备,如手机或PDA,与个人计算机(PC)之间的文件复制是一项常见的任务,这通常涉及到串口通信、USB设备驱动程序交互或者通过蓝牙、红外等无线方式。下面我们将深入探讨...

    c#实现pc端和app端手动签字功能

    C#提供了多种选择,如HTTP请求(`System.Net.Http`命名空间)、Web API(ASP.NET的一部分)或SignalR(实时双向通信库)。 6. **安全性**:考虑到签名数据的敏感性,需要确保数据在传输过程中的安全。可以使用HTTPS...

    PHP实例开发源码—2.3内核淡绿唯美小说网站源码 PC+手机版.zip

    《PHP实例开发源码—2.3内核淡绿唯美小说网站源码 PC+手机版》是一套基于PHP编程语言的网站开发源代码,专为构建一个具有PC端和移动端友好界面的小说阅读平台设计。该源码采用了2.3版本的内核,这通常意味着它在性能...

    百度地图API 10分钟(一公里)商业圈,包括手机版和PC版

    **正文** ...总之,通过百度地图API,我们可以轻松构建出10分钟商业圈的功能,无论是在手机还是电脑上,都能为用户提供便捷的周边服务信息查找。熟悉并掌握这些技术,对于开发地理位置相关的应用至关重要。

Global site tag (gtag.js) - Google Analytics