浏览器
大约 3 分钟computer
chrome
最后一个支持 win7 系统的 chrome 是109版本(最新版本的 chrome 和 chromium 都不支持 win7),在群晖路径 \\192.168.0.119\alist\安装程序\cc\others\浏览器\chrom109最后支持win7无自动更新组件 ,在 win7 系统上运行后会默认提示升级到 win10,要取消这个升级的提示,在 cmd 中执行命令 reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome" /v SuppressUnsupportedOSWarning /t REG_DWORD /d 1 /f,创建桌面快捷方式不要创建 app,即不要勾选 “在窗口中打开”,以 app 的方式打开网站会由于没有 ssl 证书而提示不安全,并且查询 AI 也无法解决。
同源策略
定义
保证协议、主机、端口号一致则可称两个 URL 是同源的,反例:
http和https不是同源- 主域名和二级域名不是同源,
- 端口号不同不是同源
CORS
CORS = 跨源资源共享 = Cross-Origin Resource Sharing
该策略提供了一种在受控的条件下请求跨域资源可行方案。这里又要引出一个概念 “简单请求”,同时满足下面条件的被称作 “简单请求”
提示
- HTTP 方法限制:只能使用 GET、HEAD、POST 这三种 HTTP 方法之一。如果请求使用了其他 HTTP 方法,就不再被视为简单请求。
- 自定义标头限制:请求的 HTTP 标头只能是以下几种常见的标头:Accept、Accept-Language、Content-Language、Last-Event-ID、Content-Type(仅限于 application/x-www-form-urlencoded、multipart/form-data、text/plain)。HTML 头部 header field 字段:DPR、Download、Save-Data、Viewport-Width、WIdth。如果请求使用了其他标头,同样不再被视为简单请求。
- 请求中没有使用 ReadableStream 对象。
- 不使用自定义请求标头:请求不能包含用户自定义的标头。
- 请求中的任意 XMLHttpRequestUpload 对象均没有注册任何事件监听器;XMLHttpRequestUpload 对象可以使用 XMLHttpRequest.upload 属性访问
相反的,非 “简单请求” 会触发 “预检请求”,浏览器通过 OPTIONS 方法发起一个 “预检请求” 到服务器,以便确认实际的请求是否被允许跨域执行,预检请求的头信息如下:
提示
- Access-Control-Request-Method:该字段是必须的,用来列出哪些 HTTP 方法是被允许跨域的,例如:POST,GET
- Access-Control-Request-Headers:该字段是一个逗号分隔的字符串,指定浏览器 CORS 请求会额外发送的头信息字段,上例是 content-type,x-secsdk-csrf-token。
- Access-Control-Allow-Origin:这里填写协议和主机,例如 https://xxx.cn 可以请求数据,也可以设置为* 符号,表示统一任意跨源请求。
- Access-Control-Max-Age:该字段可选,用来指定本次预检请求的有效期,单位为秒。上面结果中,有效期是 1 天(86408 秒),即允许缓存该条回应 1 天(86408 秒),在此期间,不用发出另一条预检请求。
通过了预检请求则之后的有效期内(上面的属性 Access-Control-Max-Age)都可以跨域请求资源,允许跨域请求后服务端响应来的结果中都会有一个头信息 Access-Control-Allow-Origin。
