分类目录前端技术

Web Response Status

[code lang=javascript]
100 “continue”
101 “switching protocols”
102 “processing”
200 “ok”
201 “created”
202 “accepted”
203 “non-authoritative information”
204 “no content”
205 “reset content”
206 “partial content”
207 “multi-status”
208 “already reported”
226 “im used”
300 “multiple choices”
301 “moved permanently”
302 “found”
303 “see other”
304 “not modified”
305 “use proxy”
307 “temporary redirect”
308 “permanent redirect”
400 “bad request”
401 “unauthorized”
402 “payment required”
403 “forbidden”
404 “not found”
405 “method not allowed”
406 “not acceptable”
407 “proxy authentication required”
408 “request timeout”
409 “conflict”
410 “gone”
411 “length required”
412 “precondition failed”
413 “payload too large”
414 “uri too long”
415 “unsupported media type”
416 “range not satisfiable”
417 “expectation failed”
418 “I’m a teapot”
422 “unprocessable entity”
423 “locked”
424 “failed dependency”
426 “upgrade required”
428 “precondition required”
429 “too many requests”
431 “request header fields too large”
500 “internal server error”
501 “not implemented”
502 “bad gateway”
503 “service unavailable”
504 “gateway timeout”
505 “http version not supported”
506 “variant also negotiates”
507 “insufficient storage”
508 “loop detected”
510 “not extended”
511 “network authentication required”

[/code]

What is fuck RESTful

人人都在说RESTful,那到底什么是RESTful呢?RESTful是一种架构,一种http的架构。

  1. 使用客户/服务器模型。客户和服务器之间通过一个统一的接口来互相通讯。
  2. 层次化的系统。在一个REST系统中,客户端并不会固定地与一个服务器打交道。
  3. 无状态。在一个REST系统中,服务端并不会保存有关客户的任何状态。也就是说,客户端自身负责用户状态的维持,并在每次发送请求时都需要提供足够的信息。
  4. 可缓存。REST系统需要能够恰当地缓存请求,以尽量减少服务端和客户端之间的信息传输,以提高性能。
  5. 统一的接口。一个REST系统需要使用一个统一的接口来完成子系统之间以及服务与用户之间的交互。这使得REST系统中的各个子系统可以独自完成演化。

如果一个系统满足了上面所列出的五条约束,那么该系统就被称为是RESTful的。

详情,可阅读这哥的博客:Amber-Garden

虚拟dom的运用

  • 最近的开发中,遇到一个很头疼的事情,使用HTML5的canvas画布绘图的时候,画布要加载的数据很多,要进行不同画布之间进行切换时候,每一次切换,都要进行重新调用加载的方法,因为数据量大的问题,导致加载速度很慢。对于这个问题,进行了以下方面思考:

  1. 对多画面的加载,进行分布式加载。就是把以上要加载的东西,进行每一个小块的加载,然后利用js的回调机制,让画布列表先加载起来,然后在根据对应的画布,进行画布的数据加载。这个方法能够解决很大一部分的问题,其实总的加载时间是差不多的,但是把画布先加载起来,或者先把主要的东西加载给用户看,让用户觉得已经加载完了,但是其实并没有,剩下的是在回调中进行着,然后当用户反映过来时,已经悄悄的加载完成了。这个方法也有一个问题,就是当一个画布中的数据量很大,那它加载的时间还是会很慢。特别是多画面进行快速切换的时候,每一个切换要等待3-5秒左右,这个让用户体验度大打折扣。

  2. 然后就想到了一种加载一次,就能够一直使用的方法,不需要再进行反复加载。实现的大概思路是这样的:先把要添加的画布都初始化出来,但是不放到页面中,先保存至内存当中,把对应的数据进行load进去,当要显示对应画面的时候,就把对应的画面取出来,然后放到指定的div当中去。这样实现的好处是,不需要每次要显示的时候都要去调用load方法,然后需要进行对应画布的数据修改的时候,可以在看不到的时候就进行修改,因为把所有的数据都保存在内存当中,修改起来是很快的。当然,这也存在一个问题,就是当画面很多的时候,浏览器占用的内存就会很大,而且一直保持着那么大(当然,也有一定好处,就是不会而外增加)。