Ajax知识点大全

1.原生ajax请求

//创建 XMLHttpRequest 对象
var ajax = new XMLHttpRequest();
//规定请求的类型、URL 以及是否异步处理请求。
ajax.open('GET',url,true);
//发送信息至服务器时内容编码类型
ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
//发送请求
ajax.send(null);  
//接受服务器响应数据
ajax.onreadystatechange = function () {
    if (obj.readyState == 4 && (obj.status == 200 || obj.status == 304)) { 
        // 代码块
    }
}

2.GET和POST的区别,何时使用POST?

  • 代码上的区别
    1:get通过url传递参数。
    2:post参数在请求体中,发送ajax请求时post设置请求头 ,规定请求数据类型。
  • 使用上的区别
    1:post比get安全
    (因为post参数在请求体中。get参数在url上面)
    2:get传输速度比post快 根据传参决定的。
    (post通过请求体传参,后台通过数据流接收。速度稍微慢一些。而get通过url传参可以直接获取)。
    3:post传输文件大,理论上是没有限制 ;get传输文件小,一般不大于2k。
    4:get一般用于获取数据,post上传数据(上传的数据比较多, 而且上传数据都是重要数据。所以不论在安全性还是数据量级post是最好的选择)。
  • 5.get请求可以被缓存,post不可以被缓存。

3.什么是ajax?ajax作用是什么?

AJAX 是异步 JavaScript 和 XML, 向服务器发送数据请求,AJAX可以无需重新页面,异步的使网页实现局部的更新。

4.为什么要用ajax?

ajax应用程序的优势在于:

  1. 通过异步模式,提升了用户体验。
  2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用。
  3. Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。

ajax的缺点:

  1. ajax干掉了back按钮,即对浏览器后退机制的破坏。
  2. 开发者在不经意间会暴露比以前更多的数据和服务器逻辑。
  3. 对搜索引擎的支持比较弱。
  4. 破坏了程序的异常机制。

5.ajax最大的特点是什么?

Ajax可以实现动态不刷新(局部刷新) 就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。

6.请介绍一下XMLHttprequest对象。

Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。通过XMLHttpRequest对象,Web开发人员可以在页面加载以后进行页面的局部更新。

7.什么是跨域? 如何解决跨域?

跨域是违背同源策略就会产生跨域。

要说跨域,首先得说同源策略

同源策略 :是浏览器的安全策略,协议名、域名、端口号必须完全一致。

解决跨域的方法:

vue代理配置 nginx代理配置 后端设置 jsonp(前后端配合)

8.什么是JSONP?原理是什么,缺点是什么?

JSONP(JSON with Padding) ,利用script标签本来就具备的跨域请求功能,请求后台接口地址,来完成数据请求的,这种跨域的通讯方式称为JSONP

JSONP的原理 : 利用script标签可以获取不同源资源的特点,来达到跨域访问某个资源的目的。

缺点:

1、JSONP只支持GET请求,不支持POST等其它类型的HTTP请求

2、JSONP只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题。

3、JSONP在调用失败的时候不会返回各种HTTP状态码。

4、JSONP本质上是加载了其他网站的脚本,这种方式存在安全风险

9.XML与JSON的区别?

1、JSON是JavaScript Object Notation;XML是可扩展标记语言。

2、JSON是一种表示对象的方式;XML是一种标记语言,使用标记结构来表示数据项。

3、JSON仅支持UTF-8编码;XML支持各种编码。

4、JSON支持数组;XML不支持数组。

5、JSON不支持注释;XML支持注释。

10.三次握手和四次挥手

三次握手:

在网络数据传输中,传输层协议TCP(传输控制协议)是建立连接的可靠传输,TCP建立连接的过程,我们称为三次握手

第一次,客户端向服务器发送SYN同步报文段,请求建立连接

第二次,服务器确认收到客户端的连接请求,并向客户端发送SYN同步报文,表示要向客户端建立连接

第三次,客户端收到服务器端的确认请求后,处于建立连接状态,向服务器发送确认报文

四次挥手:

在网络数据传输中,传输层协议断开连接的过程我们称为四次挥手

第一次,A端像B端发送FIN结束报文段,准备关闭连接

第二次,B端确认A端的FIN,表示自己已经收到对方关闭连接的请求

(中间这段时间,A端停止向B端发送数据,但是B端可以向A端发送数据,要将自己未处理完任务处理完)

第三次,B端向A端发送FIN结束报文段,准备关闭连接

第四次,A端确认B端的FIN,进入TIME_WAIT状态,此时A端进程已经退出,但是连接还在

11.在浏览器地址栏键入URL,按下回车之后会经历以下流程:

1、浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;

2、解析出 IP 地址后,根据该 IP 地址和默认端口80,和服务器建立TCP连接;

3、浏览器发出读取文件(URL中域名后面部分对应的文件)的HTTP请求,

该请求消息作为 TCP三次握手的第三个报文的数据发送给服务器;

4、服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器

5、释放TCP连接;

6、浏览器加载该 html 文本并显示内容;

你可能感兴趣的:(ajax,javascript,前端,css3,html5)