1 HTTP协议:
什么是协议?双方在交互、通信的时候,遵守的一种规范、规则
HTTP协议:针对网络上的客户端与服务器端在执行http请求的时候遵守的一种规范。
版本:
1.0 请求数据,服务器返回后,将会断开连接
1.1 请求数据,服务器返回后,连接保持。除非服务器、客户端关掉。有一定的时间限制
2 演示客户端和服务器端通信
安装抓包工具:HTTPWatch(IE插件)
请求数据解析:
请求行:第一行
请求头:
请求体: 浏览器真正发送的数据,kye=value的形式
响应数据解析:
响应行:第一行
响应头
响应体
3 状态码:
1xx:表示消息已经接收
2xx:成功--表示请求已经被成功接收、处理
3xx:重定向,要完成请求必须更进一步的操作
4xx:客户端错误--请求有语法错误或者无法实现
5xx:服务器端错误--服务器未能实现合法要求
常见状态代码、状态描述、说明:
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,ex:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
4 http请求post和get的区别:
1 请求路径不同。post请求在url后面不跟任何数据,get请求在地址后面跟上数据
2 带上的数据不同,post请求会使用流的方式写写过去。不会在地址栏显示
3 content-length:由于post请求写数据,所以一定需要content-length的头来说明数据的长度有多少
4 get有长度限制,限制1kb大小,post以流的方式写数据,所以无大小限制