网络通信 之 HTTP协议:
客户端与服务端的通信流程
网络通信 之 HTTP协议:
HTTP协议是超文本传输控制协议。
HTTP协议中定义了客户端与服务端的通信流程与数据
交互格式。
网络通信中的长连接与短连接:
长连接:
当客户端与服务端连接成功后,使用该连接处理后续
IO流操作,连接不关闭。
常见的长连接案例:
IM (即时通讯)
大型游戏
短连接:
当客户端需要向服务端发请求时,创建连接,一旦服务
端返回响应后,客户端接受完毕,连接断开。
如果需要再次发送请求,则再次创建连接。
绝大多数APP都使用短连接。
使用原则:
能用短连接的就用短连接,否则用长连接。
客户端与服务端的通信流程:
HTTP协议是一款基于短连接的协议。
所以HTTP协议是一款无状态的协议。我们在必要时候
需要实现HTTP协议的状态管理。
数据交互格式
请求数据包的格式:
1>请求行
GET /android_jsp/findFlights.jsp HTTP/1.1
GET:请求方式 (POST)
/android_jsp/findFlights.jsp: 请求资源路径
HTTP/1.1: 协议的类型与版本
2>若干消息头 Header
key:value
key:value
key:value
用于告诉服务端 客户端的状态及客户端传递数据
的状态信息。
3>请求实体
主要用于在POST请求下存放请求参数数据。
name=zs&pwd=12345
响应数据包的格式:
1>状态行
HTTP/1.1 200 OK
HTTP/1.1: 协议的类型与版本
200: 状态码
OK: 状态描述
2>若干消息头
key:value
key:value
key:value
通过这些消息头告诉客户端服务端的状态及服务端
传递参数的状态信息。
3>响应实体
用于存储具体的响应数据。
客户端与服务端的通信流程
网络通信 之 HTTP协议:
HTTP协议是超文本传输控制协议。
HTTP协议中定义了客户端与服务端的通信流程与数据
交互格式。
网络通信中的长连接与短连接:
长连接:
当客户端与服务端连接成功后,使用该连接处理后续
IO流操作,连接不关闭。
常见的长连接案例:
IM (即时通讯)
大型游戏
短连接:
当客户端需要向服务端发请求时,创建连接,一旦服务
端返回响应后,客户端接受完毕,连接断开。
如果需要再次发送请求,则再次创建连接。
绝大多数APP都使用短连接。
使用原则:
能用短连接的就用短连接,否则用长连接。
客户端与服务端的通信流程:
HTTP协议是一款基于短连接的协议。
所以HTTP协议是一款无状态的协议。我们在必要时候
需要实现HTTP协议的状态管理。
数据交互格式
请求数据包的格式:
1>请求行
GET /android_jsp/findFlights.jsp HTTP/1.1
GET:请求方式 (POST)
/android_jsp/findFlights.jsp: 请求资源路径
HTTP/1.1: 协议的类型与版本
2>若干消息头 Header
key:value
key:value
key:value
用于告诉服务端 客户端的状态及客户端传递数据
的状态信息。
3>请求实体
主要用于在POST请求下存放请求参数数据。
name=zs&pwd=12345
响应数据包的格式:
1>状态行
HTTP/1.1 200 OK
HTTP/1.1: 协议的类型与版本
200: 状态码
OK: 状态描述
2>若干消息头
key:value
key:value
key:value
通过这些消息头告诉客户端服务端的状态及服务端
传递参数的状态信息。
3>响应实体
用于存储具体的响应数据。