HTTP协议

Http协议

什么是协议

计算机的协议和现实中的协议是一样的,一式双份/多份。双方/多方都遵从共同的一个规范,这个规范可以成为协议

HTTP协议的工作流程

在这里插入图片描述

当用户在地址栏里输入网址后,客服端会向服务器发送一个请求,服务器会返回响应的数据(图片和前端页面等)

在这里插入图片描述

HTTP请求信息和响应信息的格式

请求:

1)请求行
2)请求头信息
3)请求主题信息(可以没有)
请求行又分三部分  请求方法   请求路径  所用的协议(http1.1  http1.0)

请求方法: GET POST PUT DELETE TRACE OPTIONS
请求路径: url的一部分
请求协议: 大部门都是http1.1协议     
	http1.0 客户端与服务器连接后,只能获得一次web资源
	http1.1 客户端与服务器连接后,可以获得多个web资源

状态码和状态文字

1xx 信息 接受到请求,继续处理
2xx 成功 操作成功
3xx 重定向 为了完成请求,必须采取进一步措施
4xx 客户端错误 请求的语法有错误或不能完全被满足
5xx 服务端错误 服务器无法完成明显有效的请求(代码错误)
常用状态码
200   - 服务器成功返回页面
301/2- 永久/临时重定向
304(not modified) - 未修改   (取的缓存)
307 - 重定向后保持原有的数据
失败的状态码:
404 - 未找到
503- 服务器暂时不可用
500 - 服务器内部错误
502 - 网关错误

HTTP referer头 与 防盗链

在Http协议中,头部信息里,有一个重要的选项:referer 
referer 代表网页的来源,即上一页的地址
如果是直接在浏览器上输入地址,回来进来,则没有referer头

如何配置apache服务器,用于图片的防盗链

原理: 在web服务器层面,根据http协议的referer头信息,来判断,如果来自站外,则统一重写到一个很小的防盗链提醒图片上去。

HTTP协议缓存控制

当我们访问的网站中包含图片时,第一次请求时返回的状态码是200,但是第二次请求时的返回值可能就是304 not  modified 未修改状态。
解释: 在网络上,有一些缓存服务器,而且浏览器自身也有缓存功能。当我们第一次访问某图片时,返回200 基于一个前提,图片不会经常改动。服务器返回200的同时,还会返回该图片的签名--Etag(签名可以理解为图片的指纹)
当浏览器再次访问该图片时,去服务器校验指纹
如果图片没有变化,直接使用缓存中的图片,这样减轻了服务器的负担

在这里插入图片描述

第二次访问

在这里插入图片描述
Requset Headers
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值