请问手机应用的埋点和html网页的埋点的不同在哪里?

最近在研究手机设备指纹方面的一些东西,现在发现对网络方面的只是很匮乏,所以想请教一下各位大神。
1.html的埋点好像可以通过写js来实现。那么如果是应用程序例如一个app那么他的埋点通过什么来实现呢?
2.web 和 html 是不是 就是一个东西,还有 app 他们三者之间的关系是什么?
3.html的通信有头部信息,那么app的通信是怎么通信的呢?
4.html的头部信息都包含哪些呢?我知道的是ip等。
5.如果我想知道客户的wifi名称等,针对html 和 app 应该写什么样的代码获取到呢?

最后,以上问题可能问的都有逻辑错误,还请更正。

阅读 3.4k
3 个回答

仅凭一些记忆回答,如有错误也请指正 :)

  1. HTML的埋点实质上就是在事件传输过程中进行拦截并记录日志,应用程序也有事件机制,可以用同样的方式去做埋点。
  2. WEB 是一个系统性的概念,HTML 只是一种技术,App是一个载体。不严谨得说:在混合开发的情况下,App可以呈现HTML界面,而App与后端通讯基于WEB
  3. HTML只是一个标记语言,它没有通讯能力,你所说的头部信息是 HTTP 协议中的内容,HTTPTCP之上的协议,App 可以自由选择使用 TCP/UDP 上的任何协议乃至私有协议进行通信,虽然为了减少开发成本,多数情况下也使用HTTP(s)
  4. 关于 HTTP 的更多规范可以阅读 O'REILLY 出版社的 《HTTP 权威指南》 一书。
  5. 不清楚。

android获取wifi名称的代码

public String getWifiName(Context context) {
    WifiManager manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
    if (manager.isWifiEnabled()) {
       WifiInfo wifiInfo = manager.getConnectionInfo();
       if (wifiInfo != null) {
          DetailedState state = WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState());
          if (state == DetailedState.CONNECTED || state == DetailedState.OBTAINING_IPADDR) {
              return wifiInfo.getSSID();
          }
       }
    }
    return null;
}

iOS获取wifi名称的代码

+ (NSString *)GetCurrentWifiHotSpotName {    
    NSString *wifiName = nil;
    NSArray *ifs = (__bridge_transfer id)CNCopySupportedInterfaces();
    for (NSString *ifnam in ifs) {
        NSDictionary *info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)ifnam);
        if (info[@"SSID"]) {
            wifiName = info[@"SSID"];
        }
    }
    return wifiName;
}

前面人员已经回答了很多,我个人对3、4等问题进行一些补充.

3.html的通信有头部信息,那么app的通信是怎么通信的呢?

html的请求通信有头部信息,估计这里你说说的由客户端程序根据配置生成的请求http时的头,app其实也是一种特例的客户端,所以如果是http请求,也可以根据配置(程序设置)配置头部信息,如果是其他通信方式,可以依据其和后台服务的协议约定进行通信(协议有很多,现在普遍都是http/https 协议而已,你也可以自定协议的,或者在http之类上再次进行封装,只要能合适的传递数据就行)

4.html的头部信息都包含哪些呢?我知道的是ip等。

还是前面客户端问题的延续,其实这些头部信息有些并不是直接由客户端产生的,服务器端接收到的请求http的头信息有些是由路由包装数据包的时候添加上去的,具体你需要认真研究http协议相关内容了。

5.如果我想知道客户的wifi名称等,针对html 和 app 应该写什么样的代码获取到呢?

这个,如果是纯html的应用,估计你实现不了,因为浏览器自身没有这方面接口(安全原因),这样就不能简单的通过html(以及配合javascript)等实现这些信息的获取,如果是app,则你可以通过一些接口获取信息来传输(网络检测方面的原生api的应用)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题