Home Article Practice 前端面试

前端面试

2020-10-05 08:41  views:422  source:小键人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为永久保存



Disclaimer: The above articles are added by users themselves and are only for typing and communication purposes. They do not represent the views of this website, and this website does not assume any legal responsibility. This statement is hereby made! If there is any infringement of your rights, please contact us promptly to delete it.

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