浏览器显示页面的流程,禁用浏览器缓存

让浏览器不再显得 https 页面中的 http 请求警报

2015/08/26 · 基本功技术 ·
HTTPS,
浏览器

原稿出处:
李靖(@Barret李靖)   

HTTPS 是 HTTP over Secure Socket Layer,以安全为对象的 HTTP 通道,所以在
HTTPS 承载的页面上分歧意出现 http 请求,一旦出现就是唤醒或报错:

Mixed Content: The page at ‘‘ was loaded over
HTTPS, but requested an insecure image ‘’.
This content should also be served over HTTPS.

HTTPS改造之后,大家可以在广大页面中看到如下警报:

图片 1

有的是营业对 https 没有技术概念,在填充的数量中难免出现 http
的资源,连串庞大,现身疏忽和尾巴也是不可防止的。

WebView不协理Https请求(需认证),那个时候大家可以通过重写onReceivedSslError这几个法子并实施handler.proceed
()这几个主意,可以达到页面突显的意义

不难易行说步骤如下:


CSP设置upgrade-insecure-requests

浏览器显示页面的流程,禁用浏览器缓存。好在 W3C 工作组考虑到了俺们升级 HTTPS 的诸多不便,在 2015 年 十二月份就出了一个 Upgrade Insecure Requests 的草案,他的功用就是让浏览器自动升级请求。

在大家服务器的响应头中加入:

header(“Content-Security-Policy: upgrade-insecure-requests”);

1
header("Content-Security-Policy: upgrade-insecure-requests");

大家的页面是 https 的,而以此页面中隐含了汪洋的 http
资源(图片、iframe等),页面一旦发现存在上述响应头,会在加载 http
资源时自动替换成 https 请求。可以查阅 google
提供的一个 demo:

图片 2

不过让人不解的是,这么些资源发出了一次呼吁,算计是浏览器达成的 bug:

图片 3

当然,即便大家不便利在服务器/Nginx
上操作,也得以在页面中进入 meta 头:

XHTML

<meta http-equiv=”Content-Security-Policy”
content=”upgrade-insecure-requests” />

1
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />

脚下支撑这几个设置的还只有 chrome 43.0,可是自己深信不疑,CSP 将改为未来 web
前端安全努力关切和使用的始末。而 upgrade-insecure-requests 草案也会快捷进入
RFC 格局。

从 W3C
工作组给出的 example,能够看看,那几个装置不会对国外的
a 链接做拍卖,所以可以放心使用。

1 赞 收藏
评论

图片 4

clipboard.png

1: 浏览器获得html之后,开端解析html,生成dom tree
2:
在dom解析中,遇到js的外链或者script代码,浏览器会甘休dom解析,在成功js代码下载执行之后,再持续分析。
遇到css的外链或者css的代码, 浏览器会一而再分析dom,
并且会下载css,并行解析css生成cssom tree (dom 和 cssom是并行的)
3: dom tree 和 cssom tree 会师并生成render
tree(渲染树),浏览器layout并paint,
这是一个渐进的进度。为达标更好的用户体验,render引擎会力求尽快将内容浮现在屏幕上。它不必等到全部HTML 文档解析完结之后,就会起来创设render树和装置布局。

http协议

从地方的手续不难看出,css放在头顶,js放在底部对页面优化的升级换代效率。
css并不封堵dom解析(css只会堵塞渲染,css加载慢会让页面一最先很丑,可是不影响用户看,可是丑对用户就是一种伤害….),
而js会(除非少部分影响页面塑造的js,剩下的js应该在底层加载执行)。

1.
http探究是赤手空拳在  tcp/ip协议基础上.

现今的浏览器很明白,并不是分析到html的script或者link标签再去下载静态资源,
这个都在浏览器dom解析到事先被一定出来提前下载。
其余js的执行会被事先cssom的扭转(css文件下载并分析)所阻断。

2.
我们的web开发数据的传导都是依靠于http协议.

参照链接

浏览器的工作规律:新式互连网浏览器幕后揭穿
原本 CSS 与 JS 是如此堵塞 DOM
解析和渲染的
浏览器渲染页面原理
JS 一定要放在 Body
的最尾部么?聊聊浏览器的渲染机制
浏览器渲染机制——一定要放在body尾部的js引用

  1. http协议全称是 超文本传输协议

http协议的-http请求(request)

着力协会

请求行

消息头

                         
<—-空行

音讯体(实体内容)

举例:

GET/test/hello.html HTTP/1.1   

【表示发送的get请求,
请求资源是/test/hello.html 】

Accept:
*/* 【表示客户端可以接受其他数据】

Referer:  【1.表示本身是从何地来】

Accept-Language:zh-cn 【页面语言】

User-Agent:Mozilla/4.0  【告诉服务本身的浏览器的基石,操作系统】

Accept-Encoding:gzip,
deflate 【表示接受什么的数码压缩格式.】

Host:localhost:80 【主机:80】

Connection:Keep-Alive 
   【表示绝不马上断掉大家的请求.】

现在我们想精晓,客户端究竟给服务器发送的情节

只要我这么些http1.php. 不愿意 192.168.1.33
这几个用户访问.

在劳动器端,大家可以透过$_SERVER来获取大家必要的新闻

重在的有:

HTTP_HOST

REMOTE_ADDR 访问该页面的ip

DOCUMENT_ROOT  可以得到apche的主目录

REQUEST_URI 可以博得 请求的资源名

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website