高性能Javascript第七章ajax

笔记:

  1. ajax 异步的方式在客户端和服务端之间传输数据,可以用一个HTTP请求就获取整个页面的资源。
  2. 与服务器通信而无须重载 页面的方法。
  3. 五种常用技术用于服务器请求数据:XMLHttpRequset,Dynamaic script tag insertion,iframs,Comet,Multipart XHR
  4. XHR使用:
  5. 动态脚本注入:用JS创建一个script,不能设置请求的头信息,参数传递只能用GET,而不是POST,响应消息必须是可执行的JS代码,不能纯xml,纯JSON,或者其他任何格式,必须封装在回调函数里。
  6. Multipart XHR:可以传多个资源,打包成一个字符串分隔的长字符串并发送到客户端,用JS代码处理这个长字符串,根据mine-type类型和传入的其他头信息解析出每一个资源。
  7. MXHR :包含了大量其他地方用不到的资源,无需缓存,尤其是图片。每个页面使用一个独立打包的JS或者CSS减少HTTP请求,文件唯一,不用从缓存中读取数据,除非重载页面。
  8. 发送数据:广泛数据 XHR,信标。
  9. 数据格式: 1.XML 通用性,格式严格易于验证。2.XPath。 3.JSON,可以执行的JS代码,eval解析字符串,JSON.parse()解析字符串本身。 4.JSONP,JSON填充,数据封装在一个回调函数里。 JSONP可能被任何人调用并使用动态脚本注入技术插入的任何网站。 5.HTML。 6.自定义格式。split()分隔
  10. 数据格式总结: JSON-P能跨域,不涉及敏感数据。 自定义,用XHR或者动态脚本注入,解析大数据集比JSON-P略快,通常文件尺寸更小。
  11. 最快的AJAX就是没有请求,避免发送不必要的请求:服务器端HTTP头信息确保响应被浏览器缓存,客户端把获取的信息存储到本地,从而避免再次请求。
  12. HTTP头信息:Expires
  13. 本地数据存储: 

总结:

  1. 数据格式,纯文本,HTML只适合特定场合。XML广泛支持但笨重解析慢,JSON轻量解析快。
  2. 页面当前域请求数据,XHR提供最完善的控制和灵活性。
  3. 动态脚本注入和本地执行JS和JSON,接口不完全安全,没法读取头信息和响应代码。
  4. MXHR,减少请求次数,但不能缓存接受到的响应。
  5. 图片信标,发送数据的有效方法。
  6. 加速AJAX :减少请求数,合并JS,CSS,或者MXHR。
  7. 缩短页面加载时间,主要内容加载完了再用AJAX获得次要的文件。
  8. 确保代码错误不会输出给用户,在服务端处理错误。
  9. 知道何时使用成熟的AJAX,何时编写自己底层AJAX代码。

猜你喜欢

转载自blog.csdn.net/qq_37021554/article/details/88087025