目录
一、了解同源策略和跨域
1.1 同源策略
1、什么是同源
两个页面的协议、域名和端口都相同,则两个页面具有相同的源
2、什么是同源策略
浏览器提供的一个安全功能
概念:同源策略限制了从同一个源加载的脚本或文档如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制
1.2 跨域
1、什么是跨域
协议、域名、端口任意一个不同,则是跨域
2、浏览器对跨域请求的拦截
3、如何实现跨域数据请求
两个方案:
JSONP:出现的早,兼容性好。只支持GET请求,不支持POST请求
CORS:支持GET和POST请求,缺点是不兼容某些低版本的浏览器
二、JSONP
2.1 什么是JSONP
JSONP是JSON的一种“使用模式”,用于解决主流浏览器的跨域数据请求问题
2.2 JSONP的实现原理
<script>标签不受浏览器同源策略影响,可以通过src属性,请求非同源的js脚本
实现原理:通过<script>标签的src属性,请求跨域的数据接口,并通过函数调用的形式接收跨域接口响应回来的数据
2.3 简单JSONP实现
2.4 JSONP的缺点
默认发起的是GET请求
与Ajax没有关系
2.5 jQuery中的JSONP
2.6 自定义参数及回调函数名称
2.7 jQuery中JSONP的实现过程
也是通过<script>标签的src属性实现跨域数据访问的,jQuery采用的是动态创建和移除<script>标签的方式,并发起JSONP数据请求
三、HTTP协议简介
3.1 什么是通信
1、互联网中的通信
案例:服务器把传智专修学院的简介通过响应的方式发送给客户端浏览器
其中,
通信的主体是服务器和客户端浏览器;
通信的内容是传智专修学院的简介;
通信的方式是响应
3.2 什么是通信协议
通信协议:是指通信的双方完成通信所必须遵守的规则和协议
1、互联网中的通信协议
客户端与服务器之间要实现网页内容的传输,则通信的双方必须遵守网页内容的传输协议
网页内容又叫做超文本,因此网页内容的传输协议又叫做超文本传输协议,简称HTTP协议
3.3 HTTP
1、什么是HTTP协议
HTTP协议即超文本传送协议,它规定了客户端与服务器之间进行网页内容传输时,所必须遵守的传输格式
例如:
客户端要以HTTP协议要求的格式把数据提交到服务器
服务器要以HTTP协议要求的格式把内容响应给客户端
2、HTTP协议的交互模型
采用了请求/响应的交互模型
四、HTTP请求消息
4.1 什么是HTTP请求消息
由于HTTP协议属于客户端浏览器和服务器之间的通信协议,因此客户端发起的请求叫做HTTP请求,客户端发送到服务器的消息叫做HTTP请求消息
HTTP请求消息又叫做HTTP请求报文
4.2 HTTP请求消息的组成部分
HTTP请求消息由请求行(request line)、请求头部(header)、空行、请求体4个部分组成
1、请求行
请求行由请求方式、URL和HTTP协议版本3个部分组成,它们之间使用空格隔开
2、请求头部
用来描述客户端的基本信息,从而把客户端相关的信息告知服务器。
3、空行
最后一个请求字段的后面是一个空行,通知服务器请求头部至此结束,用来分隔请求头部和请求体
4、请求体
要通过POST方式提交到服务器的数据,GET请求没有请求体
五、HTTP响应消息
5.1 什么是HTTP响应消息
响应消息就是服务器响应给客户端的消息内容,也叫做响应报文
5.2 HTTP响应消息的组成部分
HTTP响应消息由状态行、响应头部、空行和响应体4个部分组成
1、状态行
状态行由HTTP协议版本、状态码和状态码的描述文本3个部分组成,它们之间使用空格隔开
2、响应头部
响应头部用来描述服务器的基本信息,响应头部 由多行键/值对组成
3、空行
表示响应头部至此结束,分隔响应头部和响应体
4、响应体
服务器响应给客户端的资源内容
六、HTTP请求方法
6.1 什么是HTTP请求方法
HTTP请求方法,属于HTTP协议中的一部分,请求方法的作用是:用来表明要对服务器上的资源执行的操作。最常用的请求方法是GET和POST
6.2 HTTP请求方法
七、HTTP响应状态码
7.1 什么是HTTP响应状态码
HTTP响应状态码,也属于HTTP协议的一部分,用来标识响应的状态
响应状态码会随着响应消息一起被发送至客户端浏览器,浏览器根据服务器返回的响应状态码,就知道这次HTTP请求的结果是成功还是失败了
7.2 HTTP响应状态码的组成及分类
HTTP响应状态码由三个十进制数字组成,第一个定义了状态码的类型,后两个数字用来对状态码进行细分
7.3 常见的HTTP响应状态码
1、2**成功相关的响应状态码
2、3**重定向相关的响应状态码
3、4**客户端错误相关的响应状态码
4、5**服务端错误相关的响应状态码