yahoo前端优化建议-个人总结


内容

1.尽量减少HTTP请求数

  1. 资源合并
  2. 小图片base64编码
  3. 多图合并为单图
  4. CSS Sprites,通过background-image和background-position属性来定位要显示的部分

2. 减少DNS查找

组件分散到2-4个主机名,这是同时减少DNS查找和允许高并发下载的折中方案

3. 避免重定向

HTTP 重定向是一项用于将客户端重定向到设备专用网址的常用技术。

但采用重定向会增加延迟。

若必须重定向的话,请使用HTTP重定向(响应体为空)并用301(永久转移)或302(暂时转移)状态码。(两者区别在于302会被url拦截,具体百度

因为系统会根据 HTTP 请求标头中的用户代理来执行重定向。 例子:

HTTP/1.1 301 Moved Permanently
Location: http://example.com/newuri
Content-Type: text/html

若难以实现HTTP重定向,则用js再去做。该做法多了文档下载,js解析的过程。

注意1:有一种常见的极其浪费资源的重定向,就是URL尾部缺少一个斜线的时候。

例如,跳转到http://astrology.yahoo.com/astrology会返回一个重定向到http://astrology.yahoo.com/astrology/的301响应(注意添在尾部的斜线)。

在Apache中可以用Alias,mod_rewrite或者DirectorySlash指令来取消不必要的重定向。

注意2:进行双向重定向与单向重定向

将访问桌面版网页的移动用户重定向到对应的移动版网页 -- “单向”重定向

在移动用户以及桌面设备用户分别访问桌面版网站和移动网站上的网页时,对他们进行重定向 --“双向”重定向

https://developers.google.com/search/mobile-sites/mobile-seo/separate-urls#automatic-redirection


《Linux内核完全剖析》读书笔记(一):前言


起步

在读过Linux之父林纳斯自传的 《只是为了好玩》 ,他花半年时间完成 linux0.01 版本,那时候代码量只有 1 万行,而到 1.0 版本时候也才有 17 万行。这就让我萌生出阅读 linux 源码的兴趣了。

网上找了三本关于 linux 的设计和分析的书。其中我决定先阅读 《Linux内核完全注释》。这本书基于 0.12 的内核版本,代码量不算多,而且书中几乎所有代码都进行注解,是一本了解 linux 操作系统内核的入门读物。


intptr_t 是比 void * 更好的选择吗


intptr_t 是何方神圣

相信大多数程序员对 intptr_t 比较陌生的,也不要认为是 int 类型的指针。其实这个和 int 没什么关系,也不知道定标准的人是怎么想的= =

intptr_t 是C语言标准委员会 C99 标准中新加的类型, 它占用的空间始终与平台上地址位数相同,因此用来存放地址。