HTTP 协议类
HTTP 协议的特点
- 简单快速
- uri 统一资源符是固定的
- 灵活
- 通过请求头设置实现
- 无连接
- 连接一次即断开
- 无状态
- 不会保存上一次连接信息
HTTP 报文的组成部分
- 请求报文
- 请求行
- 请求头
- 空行
- 请求体
- 响应报文
- 状态行
- 响应头
- 空行
- 响应体
HTTP 方法
方法 | 描述 |
---|---|
GET | 获取资源 |
POST | 传输资源 |
PUT | 更新资源 |
DELETE | 删除资源 |
HEAD | 获得报文首部 |
POST 和 GET 的区别
- GET 在浏览器回退时是无害的,而POST会再次提交请求
- GET 产生的URL地址可以被收藏, 而POST不可以
- GET 请求会被浏览器主动缓存, 而POST 不会, 除非手动删除
- GET 只能进行URL 编码, 而POST 支持多种编码方式
- GET 请求参数会被完整保留在浏览器历史记录里, 而POST 中的参数不会被保留
- GET 请求在URL 中传送的参数是有长度限制的,而POST没有限制
- 对参数的数据类型,GET只接受ASCII字符,而POST 没有限制
- GET 比POST 更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息
- GET 参数通过URL传递, POST 放在Request body 中
HTTP 状态码
范围 | 描述 |
---|---|
1xx | 指示信息-表示请求已接收,继续处理 |
2xx | 成功 - 表示请求已被成功接收 |
3xx | 重定向 - 要完成请求必须进行更进一步的操作 |
4xx | 客户端错误 - 请求有语法错误或请求无法实现 |
5xx | 服务器错误 - 服务器未能实现合法的请求 |
- 200: 客户端请求成功
- 206: 文件过长 客户发送了一个带有Range头的GET请求,服务器完成了他
- 301: 所请求的页面已经转移至新的URL
- 302: 所请求的页面已经临时转移至心的URL
- 304: 客户端有缓存的文档并发出了一个条件性的请求,服务器告诉客户,原来缓存的文档还可以继续使用
- 400: 请求有语法错误, 不能被服务器所理解
- 401: 请求未经授权,
- 403: 对被请求的页面访问被禁止
- 404: 请求的资源不存在
- 405: 请求方法错误
- 415: 传入参数个数不一致或者类型不一致
- 500: 服务器端报错
- 503: 请求未完成,服务器临时过载或宕机。
什么是持久连接
- HTTP 协议采用“请求 - 应答”模式,当使用普通模式,也就是非Keep-Alive 模式时,每个请求/应答客户和服务器都要新建一个连接,完成后立即断开连接(http协议为无连接的协议,仅支持http/1.1)
网友评论