今天用chrome访问我自己的blog时候,发现居然是http的页面,我明明是做了http到https的跳转的,有猫腻。。
于是先重启nginx,没用。再看nginx的日志,根本没有访问记录。估计跟chrome的缓存有关吧。清空chrome缓存,访问http页面,跳转成功,显示http状态码是301
其实chrome虽然显示的是200,而没有正确的跳转,但其实是读取的缓存的内容,应该没有安全的问题,但是很让人困扰。
这样虽然可以节省一次跳转的时间,但是会误导用户。比如有人访问我blog以后,第二次再访问的时候,因为一般人习惯输网址的时候不会带https的,所以他访问的就成了http的网页,而这时候chrome又直接用了缓存,而不是跳转,用户就会误认为网页没有使用https加密了。
google大概对自己的所谓智能太过自信,完全不遵守一些规范,上次那个prefetch导致的一堆400 408问题,这次又是缓存301跳转。想做业界的领导者,也不能这样完全不遵守规则,店大欺客么,opera这么搞早就被臭骂了,chrome的还美其名曰智能快速。用户真好忽悠。
其实关于证书,比如twitter用的证书是"Extended Validation",也就是绿条证书,一般比如opera和ie都是非常显眼的以绿色标明,安全程度很高,而一般的证书比如我blog的,就只是黄色标识,一般安全而已。但是到了chrome,所有的都是绿色。像我这样的用普通证书自然是偷笑了,可是用EV证书的就郁闷了,毕竟EV证书在证书价格和认证严密度上都是非常严格的。于是我很阴谋论的猜想,google这么做的原因是,google自己的证书也是普,通,证,书!
继续抵制chrome,chrome访问我blog继续给出横幅。