IOS七层协议分析
IOS七层协议
ios七层协议 | 该层协议 | 作用 |
---|---|---|
应用层(数据) | HTTP、FTP、TFTP、SMTP、SNMP、DNS、TELNET、HTTPS、POP3、DHCP | 网络服务与最终用户的一个接口 |
表示层(数据) | JPEG、ASCLL、EBCDIC、加密格式等 | 数据的表示、安全、压缩 |
会话层(数据) | 对应主机进程,指本地主机与远程主机正在进行的会话 | 建立、管理、终止会话 |
传输层(分段) | TCP、UDP | 定义传输数据的协议端口号,以及流控和差错校验 |
网络层(分组数据报) | ICMP IGMP IP(IPV4 IPV6) | 进行逻辑寻址(路由寻址) |
数据链路层(帧) | MAC,ARP | 建立逻辑连接、进行硬件地址寻址、差错校验等 |
物理层(比特) | 建立、维护、断开物理连接 |
HTTP
参考https://www.runoob.com/http/http-tutorial.html:
- HTTP协议:超文本传输协议,基于TCP/IP协议族来进行通信。
- HTTP工作原理
HTTP协议工作于客户端-服务端架构上(CS架构)。浏览器作为HTTP客户端(应用程序)通过URL(资源标识符)向HTTP服务端WEB服务器发送所有请求。
WEB服务器(应用程序)有:Apache服务器,IIS服务器。
WEB服务器根据接收到的请求后向客服端发送响应信息。
HTTP默认端口时80,也可以改为8080或者其他端口。 - HTTP注意事项
HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接,采用这种方式可以节省传输时间。
HTTP是媒体独立的:这意味着只要客户端和服务端知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type(邮件扩展)内容和类型。
HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它应答较快 - 客户端请求消息
客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,下图给出了请求报文的一般格式 - 服务器响应消息
HTTP响应也由四个部分组成:分别是:状态行、消息报头、空行、响应正文。 - HTTP请求返回类型
- HTTP 协议的 8 种请求类型介绍
HTTP 协议中共定义了八种方法或者叫“动作”来表明对 Request-URI 指定的资源的不同操作方式,具体介绍如下: - HTTP 请求格式分析
HTTP请求里面:以 ‘?’ 分割URL和传输数据,参数之间以 ‘&’ 相连,以‘/’显示路径:
exp:https://editor.****.net/md/?not_checkout=1 - HTTP 用浏览器搜索域名经历的过程
- 浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;
- 解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接;
- 浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器;
- 服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;
- 释放 TCP连接;
- 浏览器将该 html 文本并显示内容;