面试常见问题(二)
AJAX
什么是 AJAX ?
AJAX
全称为Asynchronous JavaScript and XML
(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。
- AJAX 不是新的编程语言,而是一种使用现有标准的新方法。
- AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。
- AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。
AJAX 的优点
无刷新更新数据
, 不刷新整个页面的前提下与服务器通信维护数据, 减少用户等待时间, 更好的用户体验。异步与服务器通信
, 不需要打断用户的操作,具有更加迅速的响应能力前端和后端负载平衡
, 最大程度的减少冗余请求和响应对服务器造成的负担,提升站点性能。基于标准被广泛支持
。界面与应用分离
, 有利于分工合作、减少非技术人员对页面的修改造成的WEB应用程序错误、提高效率、也更加适用于现在的发布系统。
AJAX 的缺点
back和History,对浏览器机制的破坏
。安全问题
, 跨站点脚步攻击、SQL注入攻击对搜索引擎支持较弱
违背URL和资源定位的初衷
- 等…
Http && Https
什么是 Http , Https ?
HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 简单来说就是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。
HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
Http , Https 区别?
- HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好。
- 使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
- HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。
- http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443。
- HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,HTTPS 比 HTTP 要更耗费服务器资源。
cookie, session
cookie
机制采用的是在 客户端保持状态
的方案,而 session
机制采用的是在 服务器端保持状态
的方案。
Cookie 是一些数据, 存储于你电脑上的文本文件中, 当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。
Cookie 的作用就是用于解决 “如何记录客户端的用户信息”:
- 当用户访问 web 页面时,他的名字可以记录在 cookie 中。
- 在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录。
Session 是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上, 这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。
响应式布局
响应式布局
意在实现不同屏幕分辨率的终端上浏览网页的不同展示方式。通过响应式设计能使网站在手机和平板电脑上有更好的浏览阅读体验。
RWD-响应式网站设计
(简称RWD)是一种新的网站设计模式,以此构建的网站可自动适应不同的访问设备(从桌面电脑、平板电脑到智能手机),方便用户阅读和导航浏览,减少用户的放大/缩小/滑动操作,从而提供完整而友好的用户体验。
RWD 关键
media query
, 基于 RWD 设计的网站利用CSS3 media query规则来自动适应不同访问设备的屏幕尺寸和显示要求.流动网格
, 采用页面元素大小的相对单位(百分比或EM),而非传统设计使用的绝对单位(像素或点数),以确定页面各组成元素的大小.灵活缩放的图片
, 不至于在小屏幕的移动设备上超出显示区域.