首页 练字文章 前端面试

前端面试

2020-10-05 08:41  浏览数:342  来源:小键人290027

1.Doctype的作用?答:!Doctype声明位于文档中的最前面的位置,处于<html>标签之前。此标签可
告知浏览器文档使用哪种HTML或Xhtml规范;分为两种模式:①怪异模式:浏览器使用自己的怪异模式解析渲染页面
;②标准模式:浏览器使用W3C的标准解析渲染页面如果你的页面没有DOCTYPE的声明,那么默认就是怪异模式,而
怪异模式是浏览器为了兼容很早之前针对旧版本浏览器设计得,并未严格遵循W3C标准而产生得一种页面渲染模式,它会按
照自己的方式解析渲染页面,所以,在不同的浏览器就会显示不同的样式;如果你的页面添加了<!DOCTYPE htm
l>,那么,就等同于开启了标准模式,浏览器就会按照W3C的标准解析渲染页面,这样的话你的页面在所有的浏览器中显
示的就都是一样的样式2.div+css 布局和table布局有什么优点?答:改版的时候更方便,只需该css文件
即可,页面的加载速度更快、结构化清晰、页面显示简洁、表现与结构相分离3.描述渐进增强和优雅降级之间的不同?答:
渐进增强针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到
更好的用户体验优雅降级一开始就构建完整的功能,然后再针对低版本浏览器进行兼容两者区别:优雅降级是从复杂的现状开
始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并且不断扩充,以适应未来环
境的需要4.描述cookies,session Storage和local Storage的区别?答:浏览器的
缓存机制提供了可以将用户数据存储再客户端上,可以利用cookie和session等跟服务端进行数据交互①Coo
kie和session都是用来跟踪浏览器用户身份的会话方式区别:1.作用范围不同:cookie保存再浏览器端,
session保存再服务器端2.存取方式不同:cookie只能保存字符串类型,以文本的方式;session可以
存储任意数据类型,一般情况下我们可以在session中保存一些常用变量信息,比如userID等等3.有效期不同
:cookie如果不在浏览器中设置过期事件,cookie被保存在内存中,生命周期是随着浏览器的关闭而结束,如果
在浏览器中设置了cookie的过期事件,cookie被保存在硬盘中,关闭浏览器后,cookie也会依然存在,直
到过期时间结束才消失;session用于本地存储一个会话中的数据,这些数据只有在同一个会话中的页面才能访问并且
仅在当前浏览器窗口关闭前有效,属于一次会话级别的存储;而local Storage用于持久化的本地存储,除非主
动删除数据,否则数据是永远不会过期的4.存储大小不同:cookie数据不能超过4k,同时因为每次http请求都
会携带cookie,所以cookie只适合保存很小的数据;session和localStorage虽然也有存储
大小的限制,但比cookie大得多,可以达到5M或更大5.安全性不同:cookie存储在客户端,比较容易遭到不
法获取,而session存储在服务端,安全性相对cookie要好;6.易用性不同:cookie需要自己使用do
cument.cookie封装方法而session拥有自己的方法,如:set item、getitem、rem
ove item、clear等问题扩展:1.服务端如何识别特定的用户?答:使用cookie,每次http请求时
,客户端都会发送相应的cookie信息到服务端,实际上大多数的应用都是用cookie来实现session跟踪的
,第一次创建session时,服务端会在http协议中告诉客户端,需要在cookie里记录一个sessionI
D,以后每次请求时,把这个会话ID发送到服务端,服务端就能识别这个用户了2.如果客户端禁用了cookie了怎么
办?答:一般情况下会使用一种叫URL重写的技术来进行会话跟踪,可以通过response.encodeURL(u
rl) 进行实现,即每次http交互,URL后面都会被附加上一个如sid=***这样的参数,服务端以此来识别用
户;或者使用token机制,token机制多用于APP客户端和服务器交互的模式,也可以用于web端做用户状态管
理,它是服务器端生产的一串字符串,作为客户端进行请求时的一种标识,token机制和cookie和session
的使用机制类似,当用户第一次登录后,服务器根据提交的用户信息生成一个token字符串,响应时将token字符串
返回给客户端,以后客户端只需带上这个token前来请求数据即可,无需再次登录验证3.为什么要有cookie和s
ession?答:因为浏览器是没有状态的,意味着浏览器不知道是谁在和服务器打交道,这个时候就需要一个机制来告诉
服务器,本次操作用户是否登录,是哪个用户在执行的操作,这套机制的实现就需要用到cookie和session的配
合4.如何配合答:用户第一次请求服务器时,服务器会根据用户提交的相关信息创建对应的session,请求返回时会
将此session的唯一标识:sessionID返回给浏览器,浏览器接收到服务器返回的sessionID信息后
,会将此信息存入到cookie中,同时cookie记录此sessionID属于哪个域名;当用户第二次访问服务器
的时候,请求会自动判断此域名是否存在cookie信息,如果存在,自动将cookie信息发送给服务端;服务端会从
cookie中获取sessionID,再根据sessionID查找对应的session信息,如果没有找到说明用
户没有登录或者登录失效,如果找到session证明用户已登录,可执行后面操作使用场景:Cookie:判断用户是
否登录过网站,以便下次登录时能够实现自动登录或者记住密码;保存上次登录的时间等信息;保存上次查看的页面Sess
ion:用于保存每个用户的专用信息,变量的值保存再服务器端,通过sessionID来区分不同的用户;如:网上商
城中的购物车;保存用户登录信息;将某些数据放入session中,供同一个的不同页面使用缺点:Cookie:用户
可操作cookie,使功能受限;安全性较低;每次访问都要带上cookie给服务器,浪费带宽;Session:s
ession保存的东西越多,就越占用服务器内存;依赖于cookie,如果禁用cookie,则要使用URL重写等
在HTML5中,重新提供了一种在客户端本地保存数据的功能,它就是webStorage;webStorage又分
为两种:sessionStorage:将数据保存在session对象中。所谓session,是指用户在浏览某个
网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。Session对象可以用来
保存这段时间内所要求保存的任何数据localStorage:将数据保存在客户端本地的硬件设备(通常指硬盘,也可
以时其他硬件设备),即使浏览器关闭了,该数据仍然存在,下次打开浏览器访问时仍然可以继续使用,除非用户主动删除,
否则数据永久存在;两者的区别在于:sessionStorage为临时保存,而localStorage为永久保存



声明:以上文章均为用户自行添加,仅供打字交流使用,不代表本站观点,本站不承担任何法律责任,特此声明!如果有侵犯到您的权利,请及时联系我们删除。

字符:    改为:
去打字就可以设置个性皮肤啦!(O ^ ~ ^ O)