介绍
客户端与服务端在执行http请求的时候,遵守的一种规范。
1.0版本:请求发出,服务器返回后,就断开连接
1.1版本:请求发送,服务器返回后,继续保存连接
原图:
一般情况下我们要学会使用火狐浏览器的抓包工具。
请求行
请求方法:GET和POST两种
版本:HTTP/1.1
请求网址:http://localhost:8080/tomcat.css
请求头
Accept:客户端向服务器端表示,我能支持什么类型的数据
Accept-Encoding:压缩算法
Accept-Language:支持字体
Connection:保持连接
Host:主机地址
User-Agent:用户代理 向服务器表明,当前来访的客户端信息
请求体
浏览器真正发送给服务器的数据,
发送的数据呈现的是key=value,如果存在多个数据,使用&符号。
响应行
版本:HTTP/1.1
状态码:
200---客户端请求成功,即处理成功,这是我们最希望看到的结果
304:告诉客户端,你请求的这个资源至你上次取得后,并没有更改,你直接用你本地的缓存吧,我很忙哦,你能不能少来烦我啊!
403:服务器收到请求,但是拒绝提供服务
404:请求资源不存在,eg:输入了错误的URL,找不到页面/页面已经被网站删除了
500:服务器发生不可预期的错误,此时应该查查服务端的日志了,肯定抛出了一堆异常
503:服务器当前不能处理客户端的请求,一段时间后可能恢复正常
响应体
Server:服务器是哪一种类型
Content-Type:服务器返回给客户端你的内容类型
Content-Length:返回的数据长度
Date:通讯的日期,响应的时间
GET和POST请求
1、请求路径不同,post在url后面不跟任何的数据
2、上传的数据不同,post会使用流的方式写数据
get在地址栏上跟数据
3、由于post请求使用流的方式写数据,
所以需要一个Content-Lenght的头来说明数据的长度有多少。