在计算机网络中,存在不同厂商、不同结构的网络产品。这些网络产品在进行互联时会遇到不兼容的问题。
国际标准化组织ISO 提出了 OSI(Open System Interconnection)开放系统互联的参考模型,为异构系统互联提供了概念性的框架。
OSI 网络模型 ,将网络分为七个层:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
TCP/IP 协议对 OSI网络模型中的一些层进行了合并,将应用层、表示层、会话层,合并为应用层。传输层不变。网络层变成了网络互联层,数据链路层和物理层合并为网络接口层。
端口,就是应用程序用于数据交互的通道,用于实现程序间的通信。每个应用程序都有固定的端口。
注意 :两个应用程序如果使用同一个端口,那么会抛出端口异常冲突java.net.BindException。
常见端口:
tel 协议 --- 23
smtp 协议 --- 25
ftp 协议 --- 21
http 协议 --- 80
数据传输由 TCP/IP 分层模型中的传输层负责,该层包含 TCP 和 UDP 两种协议。
TCP 协议是一种比较可靠的传输协议,提供三次握手机制。信息在传输过程中,有遗失,有损耗,会要求发送方重新发送,从而保证信息的完整性。
UDP 协议是一种不可靠的传输协议,信息在传输过程中,有遗失,有损耗,不会要求发送方重新发送。特点是速度快。
超文本标记语言。超文本的意思是在html中不仅仅包含文本数据,而且可以通过一系列标记,链接各式各样的资源(图片、音频、视频、css、js等)。客户端在显示html网页,不仅仅需要下载文本数据,还需要发出一系列请求,将该网页链接资源一一下载。
HTTP 协议称为超文本传输协议,是客户端与服务器通信的一种标准。客户端和服务器都遵循HTTP 协议,就能从彼此发送的信息中提取自己想要的数据。
1、http协议遵循的是请求/响应模型
2、http协议是一种无状态的协议
当请求/响应完成以后,客户端和服务器的连接会断开。所以,服务器无法知道两次请求的用户是否为同一个用户。
3、http协议占用 80 端口
1、客户端和服务器建立连接
2、客户端发送 http 请求
3、服务器产生 http 响应
4、关闭连接
http协议的请求信息分为:请求行、请求头、空行、消息体。
请求行:描述请求方式,请求URL路径、http协议版本
请求头:以键值对方式描述客户端相关的信息
空行:标识请求头的结束
消息体:(POST)描述客户端请求的表单数据
http协议请求方式有8种:
GET、POST、HEAD、OPTIONS、PUT、DELETE、TRACE、CONNECT
其中 GET、POST 是最常用的两种。
GET请求:1、浏览器输入URL路径为GET请求
2、用户点击超链接为GET请求
3、用户提交表单,默认为GET请求,method属性为GET时,也就是GET请求
POST请求: