■代表会用到(重要***) ■代表学过的(了解一下*)
* xhr 它是一个实例,对象,
* xhr.response 请求到数据之后的响应体,可以是任何格式
* xhr.responseText 返回是数据文本,它是一个字符串格式,可以是json数据也可以是xml数据格式
* xhr.responseXML 返回的是xml格式的数据
*
* onabort 中断ajax操作时执行的方法
* onreadystatuschange 当状态发生改变执行的方法
* timerout 设置ajax请求的超时时间 (例:xhr.timerout =1000;)
* ontimeout 超时之后执行的方法
* readyState ajax准备的状态
* status http状态码
* statusText 对http状态的一个描述
* withCredentials 是否允许ajax跨域 false
*
* open 打开一个url连接
* send 发送ajax请求
* overrideMimeType 重写MIME类型
* getAllResponseHeaders() 获取所有的响应头信息
* getResponseHeader([key]) 获取响应头中的某个属性名对应的属性值
请求方式:
* get: 客户端向服务端获取一些数据【给的少拿到多】 chrome:8k moz:7k ie:2k 这是最大支持的大小,超出以后会被截断
* head : 客户端获取服务端 的响应头信息
* delete : 客户端删除 服务端的一些内容
* put : 客户端向服务端放置一些内容
* post : 客户端向服务端获取一些信息【给的多,拿的少】 100kb
* option : 客户端向服务端发送一些探测性的信息,如果有返回结果表示链接成功。例如 axios这个ajax类库 就是首先通过 option向服务端发送 跨域请求【cross domain 发送探测性信息】。
*
* 总结:不管是那种方式,都可以向服务端获取的数据,发送请求,常用是就是get和post
* TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议
*
* 是一个非常复杂的传输协议,一般客户端和服务端进行通讯的时候一定通过TCP建立链接,以及断开的时候也会进行TCP链接,常用我们熟知的有三次握手以及四次挥手
*
* 客户端想要和服务端联系的时候要进行三次握手
* 1. 当客户端想要和服务端进行联机的时候,会向服务端发送SYN码进行请求联机
* 2. 服务端接收到联机请求后,同意联机,并且发送ACK码给客户端
* 3. 客户端收到服务端发送的ACK码,验证成功之后,会再次发送给服务端ACK,表示开始进行联机
*
*
*
* 客户端想要和服务端断开链接会进行四次挥手
* 1. 客户端传输数据结束,发送fin给服务端,要求关闭传输通道
* 2. 服务端接收到请求之后,发送ACK码给客户端,我会关闭通道,但是我传输数据没有结束。
* 3. 服务端在将自己传输的数据发送给客户端结束之后,再次发送fin给客户端,表示数据传输结束。
* 4. 客户端接收到服务端的通知,发送ACK给服务端,表示你可以安心的关闭传输通道了
*
* 属于客户端和服务端的一个交互模式
全局刷新:当前页面从头到尾加载一遍,表示全局刷新
* 局部刷新:页面当中某一块内容进行跟新和显示,不影响其他部分的页面展示,我们叫做局部刷新,例如ajax可以实现页面局部的异步刷新
*
* 当我输入完地址之后,浏览器开始完整显示,现在表示全局刷新,
* 当我们点击页面的某一个部分让它发生变化,就实现了局部刷新,【如果不点击的话,让页面默认展示最新的消息,我们可以使用ajax来向后台进行请求】
*
* 如果想让用户最快程度看到你页面的第一屏,你应该怎么做
* 1. 将所有第一屏页面全部保存到后台,当用于输入域名请求的时候,后台全部展示第一屏页面,其他的页面我们都用ajax来进行访问
* 前后端不分离
* 当用户进行域名访问的时候,后端将整个页面都返回给前端,前端只负责渲染显示。当用户点击其他页面的时候,后台也是会返回整个页面给前端,会造成全局刷新的效果。但是好处是方便SEO【搜索引擎能够快速搜索到】,现在一般用的都比较少了,一些老的政府网站还在用【后端操作的是xml带有标签的数据】
* 前后端分离
* 当用户访问某个网址的时候,客户端再向服务端进行请求,服务端发送数据给客户端,客户端进行字符串拼接或者文档碎片拼接显示;前后端分离只要是字符串凭借的数据都没有SEO,包括你用jquery和react和vue搭建的网站都是没有SEO收录,前后端分离是最主流的合作模式。一般公司都会采用前后端分离。
* 前后端未完全分离
* 当用户访问某个网站的时候,服务端只返回首页源代码给前端,方便首屏进行快速加载【首屏所有的ajax异步请求,全部替换成后端的xml文件】。等用户操作其他页面的时候,我们再开始让他进行ajax请求。比如淘宝网
*
* get: 客户端向服务端获取一些数据【给的少拿到多】 chrome:8k moz:7k ie:2k 这是最大支持的大小,超出以后会被截断
* head : 客户端获取服务端 的响应头信息
* delete : 客户端删除 服务端的一些内容
* put : 客户端向服务端放置一些内容
* post : 客户端向服务端获取一些信息【给的多,拿的少】 100kb
* option : 客户端向服务端发送一些探测性的信息,如果有返回结果表示链接成功。例如 axios这个ajax类库 就是首先通过 option向服务端发送 跨域请求【cross domain 发送探测性信息】。
*
* 总结:不管是那种方式,都可以向服务端获取的数据,发送请求,常用是就是get和post
* TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议
*
* 是一个非常复杂的传输协议,一般客户端和服务端进行通讯的时候一定通过TCP建立链接,以及断开的时候也会进行TCP链接,常用我们熟知的有三次握手以及四次挥手
*
* 客户端想要和服务端联系的时候要进行三次握手
* 1. 当客户端想要和服务端进行联机的时候,会向服务端发送SYN码进行请求联机
* 2. 服务端接收到联机请求后,同意联机,并且发送ACK码给客户端
* 3. 客户端收到服务端发送的ACK码,验证成功之后,会再次发送给服务端ACK,表示开始进行联机
*
*
*
* 客户端想要和服务端断开链接会进行四次挥手
* 1. 客户端传输数据结束,发送fin给服务端,要求关闭传输通道
* 2. 服务端接收到请求之后,发送ACK码给客户端,我会关闭通道,但是我传输数据没有结束。
* 3. 服务端在将自己传输的数据发送给客户端结束之后,再次发送fin给客户端,表示数据传输结束。
* 4. 客户端接收到服务端的通知,发送ACK给服务端,表示你可以安心的关闭传输通道了
*
* 属于客户端和服务端的一个交互模式
全局刷新:当前页面从头到尾加载一遍,表示全局刷新
* 局部刷新:页面当中某一块内容进行跟新和显示,不影响其他部分的页面展示,我们叫做局部刷新,例如ajax可以实现页面局部的异步刷新
*
* 当我输入完地址之后,浏览器开始完整显示,现在表示全局刷新,
* 当我们点击页面的某一个部分让它发生变化,就实现了局部刷新,【如果不点击的话,让页面默认展示最新的消息,我们可以使用ajax来向后台进行请求】
*
* 如果想让用户最快程度看到你页面的第一屏,你应该怎么做
* 1. 将所有第一屏页面全部保存到后台,当用于输入域名请求的时候,后台全部展示第一屏页面,其他的页面我们都用ajax来进行访问
* 前后端不分离
* 当用户进行域名访问的时候,后端将整个页面都返回给前端,前端只负责渲染显示。当用户点击其他页面的时候,后台也是会返回整个页面给前端,会造成全局刷新的效果。但是好处是方便SEO【搜索引擎能够快速搜索到】,现在一般用的都比较少了,一些老的政府网站还在用【后端操作的是xml带有标签的数据】
* 前后端分离
* 当用户访问某个网址的时候,客户端再向服务端进行请求,服务端发送数据给客户端,客户端进行字符串拼接或者文档碎片拼接显示;前后端分离只要是字符串凭借的数据都没有SEO,包括你用jquery和react和vue搭建的网站都是没有SEO收录,前后端分离是最主流的合作模式。一般公司都会采用前后端分离。
* 前后端未完全分离
* 当用户访问某个网站的时候,服务端只返回首页源代码给前端,方便首屏进行快速加载【首屏所有的ajax异步请求,全部替换成后端的xml文件】。等用户操作其他页面的时候,我们再开始让他进行ajax请求。比如淘宝网
*
![](https://i-blog.csdnimg.cn/blog_migrate/fd70f4b4f8997d0029875d80bc866be8.jpeg)