Servlet - HTTP协议相关
1. 术语 :
请求 : 客户端根据用户所给的地址信息将数据发送给服务器的过程
响应 : 服务器将请求的处理结果发送给浏览器的过程
2. HTTP协议 :
超文本传输协议 ( Hyper Text Transfer Protocol )
规范浏览器和服务器的数据交互的格式
HTTP允许传输任意类型的数据对象, 正在传输的类型由Content-Type加以标记
HTTP1.1版本后支持可持续连接
3. HTTP的交互流程 :
1. 客户端和服务器端建立连接
2. 客户端发送请求数据到服务器端
3. 服务器端接收到请求后, 进行处理, 然后将处理结果响应给客户端
4. 关闭客户端和服务器端的连接 ( HTTP1.1后不会立即关闭 )
4. HTTP协议请求格式
请求头 : 请求方式, 请求地址和HTTP协议版本
请求行 : 消息报头, 一般用来说明客户端要使用的一些附加信息
空行 : 位于请求行和请求数据之间, 空行是必须的
请求数据 : 非必须
5. HTTP协议响应格式
响应行(状态行) : HTTP版本,状态码,状态消息
响应头 : 消息报头, 客户端使用的附加信息
空行 : 响应头和响应实体之间必须有空行
响应实体 : 正文, 服务器返回给浏览器的信息
6. get和post请求方式的区别
get请求方式 :
数据会以?的形式隔开拼接在请求头中, 不安全, 没有请求实体部分,
HTTP协议虽然没有规定请求数据的大小, 但是浏览器对URL的长度是有限制的,
所以get请求不能携带大量的数据
post请求方式 :
请求数据在请求实体中进行发送, 在URL中看不到具体的请求数据, 比较安全,
适合数据量大的数据发送
7. HTTP响应状态码五种类型
1xx : 信息, 服务器收到请求, 需要请求者继续执行操作
2xx : 成功, 操作被成功接收并处理
3xx : 重定向, 需要进一步的操作以完成请求
4xx : 客户端错误, 请求包含语法错误或无法完成请求
5xx : 服务器错误, 服务器在处理请求的过程中发生了错误
8. 常见状态码
200 ( OK ) : 客户端请求成功
400 ( Bad Request ) : 客户端请求有语法错误, 不能被服务器所理解
401 ( Unauthorized ) : 请求未经授权, 这个状态码必须和WWW-Authenticate报头域一起使用
403 ( Forbidden ) : 服务器收到请求, 但是拒绝提供服务
404 ( Not Found ) : 请求资源不存在
500 ( Internal Server Error ) : 服务器发生不可预期的错误
503 ( Server Unavailable ) : 服务器当前不能处理客户端的请求, 一段时间后可能恢复正常