Skip to content

ReReCube/Blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Blog

个人博客(知识点梳理)

同步异步:

同步与异步同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)所谓同步,就是在发出一个调用时,在没有得到结果之前,该调用就不返回。但是一旦调用返回,就得到返回值了。 换句话说,就是由调用者主动等待这个调用的结果。 而异步则是相反,调用在发出之后,这个调用就直接返回了,所以没有返回结果。 换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在调用发出后,被调用者通过状态、通知来通知调用者,或通过回调函数处理这个调用。 典型的异步编程模型比如Node.js举个通俗的例子:你打电话问书店老板有没有《分布式系统》这本书,如果是同步通信机制,书店老板会说,你稍等,”我查一下",然后开始查啊查,等查好了(可能是5秒,也可能是一天)告诉你结果(返回结果)。而异步通信机制,书店老板直接告诉你我查一下啊,查好了打电话给你,然后直接挂电话了(不返回结果)。然后查好了,他会主动打电话给你。在这里老板通过“回电”这种方式来回调。

"阻塞"与"非阻塞"

阻塞与非阻塞阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态. 阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。 非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。 还是上面的例子,你打电话问书店老板有没有《分布式系统》这本书,你如果是阻塞式调用,你会一直把自己“挂起”,直到得到这本书有没有的结果,如果是非阻塞式调用,你不管老板有没有告诉你,你自己先一边去玩了, 当然你也要偶尔过几分钟check一下老板有没有返回结果。在这里阻塞与非阻塞与是否同步异步无关。跟老板通过什么方式回答你结果无关。

Web客户端的几种存储方式

  • 1、在H5之前,cookie是主要的存储方式。cookie可以兼容到包括ie6以上的所有浏览器。Cookie数据会带到请求头的cookie字段里面,每次同主域名的请求中,都会传递数据,增加了网络请求的数据量,并且造成主域的污染。同时,cookie在不同浏览器上数量和大小都有限制。Cookie的生命周期是根据设置值得expire的时间来控制的。
  • 2、sessionStorage和localStorage。localStorage是存储在用户本地的浏览器上,不像cookie一样携带在http请求头部的字段里面,这有效的节约了带宽。localStorge同样也采用了同源策略对存储的容量进行了限制,一般限制为同一域名5M,并且不同域名的数据不能相互访问。
  • 3、离线缓存 application cache。应用程序缓存,是从浏览器的缓存中分出来的一块缓存区,要想在这个缓存中保存数据,可以使用一个描述文件(manifest file),列出要下载和缓存的资源。application cache通过mainfest文件指定了缓存的资源,可以使我们的应用在断网的时候也能够使用。

内置对象

  • 1.简介,主要介绍内置对象的分类、构造器的介绍方法
  • 2.Object,介绍Object构造器对象及其关键的对象方法、原型对象方法
  • 3.String、Number、Boolean,介绍String、Number、Boolean类型的封装类(构造器对象)及其关键的对象方法、原型对象方法
  • 4.Array,介绍Array构造器对象及其关键的对象方法、原型对象方法
  • 5.Function,介绍Function构造器对象及其关键的原型对象方法(apply、call、bind)
  • 6.RegExp、Date、Error,介绍RegExp、Date、Error构造器对象
  • 7.Math、JSON 1.Math、JSON 介绍Math、JSON对象及其方法
  • 8.全局对象,介绍全局对象方法parseInt、encodedURIComponent等

Web及网络基础

  • tcp/ip协议分层:应用层(http、ftp、dns)、传输层(tcp、udp)、网络层(ip)、链路 数据层 encapsulate封装

简单的HTTP协议

  • 通过请求何相应的交换达成通信 请求报文:请求方法、请求uri、协议版本、请

求首部字段(可选)、内容实体(可选) 响应报文:协议版本、状态码、解释状态码的

原因短语、相应首部字段(可选)、实体主体

(可选)

  • HTTP是补保存状态的协议 cookie技术保持状态功能

  • 请求URI定位资源 访问服务器本身用*代替请求URI opions * HTTP/1.1

  • 告知服务器意图的http方法

  • 使用Cookie的状态管理

HTTP报文内的HTTP信息

  • 报文首部+空行+报文主体
  • 请求报文及相应报文结构 报文首部:请求行(状态行)+请求首部字段+

通用首部字段+实体首部字段+其他

  • 编码提升传输速率

  • 获取部分内容的范围请求 range: bytes = 5001-1000 针对范围请求,响应会返回状态码为206Partial Content的响应报文

  • 内容协商返回最合适的内容accept,accept-Charset,accept-Encoding,accept-Language,Content-Language

返回结果的HTTP状态码

1xx接收的请求正在处理 2xx请求正常处理完毕 3xx需要需要附加操作以完成请求 4xx请求服务器无法处理 5xx服务器处理请求出错

HTTP协作的网络

  • 通信数据转发程序:代理、网关、隧道 -- 代理服务器 代理服务器的基本行为就是接收客户端发送的

请求后转发给其他服务器。代理不改变请求

URI,会直接发送给前方持有资源的目标服务器

。 使用代理服务器的理由有:利用缓存技术(稍

后讲解)减少网络带宽的流量,组织内部针对

特定网站的访问控制,以获取访问日志为主要 目的,等等。 代理的使用方法分类:1是否使用缓存2是否修

改报文 -- 网关 利用网关可以由HTTP请求转化为其他协议通信 网关能使通信线路上的服务器提供非HTTP协议

服务 提高通信安全性 -- 隧道 隧道可按要求建立起一条与其他服务器的通信

线路,届时使用 SSL 等加密手段进行通信。隧

道的目的是确保客户端能与服务器进行安全的

通信。

  • 保存资源的缓存

-- 缓存有效期 -- 客户端的缓存

HTTP首部

  • Http报文首部 在请求中,HTTP 报文由方法、URI、HTTP 版本、HTTP 首部字段等部分构成。 在响应中,HTTP 报文由 HTTP 版本、状态码(数字和原因短语)、HTTP 首部字段 3 部分构成。
  • HTTP/1.1通用首部字段 请求报文和响应报文双方都会使用的首部。 accept首部字段通知服务器用户代理能够处理的媒体类型及媒体类型的相对优先等级(用q表示权重值,用;分隔) authorization eg.Authorization: Basic dWVub3NlbjpwYXNzd29yZA== 首部字段 Authorization 是用来告知服务器,用户代理的认证信息(证书值)

About

个人博客

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published