从OSI七层看浏览器访问过程&七层各自都有哪些协议

OSI七层

1.应用层

  浏览器输入一个域名,首先在这一层进行DNS解析,将域名解析为IP
  这一层有的协议有:HTTP,SNMP,FTP,DNS,Gateway,tftp,telnet,smtp等等在TCP基础上搭建的通信协议

2.表示层

协议和应用:ebcdic,ascii,jpeg,tiff,midi,mpeg

3.会话层

管理浏览器多个会话,防止不同会话产生混乱
协议和应用:nfs,sql,rpc,x-windows,netbios
SESSION认证发生在这一层

4.传输层(Transport)

  传输建立的TCP三次握手和传输断开的四次挥手发生在这一层
  协议和应用:tcp,udp,spx
  值得一提的是,此层的TCP和UDP协议都有相互对应的应用层协议

UDP对应的应用层协议:
DNS(域名解析:53)
SNMP(简单网络管理协议:161端口接收信息,162端口Trap采集信息)
TFTP(简单文件传输协议:69)
NTP(网络时间协议:123)

此层数据单位:段segment
  TCP的叫做Segment(数据段);
  UDP的叫做Datagram。(数据报)

TCP三次握手及四次挥手在这一层发生

三次握手
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器 确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

四次挥手
由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个
FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
(1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送(报文段4)。
(2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。和SYN一样,一个FIN将占用一个序号。
(3)服务器B关闭与客户端A的连接,发送一个FIN给客户端A(报文段6)。
(4)客户端A发回ACK报文确认,并将确认序号设置为收到序号加1(报文段7)。

5.网络层(Network)

  负责浏览器访问过程中的IP寻址,以及arp解析
  此层数据单位:包 packet
  协议和应用:ip,ipx,appletalk,icmp

6.数据链路层(Data Link)

  在这一层用解析的MAC寻址
  此层数据单位:帧 Frame
  协议和应用:802.3、802.2、3ATM、HDLC、FRAME RELAY

7.物理层(Physical)

  此层数据单位【比特流Bit】
  协议和应用:v.35,eia/tia 323

  

浏览器访问过程详解图

在这里插入图片描述

从另外一个角度谈浏览器的访问过程:

首先要明白数据经历了三层:表示层、业务逻辑层、数据访问层
1.在web浏览器中输入一个网址(此时是用户在表示层的操作),连接到网址所属的服务器
2.业务逻辑层的web服务器加载本地index.php文件,并将其解析
3.脚本文件指向数据访问层的dbms,并执行相应的sql语句
4.数据访问层将sql语句的执行结果返回给业务逻辑层
5.业务逻辑层的web服务器将web页面封装HTML页面返回给表示层
6.表示层解析此html页面,将其展示给用户

其中SQL注入发生在业务逻辑层

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值