协议,域名,端口号,有不一样的时候算跨越
(1) jsonp (2)cors(3)服务端跨域
jsonp原理:包裹一个方法。在需要用的页面调用这个方法,然后回调函数,回调这个方法
减少页面体积,提升网络加载
使用cdn加载资源更快
cook:在网络请求当中会被携带 存储量4Kb 没有直接获取数据的接口 document.cookie
locaStorage:本地存储 存储量5M 永久性存储 手动删除才行 有现成的接口直接存储信息获取信息
sessionStorage:本地存储 存储量5M 会话结束就会消失 有现成的接口直接存储信息获取信息
如果什么前提都没有的情况下,get和post几乎没有什么区别,只是名字的不同
1.提交数据的形式:
GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),会直接展现在地址栏中,以?分割URL和传输数据,参数之间以&相连,如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5 %A5%BD。
如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,
得出如:%E4 %BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。
而POST方法则会把数据放到请求数据字段中以&分隔各个字段,请求行不包含数据参数,地址栏也不会额外附带参数
2.提交数据的大小
get方法提交数据的大小直接影响到了URL的长度,但HTTP协议规范中其实是没有对URL限制长度的,限制URL长度的是客户端或服务器的支持的不同所影响:比如IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。
post方式HTTP协议规范中也没有限定,起限制作用的是服务器的处理程序的处理能力。
所以大小的限制还是得受各个web服务器配置的不同而影响。
3.提交数据的安全
POST比GET方式的安全性要高
通过GET提交数据,用户名和密码将明文出现在URL上,因为一下几个原因get方式安全性会比post弱:
(1)登录页面有可能被浏览器缓存
(2)其他人查看浏览器的历史纪录,那么别人就可 以拿到你的账号和密码了
(3)当遇上跨站的攻击时,安全性的表现更差了
三次握手:A向B发送建立连接的请求
B向A发送同意建立连接的请求
A告诉B开始发送请求
四次挥手:A向B发送给断开连接的请求
B向A询问是否发送完成所有数据
A告诉B已经发送完所有的数据
B告诉A同意断开链接的请求
TCP:传输控制协议(Transfer Contorl Protcal)
可靠连接:发送请求必须得到回应 一问一答 一对一的
UDP:用户数据报协议(user Datagram Protcal)
不可靠连接:没有建立连接的过程 只能发出信息 一对多 多对多
名字:超文本传输协议
用途:定义浏览器和服务器进行通信的信息格式(主要用来做网络当中的数据格式的) 属于应用层的协议 格式是报文的形式
报文分成俩部分:
请求报文:
组成:请求头:第一行:请求方式 url 协议版本号
请求体:数据:里面的内容根据不同的content-Type编码来决定的 里面的编码类型是不一样的
响应报文:
组成:响应头:第一行:协议版本 状态码 是否成功 (🆗为他的描述)
响应体:数据:响应体就是相应的消息体 如果是纯函数将返回纯函数 如果请求的是HTML页面,那么返回HTML代码 如果是js就是js代码
HTTP: 默认端口号 80
三次握手建立连接
传递数据
HTTPS: 默认端口号 443
三次握手建立连接
客户端校验数字证书
根据数据证书生成密钥
SSL安全加密协商完成(RSA)
传递数据
重构/重排/回流 reflow
重绘 repint
DOM Tree + CSS Tree = Render Tree
重绘:当渲染树中的元素外观(如:颜色)发生改变,不影响布局时,产生重绘
回流:当渲染树中的元素的布局(如:尺寸、位置、隐藏/状态状态)发生改变时,产生重绘回流
注意:JS 获取 Layout 属性值(如:offsetLeft、scrollTop、getComputedStyle 等)也会引起回流。因为浏览器需要通过回流计算最新值
回流必将引起重绘,而重绘不一定会引起回流