以一个web请求的历程,将java web的相关知识进行总结;
1、HTTP协议和TCP/IP协议的区别?
答:TCP/IP协议是传输层协议,主要解决数据如何在网络中传输。而HTTP是应用层协议,主要解决如何包装数据。Web使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP作传输层协议将它发送到网络上。
HTTP协议的七层协议如下:
7 | 应用层 | HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、DNS、RTSP、XMPP | nginx 代理可以理解为处理具体应用层协议的代理服务器,如HTTP、HTTPS。7层代理能够理解应用层协议的特性,如HTTP头、Cookies、URLs等,因此可以做到内容过滤、负载均衡、压力测试等。常见的7层代理软件有Nginx、spring gateway。 |
6 | 表示层 | XDR、ASN.1、SMB、AFP、NCP | |
5 | 会话层 | ADSP、TLS、SSH、、RPC、RTCP、ASP、SCP | |
4 | 传输层 | TCP、UDP、RTP、SCTP、SPX、ATP、IL | nginx 代理主要操作在TCP/UDP数据包层面,如TCP/UDP端口转发。它会处理TCP/UDP层的数据,不关心应用层的协议和内容。常见的4层代理软件有LVS、HAProxy。 |
3 | 网络层 | IP、ICMP、IGMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP | |
2 | 数据链路层 | IP、ICMP、IGMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP | |
1 | 物理层 | 线路、无线电、光纤、信鸽 |