Steve's Site

这几天在面试的时候被问到了 HTTP 是如何进行缓存的,我在网上查了查,简单整理了下笔记。1. Pragma:在 http 1.0 时代,给客户端设定缓存方式可通过两个字段 Pragma 和 Expires,虽然这两个字段早可抛弃,但为了做 http 协议的向下兼容,你还是可以看到很多网站依然带上这两个字段。在响应报文中当该字段值为 "no-cache" 的时候,会通知客户端不要对该资源进行缓存,每次都得向服务器发一次请求才行。2. Expires:有了 Pragma 来禁用缓存,那如果需要设置缓存...
定义:延迟加载也称为惰性加载,即在长网页中延迟加载图像。用户滚动到它们之前,视口外的图像不会加载。这与图像预加载相反,在长网页上使用延迟加载将使网页加载更快。在某些情况下,它还可以帮助减少服务器负载。举个例子来说明,当打开淘宝首页的时候,只有在浏览器窗口里的图片才会被加载,当你滚动首页向下滑的时候,进入视口内的图片才会被加载,而其它从未进入视口的图像不会也不会加载。那么延迟加载有什么好处:首先它能提升用户的体验,试想一下,如果打开页面的时候就将页面上所有的图片全部获取加载,如果图片数量较大,对于用户...
最近在面试的时候常被问到如何解决跨域的问题,看了网上的一些文章后,发现许多文章都没有写清楚明白,使读者(我)感到困惑,所以今天我整理了一下常用跨域的技巧,写这篇关于跨域文章的目的在于:介绍常见的跨域的解决方法以及其优缺点模拟实际的跨域场景,在每种方式后都会给出一个简单实例,你只要跟我做一起敲代码,就更加直观地理解这些跨域的技巧这篇文章的所有代码我放在了 happylindz/blog Github 上,建议你 clone 下来,方便你阅读代码,跟我一起测试。后面代码的测试环境:不考虑跨域的兼容性问题...
导读Ajax 全称 Asynchronous JavaScript and XML, 即异步JS与XML. 它最早在IE5中被使用, 然后由Mozilla, Apple, Google推广开来. 典型的代表应用有 Outlook Web Access, 以及 GMail. 现代网页中几乎无ajax不欢. 前后端分离也正是建立在ajax异步通信的基础之上.浏览器为ajax做了什么现代浏览器中, 虽然几乎全部支持ajax, 但它们的技术方案却分为两种:① 标准浏览器通过 XMLHttpRequest 对...
#图解 Flexbox 2 - 深入理解 本文图片、部分翻译来自原文 How Flexbox works — explained with big, colorful, animated gifs##属性#1 display: flex上面4个div默认为display: block我们给其父级容器添加#container { display: flex; }其实把每个 div添加了一个flex context (弹性上下文)#属性#2 Flex Direction一个 Flexbox 的容器有...