什么是SPA?
SPA是为构建WebApp设计的路由控制和视图转换框架和jQuery Mobile、Sencha Touch等框架不同, 因为并不是一个构建移动端应用的前端整体解决方案,所以SPA不包含UI组件
特点
1、提供快速的开发实现
你可以像开发传统网站一样,先设计并制作每个视图,比如页面、导航、对话框等等,然后通过SPA提供的接口把每个视图拼装组织,完成一个拥有NativeApp体验的WebApp;
2、保留更大的设计自由度
视图的渲染和路由是在前端完成的,后端只需要提供一个简单的入口页面(Single-page application)和应用所需的异步数据接口;
3、事件驱动
SPA不提供类、对象或函数库,利用jQuery的自定义事件和事件代理,SPA的接口都绑定到DOM上,所有的操作都是触发相关DOM上的自定义事件,将各个视图的代码解耦隔离,降低开发复杂度,这个特性和Flight框架一致。
session和cookie的区别?
1、都是用于存储当此会话信息,Cookie可以存储在浏览器或者本地,Session只能存在服务器。
2、session 能够存储任意的 java 对象,cookie 只能存储 String 类型的对象。
3、Session比Cookie更具有安全性(Cookie有安全隐患,通过拦截或本地文件找得到你的cookie后可以进行攻击)。
4、Session占用服务器性能,Session过多,增加服务器压力。
5、单个Cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个Cookie,Session是没有大小限制和服务器的内存大小有关。
Post和Get的区别?
1、HTTP协议中的两种发送请求的方法,本质都是TCP连接。(HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议)
2、Post是请求修改服务器资源,Get是请求获取服务器资源、为了区分二者从而规定单纯获取资源就用Get,请求修改服务器资源则用Post,并对其请求报文做了不同的要求!
3、GET产生一个TCP数据包;POST产生两个TCP数据包。对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)
4、请求参数 GET 位于 URL中 而 POST 则位于request body(请求体)中,GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
其他:
GET在浏览器回退时是无害的,而POST会再次提交请求。
GET产生的URL地址可以被Bookmark,而POST不可以。
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
GET请求只能进行url编码,而POST支持多种编码方式。
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
GET请求在URL中传送的参数是有长度限制的,而POST没有。
http和https的区别?
1、HTTPS 协议需要到 CA (Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用。(以前的网易官网是http,而网易邮箱是 https 。)
2、HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。
3、HTTP 和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、HTTP 的连接很简单,是无状态的。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密传输、身份认证的网络协议,比 HTTP 协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息。)
输入一个url后的过程
1、DNS解析域名,获取IP地址
根据域名获取对应的IP地址,首先从浏览器DNS缓存查看,如果本地没有查到,则开始DNS解析,DNS将地址解析转换成ip,举例:
网址的解析是一个从右向左的过程: com -> google.com -> www.google.com。但是事实上,真正的网址是www.google.com.,这个.对应的就是根域名服务器,默认情况下所有的网址的最后一位都是.,通常都会省略,浏览器在请求DNS的时候会自动加上,所有网址真正的解析过程为: . -> .com. -> google.com. -> www.google.com.。
2、建立TCP连接(三次握手)
3、浏览器向服务器发送一个http请求,通过Get请求获取资源。 4、服务器处理请求,生成响应头和响应。
5、浏览器解析渲染页面。 6、关闭TCP连接(四次挥手)