iOS开发:HTTP、HTTPS、UDP、TCP学习笔记

1、HTTP的请求方式有哪些?

一共有六种请求方式:GET 、 POST、 HEAD 、PUT 、 DELETE 、OPTIONS

2、GET和POST方式的区别

1)GET:是用来获取资源的,它是安全的幂等的可缓存的
2)POST:使用来处理资源的,它是非安全的,非幂等的,不可缓存的

安全的:不应该引起server端的任何状态变化,
               通常遵从的请求方式有:GET,HEAD,OPTIONS
幂等的:同一个请求方法执行多次和执行一次的效果完全相同,
               通常遵从的请求方式有:GET,PUT,DELETE
可缓存的:请求可以被缓存。 通常遵从的请求方式有:GET,HEAD

3、常见状态码

200 :请求成功
301或302:发生了重定向
401或404: 发起的请求有误
501或502:server端可能有问题

4、连接建立流程 (TCP)

建立流程:
   1)client(客户端)向server发送一个SYN(链接报文)
   2)server收到后向client发送SYN和ACK(确认报文)
   3)client向server发送ACK
此时client端向server端发送http请求报文后,server会发送相应的http响应报文
断开链接流程:
   1)client向server发送一个FIN(断开报文)
   2)server会发送FIN和ACK
   3)server向client发送FIN和ACK
   4)client向server发送ACK

为什么要进行三次握手连接:为了避免client建立连接中的异常情况。比如如果只需要两次握手时,当client建立连接请求超时后重新发送请求的时候,server收到重新发送的SYN后会误认为是client进行了第二次连接请求

5、HTTP的特点

1)无连接:HTTP有一个建立连接和释放连接的过程 ,client发送请求后,都需要有一个建立连接和释放连接的过程(解决方案:HTTP持久连接)
2)无状态:多次发送HTTP请求,如果是同一用户,server端是无法知道(解决方案:cookie/session)

6、HTTP持久连接

请求头部字段:
     Connection: keep_alive
     time: 20 持久连接时长
      max: 10 最多允许多少个HTTP请求
持久连接中如何判断一个请求是否结束:
     1)Content-length:响应报文中的响应大小
     2)响应报文中的 chunked,最后一个会是一个空的chunked

7、Charles的抓包原理?

     中间人攻击

8、HTTP和HTTPS的区别?

HTTPS = HTTP + SSL/TLS
HTTPS是安全的HTTP,它的安全是由插在应用层和传输层中间的TLS/SSL协议来保障。

9、HTTPS的建立流程

1)client向server发送连接报文,报文中包含3部分:TLS版本号,随机数C,支持的加密方式
2)server返回给client报文,报文包含3部分:确认的加密方式,随机数S,server证书
3)client验证server证书,来判定server是否合法
4)client组装会话秘钥(会话秘钥 = 随机数C + 随机数 S + 预主秘钥)
5)client向server发送报文,报文主要是通过server的公钥预主秘钥进行加密传输
6)server端通过私钥解密得到预主秘钥
7)server端组装会话秘钥
8)client向server发送加密的握手消息
9)server向client发送加密的握手消息来确认加密通道打开

10、HTTPS都是用了哪些加密手段?为什么?

1)建立连接过程中使用非对称加密,非对称加密很耗时,因为非对称加密client端和server端使用的是不同的秘钥进行加密解密
2)后续通信过程中使用对称加密

11、非对称加密 和对称加密

     非对称加密:client端和server端使用的是不同的秘钥进行加密解密,如果client使用公钥加密,server则使用私钥进行解密,反之,如果client端使用私钥加密,server则使用公钥解密。
     对称加密:client和server端使用同样的秘钥进行加密和解密

12、TCP和UDP

TCP:传输控制协议
    作用:
    特点:面向连接、可靠传输(不重复、不丢失、无差错、按序到达)、面向字节流、拥塞控制、流量控制
可靠传输:TCP是通过停止等待协议来实现的
流量控制:TCP流量控制是通过滑动窗口协议来实现的
滑动窗口协议:因为接受方的接收缓存有大小限制,如果发送方发送数据过大,则会造成接受方缓存溢出,所以接收方可以动过更改TCP报文中的首部字段值来控制发送窗口大小
拥塞控制:主要是通过 1)慢开始、拥塞避免 2)快恢复、快重启 来进行拥塞控制
UDP:用户控制协议
    作用:复用、分用、差错检测
    特点:面向报文(不拆分也不合并)、无连接、尽最大努力交付

13、DNS解析

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

14、DNS解析查询方式

1)递归查询
2)迭代查询

15、DNS解析中常见问题

1)DNS劫持
2)DNS解析转发

16、DNS劫持以及解决方案

解决方案:1)httpDNS:client以HTTP的方式向DNS服务器的80端口进行请求
2) 长连接:建立一个长连server,client和长连server建立一个长连通道,长连server可以向APIserver发送http请求,可以通过内网专线进行DNS的解析

17、DNS劫持和HTTP的关系

没有关系,DNS解析是发生在HTTP连接建立之前的,并且DNS解析是使用DNS协议向DNS服务器的53端口进行请求

18、cookie和session

cookie和session是对HTTP协议无状态特点的补偿
cookie:主要用来记录用户状态,区分用户,状态保存在客户端
session:主要用来记录用户状态,区分用户,session的状态保存在服务端,session需要依赖cookie的机制来实现,设置在cookie的sessid字段中

客户端发送Cookie是通过请求报文的Cookie首部字段中
服务器端通过http响应报文的Set_Cookie首部地段设置Cookie

19、如何修改Cookie?

新Cookie覆盖旧的Cookie,覆盖规则:name、path、demain等需要与原Cookie一致

20、如何删除Cookie?

新Cookie覆盖旧的CooKie,然后设置值cookie的expire字段为过去的某个时间点,或者是maxAge设置为0

21、怎样保障Cookie的安全?

1)加密处理
2)只在HTTPS上携带Cookie
3)设置Cookie为httpOnly,防止跨站脚本攻击

22、IPv4地址和IPv6地址

IPv4:通常使用点分四组或者点分十进制标示发比如192.168.0.00。32位
IPv6:传统标示方法是采用成为或者字段的四个十六进制数,或者字段由冒号分隔。128位

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,602评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,442评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,878评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,306评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,330评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,071评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,382评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,006评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,512评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,965评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,094评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,732评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,283评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,286评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,512评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,536评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,828评论 2 345