通知:
iOS操作系统层面上的功能,App来了一条通知,系统来了升级通知,代办事项来了一条通知,这里的通知指的是iOS操作系统内的一个功能,更多体现在UI,交互,触发逻辑,通知方式上。
推送:
推送指的是由APNs服务器、ProviderService、iOS系统、App构成的通讯系统,是移动互联网和传统Web最明显的区别的地方。正因为有了推送,实现了服务器能够反向与用户建立联系,而不是等待用户访问Web服务器。
APNs(Apple Push Notification Service - 苹果推送通知服务)
APNs官方文档
APNs是推送的核心。该服务与iOS设备建立强大的持久链接通讯(和间接WatchOS,TVOS,和MacOS设备)。在早期的时候,iOS通过管理AppSSL认证的推送证书与APNs建立起长连接通讯,但不是可靠的通讯。虽有,APNs使用持久链接进行服务器推送。在长期的演变过程中,现在iOS 10提供的APNs服务是基于HTTP/2协议栈同时使用Json Web Token(json令牌)保证通讯安全。
1.iOS 8以后, APNs推送的字节是2k, iiOS 8以前是256字节,iOS 10现在是4K
2.iOS 9以后, APNs支持HTTP/2协议栈,优化长连接,具有标准的HTTP返回的和管道复用技术。
3.iOS 10以后,APNs可根据推送消息的唯一标识符查询某条消息是否被用户阅读,可更新某一推送消息,而不用发多重读的多条信息