synology wordpress,南宁网站建设seo,建设网站内容的策划书,第一ppt网ppt模板下载免费基本概述
预检请求#xff08;Preflight Request#xff09;是一种由浏览器自动发起的请求#xff0c;用于检查实际请求是否安全可行。这种请求通常在跨域请求#xff08;CORS#xff09;中出现#xff0c;并且只在某些特定条件下触发。以下是触发预检请求的具体条件Preflight Request是一种由浏览器自动发起的请求用于检查实际请求是否安全可行。这种请求通常在跨域请求CORS中出现并且只在某些特定条件下触发。以下是触发预检请求的具体条件 请求方法不是简单方法之一GET、HEAD 或 POST。 POST请求的Content-Type不是简单请求头之一application/x-www-form-urlencoded、multipart/form-data 或 text/plain。 请求设置了自定义的头信息。 请求包含了可读流即使用 ReadableStream 对象。
当满足以上任一条件时浏览器会首先发送一个OPTIONS请求到服务器询问服务器是否允许实际的请求。如果服务器允许浏览器才会发送实际的请求。这个OPTIONS请求就是所谓的预检请求。
知识拓展
请求方法是简单方法指的是哪些 在 HTTP 规范中所谓的简单请求是指不会触发 CORS 预检请求的那些请求。简单请求需要满足以下所有条件 只能是以下列出的方法之一 GET POST HEAD 人为设置的头信息字段只能是以下几种 Accept Accept-Language Content-Language Content-Type (但只限于三个值 application/x-www-form-urlencoded、multipart/form-data、text/plain) 请求中的任何 XMLHttpRequestUpload 对象均没有注册任何事件监听器也就是说请求中没有使用 XMLHttpRequestUpload 对象。 请求中没有使用 ReadableStream 对象。 以上这些方法被称为简单方法它们不会触发 CORS 预检请求。 application/x-www-form-urlencoded application/x-www-form-urlencoded 是一种 MIME 类型常用于指定 HTTP 请求的内容类型Content-Type。当你发送一个 HTTP POST 请求时需要在请求头中设置 Content-Type 来告诉服务器请求体的数据格式。如果 Content-Type 的值被设置为 application/x-www-form-urlencoded那么请求体中的数据会被编码为键值对每对键值之间用 分隔键与值之间用 分隔。这种编码方式与 URL 查询字符串的格式相同。例如如果你有一个 JavaScript 对象 {name: ‘John’, age: 30}那么在发送请求时这个对象会被转换为字符串 ‘nameJohnage30’。这种数据格式主要用于提交 HTML 表单数据因为它能将复杂的表单数据转换为可在 URL 中传输的字符串。 text/plain text/plain 是一种 MIME 类型用于指定 HTTP 请求或响应的内容类型Content-Type。当你设置 Content-Type 为 text/plain 时意味着你正在发送或接收纯文本数据。这种类型通常用于发送不包含任何标记的纯文本。例如如果你正在发送一个纯文本文件或者你正在发送一个不包含 HTML 或其他代码的字符串那么你应该使用 text/plain 类型。需要注意的是text/plain 不会对数据进行任何处理或编码所以它不适合用于发送包含特殊字符的数据。例如如果你需要发送包含 或 等特殊字符的数据那么你应该使用 application/x-www-form-urlencoded 或 multipart/form-data 类型。