Access-Control-Max-Age是什么
瀏覽器的同源策略,就是出於安全考慮,瀏覽器會限制從腳本發起的跨域HTTP請求(比如異步請求GET, POST, PUT, DELETE, OPTIONS等等),所以瀏覽器會向所請求的服務器發起兩次請求,第一次是瀏覽器使用OPTIONS方法發起一個預檢請求,第二次才是真正的異步請求,第一次的預檢請求獲知服務器是否允許該跨域請求:如果允許,才發起第二次真實的請求;如果不允許,則攔截第二次請求。
Access-Control-Max-Age用來指定本次預檢請求的有效期,單位為秒,,在此期間不用發出另一條預檢請求。
例如:
resp.addHeader("Access-Control-Max-Age", "0"),表示每次異步請求都發起預檢請求,也就是說,發送兩次請求。
resp.addHeader("Access-Control-Max-Age", "1800"),表示隔30分鍾才發起預檢請求。也就是說,發送兩次請求
Access-Control-Max-Age 的出現,一般發生在服務器,接收瀏覽器的 OPTIONS 遇檢請求后, 同意其跨源成功之后, 攜帶 Access-Control-Max-Age : 86400 指定本次預檢請求有效期為 86400秒, 在這時間段內不用再發預檢請求。
