程序员

iOS探索:网络相关

2018-12-28  本文已影响0人  熊猫超人biubiubiu

HTTP

超文本传输协议

我们来看一下请求报文的格式,首先是请求行,请求行包括方法、URL、协议文本,方法常见的有GET/POST,URL就是我们的请求地址,协议文本一般是HTTP1.1版本

然后再看一下请求头,头部字段都是以key:value的形式组合在一起的,由多个首部字段名构成首部字段区域

之后是我们的实体主体,一般在GET请求中没有实体主体,而在POST请求中一般会带有实体主体

WX20181228-105115@2x.png

首先是版本,然后是状态码,还有状态码的描述,我们称之为短语,然后下面跟请求报文一致,由此组成响应报文

HTTP的请求方式
GET和POST方式的区别

一般大家都知道的是:

但是从语义的角度来比较的话,是这样的:

对应的解释

1、安全性:不应该引起Server端的任何状态变化,比如说我们用GET请求多次去Server端去获取数据,不会引起Server的一个状态变化,安全性的请求包括:GET、HEAD、OPTIONS

2、幂等性:同一个请求方法执行多次和执行一次的效果完全相同,比如说我们用GET请求多次去Server端去获取数据,执行的效果是完全相同的,这里需要注意的是执行的效果,幂等性的请求包括:GET、PUT、DELETE

3、可缓存性:请求是否可缓存,我们一般在发起一个HTTP请求的过程中,传递的链路我们是不确定的,虽然说实在一条TCP连接上,但是网络路径在接触或者通过网关包括一些代理到达我们的Server端,在这上面会涉及到方方面面的内容,往往对于一些代理服务器会有缓存,而这种缓存性是官方的一种规范,即可以遵守也可以不遵守,大多数情况会遵守,所以在GET请求会有相对应的缓存,可缓存性的请求包括:GET、HEAD

状态码

1XX:通知

2XX:成功

3XX:重定向

4XX:客户端错误

5XX:服务端错误

连接建立流程

三次握手

四次挥手

HTTP的特点

HTTPS与网络安全

HTTPS = HTTP + SSL/TLS

HTTPS就是在原有HTTP基础上,在应用层下面,传输层上面插入了一个SSL/TLS协议中间层,为我们实现一个安全的网络机制,也就是说HTTPS是安全的HTTP

HTTPS连接建立流程

TCP/UDP

传输层协议

TCP:传输控制协议

UDP:用户数据报协议

UDP(用户数据报协议)

特点:

1、无连接

2、尽最大努力交付

3、面向报文,既不合并,也不拆分

功能包括:

1、复用

2、分用

3、差错检测

TCP(传输控制协议)

特点:

1、面向连接

2、可靠传输(无差错,不丢失,不重复,按序到达)

3、面向字节流

4、流量控制

5、拥塞控制

DNS解析

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

WX20181228-163845@2x.png
DNS解析查询方式
DNS劫持问题

当客户端发送域名去DNS服务器去查询时,由于是UDP数据包并且明文,就会被窃听,这时如果有一个钓鱼服务器劫持了这次查询,返回给你一个错误的IP,这时你就会访问到一个错误的网页

这里还需要注意一个点:就是DNS劫持和HTTP是完全没有关系的,因为DNS解析是发生在HTTP建立连接之前,并且DNS解析请求使用的事UDP数据报,端口号53

那么如何解决DNS劫持问题呢?

DNS解析转发问题

简单一句话,就是我们客户端发送请求时,我们的DNS服务器可能为了节省资源等原因,会转发给其他的DNS服务器,会出现跨网访问,可能会慢一点

Session/Cookie

HTTP协议无状态特点的补偿

Cookie

主要是用来记录用户状态,区分用户;状态保存在客户端,客户端发送的Cookie在http请求报文的Cookie首部字段中,服务端设置http响应报文的Set-Cookie首部字段

修改Cookie
删除Cookie
怎样保证Cookie的安全性
Session

也是用来记录用户状态,区分用户;状态保存在服务端
Session需要依赖于Cookie机制

至此iOS基础相关的内容暂时告一段落,写的可能并不是特别详细,也会有很多的瑕疵,也多谢各位对文章问题的指出,接下来会写一些数据结构与算法相关的内容,届时希望大家可以共同探讨,共同进步

iOS探索系列

iOS探索:UI视图之事件传递&视图响应
iOS探索:UI视图之卡顿、掉帧及绘制原理
iOS探索:Runtime之基本数据结构
iOS探索:Runtime之消息转发及动态添加方法
iOS探索:Block解析浅谈
iOS探索:RunLoop本质、数据结构以及常驻线程实现
iOS探索:网络相关

上一篇 下一篇

猜你喜欢

热点阅读