//创建 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)) {
// 代码块
}
}
AJAX 是异步 JavaScript 和 XML, 向服务器发送数据请求,AJAX可以无需重新页面,异步的使网页实现局部的更新。
ajax应用程序的优势在于:
ajax的缺点:
Ajax可以实现动态不刷新(局部刷新) 就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。
Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。通过XMLHttpRequest对象,Web开发人员可以在页面加载以后进行页面的局部更新。
跨域是违背同源策略就会产生跨域。
要说跨域,首先得说同源策略
同源策略 :是浏览器的安全策略,协议名、域名、端口号必须完全一致。
解决跨域的方法:
vue代理配置 nginx代理配置 后端设置 jsonp(前后端配合)
JSONP(JSON with Padding) ,利用script标签本来就具备的跨域请求功能,请求后台接口地址,来完成数据请求的,这种跨域的通讯方式称为JSONP。
JSONP的原理 : 利用script标签可以获取不同源资源的特点,来达到跨域访问某个资源的目的。
缺点:
1、JSONP只支持GET请求,不支持POST等其它类型的HTTP请求
2、JSONP只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题。
3、JSONP在调用失败的时候不会返回各种HTTP状态码。
4、JSONP本质上是加载了其他网站的脚本,这种方式存在安全风险
1、JSON是JavaScript Object Notation;XML是可扩展标记语言。
2、JSON是一种表示对象的方式;XML是一种标记语言,使用标记结构来表示数据项。
3、JSON仅支持UTF-8编码;XML支持各种编码。
4、JSON支持数组;XML不支持数组。
5、JSON不支持注释;XML支持注释。
在网络数据传输中,传输层协议TCP(传输控制协议)是建立连接的可靠传输,TCP建立连接的过程,我们称为三次握手。
第一次,客户端向服务器发送SYN同步报文段,请求建立连接
第二次,服务器确认收到客户端的连接请求,并向客户端发送SYN同步报文,表示要向客户端建立连接
第三次,客户端收到服务器端的确认请求后,处于建立连接状态,向服务器发送确认报文
第一次,A端像B端发送FIN结束报文段,准备关闭连接
第二次,B端确认A端的FIN,表示自己已经收到对方关闭连接的请求
(中间这段时间,A端停止向B端发送数据,但是B端可以向A端发送数据,要将自己未处理完任务处理完)
第三次,B端向A端发送FIN结束报文段,准备关闭连接
第四次,A端确认B端的FIN,进入TIME_WAIT状态,此时A端进程已经退出,但是连接还在
1、浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;
2、解析出 IP 地址后,根据该 IP 地址和默认端口80,和服务器建立TCP连接;
3、浏览器发出读取文件(URL中域名后面部分对应的文件)的HTTP请求,
该请求消息作为 TCP三次握手的第三个报文的数据发送给服务器;
4、服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器
5、释放TCP连接;
6、浏览器加载该 html 文本并显示内容;