OSI七层模型 |
TCP/IP四层模型 |
对应网络协议 |
应用层 (application) |
应用层 |
FTP NFS WAIS |
表示层 (presentation) |
应用层 |
Telnet Rlogin SNMP Gopher |
会话层 (session) |
应用层 |
SMTP DNS |
传输层 (transport) |
传输层 |
TCP UDP |
网络层 ( Network ) |
网际层(网络) |
IP ICMP ARP RARP AKP UUCP |
数据链路层 ( Data Link ) |
网络接口 |
FDDI Ethernet Arpanet PDN SLIP PPP |
物理层 ( physical ) |
网络接口 |
IEEE 802.1A IEEE 802.2到IEEE 802.11 |
传输层向应用层提供了套接字Socket接口,客户端程序、服务器端程序通过Socket来建立连接,进行数据传输。套接字可看作是通信线路两端的收发器。
java有三种套接字,java.net.Socket java.net.ServerSocket java.net.DatagramSocket.Socket ServerSocket 是建立在Tcp协议基础上,DatagramSocket是建立在Udp协议基础上。
HTTP协议是网络应用层协议,建立在TCP/IP协议基础上。HTTP协议使用可靠的TCP连接,默认端口为80。
HTTP请求构成:请求方式、URI、HTTP协议版本(空格隔开)
请求头(Request Header)
请求正文(Request Content)
HTTP响应构成:HTTP协议版本号、状态代码、描述(空格分隔)
响应头(Response Header)
响应正文(Response Content)