iOS 网络

1.http介绍

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

请求报文:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

响应报文

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

 

2.http的请求方式有哪些?

get post  head put delete options

3.get和post方式的区别(rfc官方文档)

get请求参数以?分割拼接到url后面,post请求参数在body里面

get参数长度限制2048个字符,post没有限制

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

安全性:不应该引起server端的任何状态变化:get head options

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

可缓存的:请求是否可以被缓存(代理服务器的缓存)

 

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

301 301 网络重定向       401 404  客户的发起的请求本身存在问题   501 server端有问题

 

4.连接建立流程

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

ps:为什么是三次握手而不是两次?

如果第一次握手超时,客户端会启动超时重传策略,如果这时候超时到达server,就会出现两次tcp连接,最后一次就是为了确定只建立一个

ps:4次挥手,前两次后只是客户端到服务器端口连接断开,后两次是服务端到客户端的断开(全双工)

 

5.http的特点

无连接(有一个建立和释放连接的过程)  解决:http的持久连接

           持久连接使用:头部字段:Connection:keep-alive   time:20    max:10

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

           Content-length:1024(接受的数据长度是否达到这个长度)

           chunked,最后会有一个空的chunked

无状态(无法记录同一个用户)解决:Cookie/Session

 

6.Charles抓包原理是怎样的?

          中间人攻击:中间人劫持hold,假冒客户端身份,发送请求,server返回给中间人,中间人再返回给client

          20181220230206975.png

 

7.https和http的区别

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

SSL/TLS在应用层之下,传输层之上

 

8.https的连接建立流程?

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

20181220230950488.png

9.TCP/UDP

20181220231441250.png

10.UDP特点:

无连接                     尽最大努力交付 

面向报文(既不合并,也不拆分)

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

功能:复用    分用      差错检测

复用分用:(原端口和目的端口来分发数据)

     watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

差错检测:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

(ps:借鉴差错检测可以用来对数据进行正确性的验证)

 

11.TCP的特点:

面向连接    可靠传输   面向字节流    流量控制  拥塞控制

面向连接:数据传输之前,需要建立连接(三次握手)

                  数据传输结束之后,需要释放连接(四次挥手)

可靠传输:停止等待协议(无差错情况,超时重传,确认丢失 ,确认迟到)

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

面向字节流:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

流量控制

滑动窗口协议:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

拥塞控制:慢开始,拥塞避免  快恢复,快重传

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

12.dns解析

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

DNS解析方式

递归查询:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

迭代查询:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

13.DNS的劫持问题:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

解决:httpDNS  和   长连接

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

长连接:

20181221114724367.png

14.NDS的解析转发

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

15. Cookie

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

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

修改Cookie:新的覆盖旧的(覆盖规则:name,path,domain等需要与原cookie一致)   

删除Cookie:新的覆盖旧的(规则与修改的一样,要额外设置expires=过去的一个时间,或者maxAge=0)   

保证cookie的安全:加密,在https上才携带,设置cookie为httponly,防止跨站脚本攻击

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

16.Session

Cookie:主要用来记录用户状态,区分用户,状态保存在服务器端(Seesion需要依赖cookie)

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW8yMjE4ODk3,size_16,color_FFFFFF,t_70

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值