五层网络层模型有 应用层、传输层、网络层、数据链路层、物理层,
应用层协议有:HTTP/FTP/TFTP/SMTP
网络层协议有:IP
TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。
在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。
tcp协议 | UDP协议 | |
transmission control protocol 传输控制协议 | user data protocol 用户数据报协议 | |
是否连接 | 面向连接
在正式收发数据前,必须和对方建立可靠的连接。 一个TCP连接必须要经过三次“对话”才能建立起来
1主机B向主机A发送同意连接和要求同步的数据包
3次握手,4次挥手。
| 面向非连接 |
传输可靠性 | 可靠 | 不可靠 |
应用场合 | 传输大量数据 | 少量数据 |
速度 | 慢 | 快 |
举例 | 慢 | ping |
常见的HTTP状态码:200成功,301 资源被永久转移,404资源不存在,500服务器内部错误
1** 服务器收到请求, 需要请求者继续操作 | 100 continue 101 switchProtocols 切换协议 |
2** 成功,操作被成功接收并处理 | 200 成功 201 Created 请求成功,并创建了资源 202 Accepted 请求成功,响应未处理完成请求 203 非授权信息 204 NoContent 请求成功,未返回内容 |
3** 重定向, 需要进一步操作颐完成请求 306弃用 | 300 多种选择 301 永久移动,浏览器自动定向新的url 302 临时移动,继续请求 303 查看其它地址url 304 请求的资源未修改。 305 使用代理 |
4** 客户端错误,请求包含语法错误或无法完成请求 402预留 | 400 语法错误 401 要求用户身份验证 403 Forbidden服务器拒绝执行请求 404 NoFund 408 请求超时 |
5** 服务器错误 | 500 服务器内部错误 501 服务器不支持请求的功能,无法完成请求 502 BadGateway 网关/代理服务器从远程服务器收到一个无效响应 503 Service Unavailable 超载或系统维护,暂时无法处理请求。 504 Gateway Timeout 网关/代理的服务器,未能及时从远程服务器获取请求 |