a)什么是 HTTP 协议
所谓 HTTP 协议,就是指,客户端和服务器之间通信时,发送的数据,需要遵守的规则,叫 HTTP 协议。HTTP 协议中的数据又叫报文。
b)请求的 HTTP 协议格式
客户端给服务器发送数据叫请求。
服务器给客户端回传数据叫响应。
请求又分为 GET 请求,和 POST 请求两种。
i. GET 请求
1、请求行
(1) 请求的方式 GET
(2) 请求的资源路径[+?+请求参数]
(3) 请求的协议的版本号 HTTP/1.1
2、请求头
key : value 组成 不同的键值对,表示不同的含义
ii. POST 请求
1、请求行
(1) 请求的方式 POST
(2) 请求的资源路径[+?+请求参数]
(3) 请求的协议的版本号 HTTP/1.1
2、请求头
1) key : value 不同的请求头,有不同的含义
空行
3、请求体 ===>>> 就是发送给服务器的数据
iii. 常用请求头的说明
Accept: 表示客户端可以接收的数据类型
Accpet-Languege: 表示客户端可以接收的语言类型
User-Agent: 表示客户端浏览器的信息
Host: 表示请求时的服务器 ip 和端口号
iv. 哪些是 GET 请求,哪些是 POST 请求
GET 请求有哪些:
1、form 标签 method=get
2、a 标签
3、link 标签引入 css
4、Script 标签引入 js 文件
5、img 标签引入图片
6、iframe 引入 html 页面
7、在浏览器地址栏中输入地址后敲回车
POST 请求有哪些:
8、form 标签 method=pos
c)响应的 HTTP 协议格式
1、响应行
(1) 响应的协议和版本号
(2) 响应状态码
(3) 响应状态描述符
2、响应头
(1) key : value 不同的响应头,有其不同含义
空行
3、响应体 ---->>> 就是回传给客户端的数据
d)响应码说明
1xx:请求收到,继续处理:
100 客户端必须继续发出请求
101 客户端要求服务器根据请求转换HTTP协议版本
2xx:操作成功收到,分析,接受:
200 交易成功
201 提示知道新文件的URL
202 接受和处理、但处理未完成
203 返回信息不确定或不完整
204 请求收到,但返回信息为空
205 服务器完成了请求,用户代理必须复位当前已经浏览过的文件
206 服务器已经完成了部分用户的GET请求
3xx: 重定向:
300 请求的资源可在多处得到
301 永久重定向,在Location响应首部的值仍为当前URL(隐式重定向)
302 临时重定向,在Location响应首部的值仍为新的URL(显示重定向)
303 建议客户端访问其他URL或访问方式
304 Not Modified 请求的资源没有改变 可以继续使用缓存
305 请求的资源必须从服务器指定的地址得到
306 前一版本HTTP中使用的代码,现行版本中不再使用
307 声明请求的资源临时性删除
4xx:客户端错误:
400 错误请求,如语法错误
401 未授权
HTTP 401.1 未授权,登录失败
HTTP 401.2 未授权,服务器配置问题导致登录失败
HTTP 401.3 ACL 禁止访问资源
HTTP 401.4 未授权 授权被筛选器拒绝
HTTP 401.5 未授权 ISAPI或CGI授权失败
402 保留有效ChargeTo头响应
403 禁止访问
HTTP 403.1 禁止访问 禁止可执行访问
HTTP 403.2 禁止访问 禁止读访问
HTTP 403.3 禁止访问 禁止写访问
HTTP 403.4 禁止访问 要求SSL
HTTP 403.5 禁止访问 要求SSL 128
HTTP 403.6 禁止访问 IP地址被拒绝
HTTP 403.7 禁止访问 要求客户端证书
HTTP 403.8 禁止访问 禁止站点访问
HTTP 403.9 禁止访问 连接的用户过多
HTTP 403.10 禁止访问 配置无效
HTTP 403.11 禁止访问 密码更改
HTTP 403.12 禁止访问 映射器拒绝访问
HTTP 403.13 禁止访问 客户端证书已被吊销
HTTP 403.15 禁止访问 客户端访问许可过多
HTTP 403.16 禁止访问 客户端证书不可信或者无效
HTTP 403.17 禁止访问 客户端证书已经到期或者尚未生效
404 没有发现文件、查询或URL
405 用户在Request-Line字段定义的方法不允许
406 根据用户发送的Accept拖,请求资源不可访问
407 类似401,用户必须首先在代理服务器上得到授权
408 客户端没有在用户指定的饿时间内完成请求
409 对当前资源状态,请求不能完成
410 服务器上不再有此资源且无进一步的参考地址
411 服务器拒绝用户定义的Content-Length属性请求
412 一个或多个请求头字段在当前请求中错误
413 请求的资源大于服务器允许的大小
414 请求的资源URL长于服务器允许的长度
415 请求资源不支持请求项目格式
416 请求中包含Range请求头字段,在当前请求资源范围内没有range指示值, 请求也不包含If-Range请求头字段
417 服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足请求长。
5xx:服务器端错误:
500 - 内部服务器错误
HTTP 500.100 - 内部服务器错误
HTTP 500-11 服务器关闭
HTTP 500-12 应用程序重新启动
HTTP 500-13 - 服务器太忙
HTTP 500-14 - 应用程序无效
HTTP 500-15 - 不允许请求
501 - 未实现
502 - 网关错误
503 - 服务不可用
504 - 网关超时