万物皆缓存

浏览器缓存很重要,与缓存相关的几个头信息:

  • ETag 与 If-None-Match
  • Last-Modified 与 If-Modified-Since
  • Cache-Control
  • Expires

ETag是用在向服务器GET请求的时候判断文件是否过期。
而Expires是用来判断本地缓存的组件是否过期。
Etag 和 If-Modified-Since 均是用来判断服务器端的文件是否过期。
如果页面已经缓存,当页面刷新(F5)的时候浏览器不会向服务器GET请求。
如果页面(Ctrl+F5)的时候浏览器会向服务器发起询问,If-Modified-Since提交本地记录的组件的日期给服务器,如果服务器查询组件未做修改,那么返回304(Not Modified),如果服务器端文件有做修改那么服务器会返回新的组件给客户端。
Expires 和 Cache-Control用来判断本地电脑中的缓存文件是否过期。

通常的页面访问中,如果是访问一个全新的页面那么ETag,Expires的作用如下:
第一次访问服务器会将ETag和Expires发送给浏览器。
再次访问浏览器会根据缓存来加载组件,此时如果有缓存的就不发起HTTP请求。如果本地有缓存但是依旧强制向服务器提交组件的GET请求,那么ETag就会派上用场。

Cache-Control 比 Expires 有更高的优先级。
If-None-Match(ETag)比 If-Modified-Since(Last-Modified)有更高的优先级。

-EOF-

《Dive Into Python 3》中文版

Mark Pilgrim的《Dive Into Python》的升级版《Dive Into Python 3》针对 Python 3 进行了更新。现在这本书已经有了中文版,由啄木鸟社区翻译。

在线阅读 http://www.woodpecker.org.cn/share/projects/diveintopython3/
中文镜像 http://diveintopython3.com/
英文原版 http://diveintopython3.org/

在此感谢啄木鸟社区对Python中文资料所作出的贡献。
-EOF-

Mac OS X 截屏方法

Mac OS X 内置的截图应用程序Grab。Grab截屏的特点包括可截取带有光标的屏幕,光标样式可以在设置里选择。还可以利用Grab时间延迟功能,也能截取带菜单的截图。

不用开启程序直接快捷键即可截图,常用快捷键:

  1. command-shift-3: 全屏截屏, 保存至桌面;
  2. command-shift-4: 选定屏幕的某一方形区域截屏, 拖动指针改变选定区域;
  3. command-shift-4, 释放, 然后按空格, 点击, 对当前活动窗口截屏, 并保存至桌面;
  4. command-shift-4, 释放, 选定区域, 按住空格, 可以固定选定方块在屏幕上拖动截屏;
  5. command-shift-4, 释放, 选定区域, 按住option, 可以在水平或垂直方向以已选区域为中心, 同比例放大或缩小;
  6. command-shift-4, 释放, 选定区域, 按住shift, 固定x轴y轴选定宽度, 变动y轴或x轴来截屏;
  7. command-shift-4, 释放, 选定区域, 按住option-shift, 上述5/6的组合;
  8. command-shift-4, 释放, 选定区域, 按住shift-空格, 上述4/6的组合.
  9. ctrl+以上3条快捷键任一条, 把截屏保存至剪贴板;
  10. 在以上任一条快捷中, 按esc取消截屏.

-EOF-