cookie属性max-age与expires同时存在时谁会生效

    我以前面试前端的时候,面试官问过这个问题,这是一个比较刁钻的问题,好像很难选择。

    max-age表示最大生命周期,expires表示过期时间,cookie使用其中任何一个,都可以用来限制cookie的生效时间。

    如果同时使用,max-age会生效。

    这两者在时间设置上,却有不同单位属性。expires使用的是当前时间的毫秒+过期的毫秒,因此单位以ms计,而max-age直接使用秒为单位。

    下面给出一个直观的示例,分别演示使用expires,max-age,同时使用expires与max-age时的效果。

    index.html




    
    cookie
    


    

    页面上有三个按钮,依次点击,看效果:过期时间设置的是5秒,最大生命周期设置的是10秒,单独设置,各自生效,一起设置max-age生效。

    第一个按钮:

    cookie属性max-age与expires同时存在时谁会生效_第1张图片 

    第二个按钮:

    cookie属性max-age与expires同时存在时谁会生效_第2张图片

    第三个按钮:

    cookie属性max-age与expires同时存在时谁会生效_第3张图片

    第三个按钮效果与第二个按钮效果一样,实际上是因为max-age属性生效了。

    

你可能感兴趣的:(Web前端,cookie,expires,max-age,web)