鍍金池/ 問答/HTML5  HTML/ 請問手機應(yīng)用的埋點和html網(wǎng)頁的埋點的不同在哪里?

請問手機應(yīng)用的埋點和html網(wǎng)頁的埋點的不同在哪里?

最近在研究手機設(shè)備指紋方面的一些東西,現(xiàn)在發(fā)現(xiàn)對網(wǎng)絡(luò)方面的只是很匱乏,所以想請教一下各位大神。
1.html的埋點好像可以通過寫js來實現(xiàn)。那么如果是應(yīng)用程序例如一個app那么他的埋點通過什么來實現(xiàn)呢?
2.web 和 html 是不是 就是一個東西,還有 app 他們?nèi)咧g的關(guān)系是什么?
3.html的通信有頭部信息,那么app的通信是怎么通信的呢?
4.html的頭部信息都包含哪些呢?我知道的是ip等。
5.如果我想知道客戶的wifi名稱等,針對html 和 app 應(yīng)該寫什么樣的代碼獲取到呢?

最后,以上問題可能問的都有邏輯錯誤,還請更正。

回答
編輯回答
陌璃

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;
}
2018年4月6日 07:53
編輯回答
冷眸

僅憑一些記憶回答,如有錯誤也請指正 :)

  1. HTML的埋點實質(zhì)上就是在事件傳輸過程中進(jìn)行攔截并記錄日志,應(yīng)用程序也有事件機制,可以用同樣的方式去做埋點。
  2. WEB 是一個系統(tǒng)性的概念,HTML 只是一種技術(shù),App是一個載體。不嚴(yán)謹(jǐn)?shù)谜f:在混合開發(fā)的情況下,App可以呈現(xiàn)HTML界面,而App與后端通訊基于WEB。
  3. HTML只是一個標(biāo)記語言,它沒有通訊能力,你所說的頭部信息是 HTTP 協(xié)議中的內(nèi)容,HTTPTCP之上的協(xié)議,App 可以自由選擇使用 TCP/UDP 上的任何協(xié)議乃至私有協(xié)議進(jìn)行通信,雖然為了減少開發(fā)成本,多數(shù)情況下也使用HTTP(s)。
  4. 關(guān)于 HTTP 的更多規(guī)范可以閱讀 O'REILLY 出版社的 《HTTP 權(quán)威指南》 一書。
  5. 不清楚。
2017年10月19日 13:20
編輯回答
夏夕

前面人員已經(jīng)回答了很多,我個人對3、4等問題進(jìn)行一些補充.

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

html的請求通信有頭部信息,估計這里你說說的由客戶端程序根據(jù)配置生成的請求http時的頭,app其實也是一種特例的客戶端,所以如果是http請求,也可以根據(jù)配置(程序設(shè)置)配置頭部信息,如果是其他通信方式,可以依據(jù)其和后臺服務(wù)的協(xié)議約定進(jìn)行通信(協(xié)議有很多,現(xiàn)在普遍都是http/https 協(xié)議而已,你也可以自定協(xié)議的,或者在http之類上再次進(jìn)行封裝,只要能合適的傳遞數(shù)據(jù)就行)

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

還是前面客戶端問題的延續(xù),其實這些頭部信息有些并不是直接由客戶端產(chǎn)生的,服務(wù)器端接收到的請求http的頭信息有些是由路由包裝數(shù)據(jù)包的時候添加上去的,具體你需要認(rèn)真研究http協(xié)議相關(guān)內(nèi)容了。

5.如果我想知道客戶的wifi名稱等,針對html 和 app 應(yīng)該寫什么樣的代碼獲取到呢?

這個,如果是純html的應(yīng)用,估計你實現(xiàn)不了,因為瀏覽器自身沒有這方面接口(安全原因),這樣就不能簡單的通過html(以及配合javascript)等實現(xiàn)這些信息的獲取,如果是app,則你可以通過一些接口獲取信息來傳輸(網(wǎng)絡(luò)檢測方面的原生api的應(yīng)用)

2017年6月7日 03:16