HTTP协议

发布于:2025-06-24 ⋅ 阅读:(16) ⋅ 点赞:(0)

应用层非常重要的协议

1.访问网站(HTTP/HTTPS)

2.手机APP

HTTP报文结构

1)请求

首行

请求头

空行

正文

2)响应

首行(版本号 状态码 状态码描述)

响应头

空行

正文

Referer请求头不是所有的请求都有

在页面跳转的时候,是能够通过 Referer表示该页面是从哪里来的

referer 和浏览器的"回退"功能无关,浏览器的后退不依赖 HTTP 协议.浏览器自生维护了一个"栈"记录访问过程.http 的 referer 主要是用来给服务器看的

一个广告主,投放广告的时候通常会投放多个平台,这些广告平台,都会给这个广告主的网站引流(引流的过程是需要"花钱"的,按点击收费),这个赚钱的能力是非常强的,商业价值高的广告,点击一下就几百块(付出的广告费用都可以赚回来)

一般正常的广告平台,有一系列的"反作弊"算法,识别出"无效点击"有效点击才计费,无效点击不会计费

某个广告主发现,他的网站,一天之内有 1000 次访问,这 1000 次访问有多少是来自 y 搜索引擎?,多少次是来自 x 搜索引擎?

广告主和平台都会进行计算

是否会存在这样的可能,把广告主收到的请求的 referer 改成其他的?

在十年前是有这样的情况的,事情非常多,广告主自己是不会改的,点击次数是一定的他要付的费用是一定的,只不过是付给谁多谁少的事情罢了,总金额不变

这个事情,是运营商搞得鬼(不一定是指三大运营商,更多的是一下比较小的运营商)

你的网络请求走的是运营商路由器的(部署特殊的程序)发现这个请求是一个广告请求,就把HTTP中的 referer 改了,改成他自己的广告平台的 referer

这个就叫"运营商劫持"

法律是滞后的

同样也需要技术上的反制,运营商能篡改,因为 HTTP 协议自身是明文传输的,推荐 HTTPS 当年的 HTTPS 是非常少的 HTTPS 就是在HTTP的基础上引入"加密层",中间的设备/黑客不容易知道数据的内容,也很难篡改了

Cookie

Cookie 中的内容也是键值对

使用 ; 来分割多个键值对

使用 = 分割键值对

Cookie 本质上是浏览器在本地存储数据的一种机制

网站 和 app 是有本质区别的

app / 桌面的程序:本来就有很多数据是在客户端中的

网站: 所有的数据都是来自于服务器的

通过浏览器从服务器获取到网站的数据

获取到的网站的数据和应用程序,是否可能是一些对你电脑产生破坏的程序呢?

网站无人审核,危险性更高一些

浏览器把控安全,浏览器会限制一个网站的权限,浏览器会禁止网站访问你的硬盘,也禁止网站调用你电脑上的其他应用程序,就算是有一个风险的网站,也可以控制风险

如果一个网站希望在你的电脑这边存储一些数据呢?

浏览器也没有一棒子打死,留下方案实现本地存储,Cookie 中的内容,其实是服务器返回给浏览器的,浏览器就会班Cookie 保存到本地(硬盘上)为了安全,不允许网站随意的访问网站,而是只能按照"键值对"的简单方式来存储数据,后续浏览器访问该网站的时候, Cookie 中的数据通过 HTTP 请求报头,带到服务器上

Edge 浏览器也是 chrome 内核

浏览器的发展,天下大势合久必分,分久必合

Cookie 应用场景

Cookie 键值对自定义

经典场景:

通过 Cookie 保存一些没那么重要,但是有用的信息,比如"上次的访问时间"

论坛类网站,会显示"上次访问时间"(当然可以存储在数据库),也可以在 Cookie 中存储(可能会丢失)

Cookie 还有一个经典的场景,保存用户的身份标识

同一个服务器同一时刻要给很多个客户端提供服务,管理多个会话.(服务器里有一个类似于哈希表 结果,key 就是 会话 id, value 就是会话对象)

服务器就会在我登录成功之后给我分配一个"会话"会话对应唯一一个的身份标识,会话 id

服务器就可以根据sessionld 区分当前是哪个用户,避免重复登录了,会话的存活时间,就看具体的业务场景了,对于系统安全性要求越高的场景,会话存活的时间就越短


网站公告

今日签到

点亮在社区的每一天
去签到