http超文本传输协议
应用层规范传输的格式,底层是TCP/IP传输协议
http协议之请求
-
特点
- 可持续(传输通道会持续一小段时间)
- 无状态(每次请求都要写全部信息)
-
过程:
- 建立链接
- 发送请求
- 请求头:请求方式、请求地址、和http协议版本
- 请求行:消息报头,即用来说明一些附加信息
- 空行:是必须的,是请求行和请求数据之间的间隔
- 请求数据:非必须
- 接受响应
- 关闭通道
-
请求方式
请求方式有很多,也许格式不一样,但是行,头,空行一定有
有:OPTIONS、PUT|DELETE、TRACE、CONNECT
常用的有GET、POST- get请求方式:
get的请求数据是空的,但是get可以把请求数据用问号的方式放在了头里面- 不安全的
直接在地址栏可以看到请求数据 - 对于数据长度有限制,由于地址栏限制(http协议本身是不限制长度的)
- 不安全的
- post:
- 安全
数据在单独的请求实体中发送,url中无法看到具体数据 - 无长度限制
适合大量数据发送
- 安全
- get请求方式:
用哪个:get适合数据量小没有安全需求的,效率较高,post适合数据量大,要求安全的,效率较低
http协议之响应
- 响应结构
- 响应行(状态行):
- http版本
- 状态码:五种类型
- 1**:信息,服务器收到请求,需要请求者继续执行操作
- 2**:成功,操作被成功接收并处理
- 3**:重定向,需要进一步的操作以完成请求
- 4**:客户端错误,请求包含语法错误或无法完成请求
- 5**:服务器错误,服务器在处理请求的过程中发生了错误
- 常见:
- 200 OK 请求成功
- 400 Bad Request 请求的语法错误
- 401 Unauthorized 请求未经授权
- 403 Forbidden 收到请求,但拒绝提供服务
- 404 Not Found 请求资源不存在
- 500 Internal Server Error 服务器发生未知错误
- 503 Server Unavailable 当前服务器不能处理请求,一段时间后可能恢复正常
- 状态消息
- 响应头:例如传输数据大小、格式等等
- 空行:必须有,头和实体之间的间隔
- 响应实体:服务器返回给浏览器的信息
- 响应行(状态行):