理解 HTTP 协议是 DIY 浏览器的第一步
编辑:浏览器知识导读
无论是那种职业,你都需要具备一些上网的基础知识。我总结了一下,大概分为三种:1、搜索技巧。2、电脑操作技巧。3、浏览器技巧。
本期内容是浏览器技巧的第六期,我将会讲一讲平时我们在浏览器里输入网址的背后发生了什么?其原理又是什么?我们可以利用它来做些什么?也将涉及到浏览器 F12键的使用,这也是你走向自主DIY浏览器的第一步。
一、基础理论知识
我们发现,所有的网页地址都是以 http:// 开头的,(https:// 可以理解为加密了的 http:// ),这里就要引出一个我们今天要讲的关键词: HTTP协议 。
什么是 HTTP协议?
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。
1,HTTP 由请求和响应构成,而且永远是客户端发起请求,服务器回送响应,都会被构造成一套请求和响应。
2,HTTP 请求由 3 个部分构成,分别是:状态行,请求头(Request Header),请求正文。
3,HTTP 响应也是由三个部分构成,分别是:状态行,响应头(Response Header),响应正文。
4,比如,打开 https://www.google.com.hk,点击浏览器 F12 键,我们可以查看到请求头和响应头。
二、HTTP协议的一些应用
1,用户代理
在上面的那张图中,我们发现在「请求头」 里有一行 User-Agent 的字样,简称为UA,中文名叫用户代理,它是一个特殊字符串头,能够让服务器识别你正在使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
一些网站常常通过判断 User-Agent 来给不同的操作系统、不同的浏览器来发送不同的页面。因此可能造成某些页面无法在某个浏览器中正常显示,但通过伪装 UA 可以绕过检测。
(1). 比如,我们用桌面浏览器访问「豆瓣电台 https://douban.fm 」时,网页显示的内容比较多,而用手机浏览器访问时则很简洁,只有一个播放按钮。通过「修改请求头」的方法,我们可以将桌面浏览器伪装成手机浏览器。
桌面浏览器访问↑
伪装成手机浏览器访问↑
(2). 而实现方法,我们可以使用拓展 Header Editor 来修改。修改不同的 User-Agent 头内容,我们就可以伪装成不同的客户端,比如桌面浏览器,手机浏览器,搜索引擎爬虫,云平台等。
(3). 当前客户端UA查询,可以使用工具:UA分析 来查询,在网站 UserAgentString 中列举了所有可能的客户端 User-Agent。
2,链接重定向
利用「重定向请求」的功能,我们可以将某些 http:// 的网站强制重定向至 Https:// 上,可以将 Google 公共库重定向至国内的镜像服务,从而实现加速和直接访问。然而事情都有两面,我们经常看到的“网页劫持”,“钓鱼网站”,“淘宝客链接尾巴”也都是通过链接重定向的原理来实现的,在使用重定向功能时一定要加强防范意识。
3,图片反-防盗链
一些网站,比如微信公众号提供了图片上传的服务,但为了防止被滥用,同时也设置了图片只能在微信公众号平台展示,如果在其他网站上展示则会显示“不可引用”的提示。通过修改请求头里的 Referer 信息,可以实现反-防盗链的效果。
正常访问↑
修改请求头 Referer↑
修改请求头 Referer 后访问↑
4,常见消息头修改
修改消息头的应用不单单只有上面的那些例子,还有比如去除经济学人网站未订阅用户每周2篇文章的限制,金融时报网站自动展开全文,谷歌搜索英文关键词时只使用英文搜索而不使用中文搜索,还有比如去掉一些网站设置的出站链接跳转功能等等。
总之,利用修改消息头的方法,我们可以DIY自定义很多玩法,你也可以订阅一些现成的应用规则,目前我知道的安全应用规则有两处,一处是狐友 dupontjoy 整理的“反盗链、反跳转和重定向”规则,还有奶酪整理的“重定向和用户代理”规则。
结尾
1,在奶酪 公众号(ID: runningcheese01)回复“拓展”获取文中所提到拓展的下载链接。
2,欢迎订阅我的 “奶酪书签专业版”。(15年沉淀,超过3000多个分类井条有序的好用实用网站 html 书签)
加载全部内容