HTTP各版本介绍
HTTP/0.9
- 方法:仅支持GET,用于请求页面。
- 传输内容:纯文本,不支持请求头。
- 连接状态:单次请求后关闭连接。
HTTP/1.0
- 新增方法:POST、HEAD等。
- 数据格式:支持多种content-type。
- 状态码与缓存:引入状态码和缓存机制。
- 连接类型:非持久连接,每次请求后关闭TCP连接。
HTTP/1.1
- 新增方法:OPTIONS、PUT、DELETE等。
- 持久连接:默认使用持久连接,减少连接开销。
- 管线化:支持并行发送请求。
- 虚拟主机:支持同一IP上托管多个域名。
- 缓存控制:增强缓存控制机制。
- 断点续传:支持大文件断点续传。
HTTP/2
- 多路复用:基于二进制分帧,支持多路并发通信。
- 头部压缩:减少头部传输开销。
- 服务器推送:主动推送资源到客户端。
HTTP/3
- 基于QUIC:减少延迟,提高速度和安全性。
HTTPS介绍
HTTPS在HTTP基础上增加SSL/TLS协议,提供数据加密和身份认证,保障传输安全。
HTTP与HTTPS的比较
- 安全性:HTTP无加密,HTTPS加密传输。
- 连接方式:HTTP明文,HTTPS加密。
- 证书管理:HTTPS需CA颁发证书。
- 连接状态:HTTP明文易截获,HTTPS加密保护。
- 端口号:HTTP常用80,HTTPS常用443。
- 资源消耗:HTTPS加密解密消耗更多资源。
- 兼容性:HTTPS在某些情况下可能存在兼容问题。
HTTP与HTTPS效率比较
- 连接建立时间:HTTPS需SSL/TLS握手,比HTTP慢。
- 数据传输效率:HTTPS加密解密影响传输速度。
- 资源消耗:HTTPS加密解密增加CPU负担。
- 缓存支持:两者均支持缓存,但HTTPS实现可能更复杂。
Android常见通信方式
- HTTP/HTTPS通信:用于客户端与服务器间数据交换,支持GET、POST等方法。
- Socket通信:基于TCP/IP协议,实现数据双向传输,适用于实时交互或大量数据传输。
- 蓝牙、NFC、Wi-Fi Direct:用于设备间近距离数据传输或特殊应用场景。
常见网络协议
- TCP/IP:因特网核心协议,提供网络连接和数据传输。
- HTTP:Web数据传输基础协议。
- FTP:文件传输协议,用于文件上传下载。
- SMTP:简单邮件传输协议,用于电子邮件传输。
- DHCP:动态主机配置协议,自动分配IP地址。
- DNS:域名系统,将域名解析为IP地址。
- SSH:安全外壳协议,提供安全远程登录。
- SSL/TLS:提供数据加密和认证功能。
HTTP/2.0多路复用
- 底层实现:基于二进制帧和流,支持同一连接上多个独立请求和响应。
- 优点:减少延迟,提高性能,减少连接数,避免队头阻塞。
- 缺点:实现复杂,可能增加计算资源消耗,存在兼容性问题。