美文网首页iOS技术点iOS 网络相关
iOS开发进阶-DNS解析&Cookie&Ses

iOS开发进阶-DNS解析&Cookie&Ses

作者: 繁华落尽丶lee | 来源:发表于2018-09-08 09:00 被阅读115次

    课程: 新浪微博资深大牛全方位剖析 iOS 高级面试

    DNS解析

    什么是DNS解析?

    域名到IP地址的映射,DNS解析请求采用UDP数据报且明文的。解析过程,客户端向DNS服务发送域名请求,DNS服务根据域名返回对应的IP地址,客户端根据IP地址请求Server端服务器。

    DNS查询方式?

    递归查询、迭代查询

    DNS解析常见问题?

    DNS劫持问题:因为DNS解析使用UDP数据报且是明文的。客户端发送域名请求时,容易被钓鱼DNS劫持返回错误的IP地址。

    DNS劫持与HTTP有什么关系?

    没有关系,DNS劫持是在HTTP建立连接之前。
    DNS解析通过UDP数据报,访问53端口。

    DNS 劫持解决方案

    HTTPDNS、长连接。

    Session / Cookie

    Session和Cookie是对HTTP协议无状态特点的补偿。在之前学习HTTP协议特点时,提到过Session和Cookie的作用。

    Cookie

    Cookie主要用来记录用户状态,区分用户;状态保存在客户端。客户端向服务器发送请求,服务生成Cookie同响应数据一同返回给客户端,客户端保存Cookie。

    客户端发送的Cookie是在HTTP请求报文的Cookie首部字段中。
    服务端设置HTTP响应报文的Set-Cookie首部字段。

    修改Cookie?

    新Cookie覆盖旧Cookie。
    覆盖时新Cookie字段要与原Cookie一致。
    设置Cookie的expires=过去的时间点,或者maxAge=0,可以删除Cookie。

    Session

    Session主要用来记录用户状态,区分用户;状态保存在服务器端。它是通过服务器来保持状态的。当有客户端访问服务器时,服务器根据需求设置Session,将会话信息保存在服务器上,并返回一个SessionID给客户端,客户端保存到内存中,称之为无过期时间的Cookie。客户端关闭后Cookie被清除,他并没有存在于用户的Cookie临时文件中。

    小结

    HTTP中GET和POST方式有什么区别?
    HTTPS连接建立流程是怎样的?
    TCP和UDP有什么区别?
    请简述TCP的慢启动过程?
    客户端怎样避免DNS劫持?

    网络章节的知识点梳理结束。

    参考

    深入理解Http请求、DNS劫持与解析。

    相关文章

      网友评论

        本文标题:iOS开发进阶-DNS解析&Cookie&Ses

        本文链接:https://www.haomeiwen.com/subject/prlkgftx.html