HTTP协议概述
HTTP协议
概念
协议:规则 规矩 约定 涉及多方的是浏览器和服务器之间进行数据传输时,遵循的规则 规矩
超文本传输协议,是互联网上应用最为广泛的一种网络协议。用于定义web浏览器与web服务器之间交换数据的过程。
特点
1、基于请求/响应模型的协议。请求和响应必须成对;先有请求后有响应
2、HTTP协议默认的端口是:8080
版本
HTTP/1.0 发送请求,创建一次连接,获得一个web资源,连接断开
HTTP/1.1 发送请求,创建一次连接,获得多个web资源,资源断开
组成
HTTP请求协议,HTTP响应协议
A、HTTP请求
包括:请求行,请求头,请求体
1、请求行: 格式--请求方式+资源路径+协议/版本
请求方式:协议规定7种,常用两种:Get+Post
Get请求:
将请求参数追加在URL后面,不安全
URL长度限制GET请求方式的数据大小
没有请求体
POST请求:
请求参数显示请求体处,较安全
请求数据大小没有显示
2、请求头:从第二行开始,到第一个空行结束,及请求头和请求体之间存在一个空行
格式:请求头通常以键值对(key:value)方式传递数据
A、Referer
产生场景:A页面跳转到B页面时,请求B页面时,会有refere 告诉B我是哪来的,值是A的URL
具体应用:防盗链、 网站访问统计
B、if-modified-since
1、第一次访问页面 服务器要发送html内容(浏览器本地进行缓存)以及该文件的最后修改时间,浏览器保存该时间
2、第二次以及以后以后访问,携带if-modified-since以及对应的A中的最后修改时间到服务器
3、服务器取出浏览器发送过来的时间值,和当前资源的最后修改时间进行比较:
如果一样,浏览器取出本地缓存,
如果不一样,发送 新内容到浏览器
4、结合响应的last-modified使用
3、请求体
通常情况下,只有post请求方式才会使用到请求体,请求体都是用户表单提交的数据,每一项数据都使用键值对(K=V),多组值使用&相连
B、HTTP响应
包括:响应行,响应头,响应体
1、响应行:
格式:协议/版本 状态号码 状态码描述
状态码:服务器与浏览器用于确定状态的固定数字号码
常见状态码:200:请求成功
302:请求重定向
304:请求资源没有改变,访问本地缓存
404:请求资源不存在,通常是用户路径编写错误,也可能是服务器资源已删除
500:服务器内部错误,通常程序报异常
2、 响应头:
响应头也是用的键值对
服务器通过响应头来控制浏览器的行为,不同的头浏览器操作不同
3、 响应体:
就是服务器发送给浏览器的正文
注意:get在请求栏显示数据
post在请求栏不显示数据