iOS面试总结

网络

2019-06-26  本文已影响0人  Jimmy_L_Wang

HTTP请求方式

GET和POST方式的区别?

  1. 从语义的角度来回答(RFC官方文档)

GET:获取资源,安全的,幂等的,可缓存的

POST:处理资源,非安全的,非幂等的,不可缓存的

安全性:不应该引起server端的任何状态变化。,常见的安全性的方式:GET, HEAD, OPTIONS;

幂等性:同一个请求方法执行多次和执行一次的效果完全相同

可缓存性:请求是否可以被缓存(GET, HEAD)

状态码

你都了解哪些状态码,他们的含义是什么?

status_code.png

连接建立流程

三次握手-四次挥手.png

HTTP的特点

持久连接

持久连接.png

提升了网络响应效率

头部字段

head.png

怎样判断一个请求是否结束的?

接收数据的字节数有没有到达Content-length长度的字节数。

Charles抓包原理是怎样的?

利用HTTP的中间人共计漏洞实现的。

中间人攻击.png

中间人作为一个代理服务器,去和客户端与服务端进行双向通信。

HTTPS与网络安全

HTTPS与HTTP有怎样的区别?
HTTPS = HTTP + SSL/TLS
HTTPS是安全的HTTP,他的安全是由SSL/TLS这样一个插在应用层之下,传输层之上这样的一个协议来保障的。

HTTPS连接建立流程是怎样的?

https_传输.png

会话秘钥 = random S + random C + 预主秘钥;

HTTPS都使用了哪些加密手段?为什么?

非对称加密

公钥私钥.png

对称加密

对称加密.png

TCP与UDP

传输层层协议:

UDP

特点:

面向报文.png

功能:

复用分用

复用与分用.png

差错检测

差错检测.png

TCP

特点

无差错.png

超时重传

超时重传.png

确认丢失

确认丢失.png

确认迟到

确认迟到.png

面向字节流

面向字节流.png

流量控制

滑动窗口协议

流量控制.png

拥塞控制

拥塞控制.png

DNS

了解DNS解析吗?

域名到IP地址的映射,DNS解析请求采用UDP数据报,且明文

DNS解析查询方式

递归查询

DNS解析.png

迭代查询

"我告诉你谁可能知道"

迭代查询-DNS.png

DNS解析存在哪些常见的问题?

DNS劫持问题

DNS劫持.png

怎样解决DNS劫持?

httpDNS.png 长连接.png

DNS劫持与HTTP的关系是怎样的?

没有关系,DNS解析发生在HTTP建立连接之前,DNS解析请求使用UDP数据报,端口号53;

DNS解析转发问题

DNS解析转发.png

Session与Cookie

HTTP协议无状态特点的补偿。

Cookie

Cookie主要用来记录用户状态,区分用户;状态保存在客户端。

cookie.png

客户端发送的cookie在http请求报文的Cookie首部字段中;

服务器端设置HTTP响应报文的Set-Cookie首部字段;

怎样修改Cookie?

怎样删除Cookie

怎样保证Cookie的安全?

Session

Session也是用来记录用户状态,区分用户的;状态存放在服务器端。

Session和Cookie的关系是怎样的?

session工作流程.png

总结

HTTP中的GET和POST方式有什么区别?

HTTPS连接建立流程是怎样的?

TCP和UDP有什么区别?

请简述TCP的慢开始过程?

客户端怎样避免DNS劫持?

上一篇 下一篇

猜你喜欢

热点阅读