应用层-- DNS域名系统 ,HTTP, FTP 文件传输协议
传输层--TCP/UDP 网络中链接两个计算机数据传输,传输控制协议/用户数据协议
网络层--处理流动的数据包,设置传输路线。IP协议
链路层--网络的硬件部分,包括操作系统,硬件设备驱动,网卡,光纤,连接器等传输媒介。
HTTP通信过程:
1.用户在应用层(http协议)浏览器发送Web页面的HTTP请求,解析域名为ip
2.在传输层(TCP协议)把接受到的数据进行报文分割,对各个报文打上标记序号和端口号转发给网络层。
3.在网络层(IP协议)增加通信的MAC地址后转发给链路层。
经过以上步骤,一个网络请求就准备齐全了。经过网络传输之后,接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层。到了应用层才算真正接收到由客户端发送过来的HTTP请求。
发送时,经过每一层会增加一个首部信息,接受端在层间传递,经过一层会去掉对应的首部信息。------封装
HTTP请求:
GET/ search.jsp HTTP/1.1
Host: g.hxgoogle.com
含义: 请求用Get方法访问域名为 g.hxgoogle.com的资源 search.jsp ,
HTTP/1.1
即HTTP的版本号,用来提示客户端使用的HTTP协议功能。
HTTP方法:GET POST RESTful
Max-Forwards: 2
这样,每经过一个服务器就将该数字减1,当数字为0时停止传输,最后接收到请求的服务器返回状态码200 OK响应,响应包含最初的请求内容(将HTTP请求原样返回)。CONNECT:要求在于代理服务器通信时建立隧道,用隧道协议进行TCP通信。主要使用SSL(Secure Sockets Layer, 安全套接层)和TLS(Transport Layer Security,传输层安全)协议把通信内容加密后经网络隧道传输。格式为CONNECT 代理服务器名:端口号 HTTP版本号
。作者:Sheepy
链接:https://www.jianshu.com/p/2ecd288d27ad
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。