iOS开发进阶-DNS解析&Cookie&Ses
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劫持?
网络章节的知识点梳理结束。