首页 > 其他分享 >preflight request是什么

preflight request是什么

时间:2024-01-29 12:23:24浏览次数:22  
标签:Control 请求 什么 request 预检 Access preflight 服务器 204

preflight request,即预检请求(Pre-flight Request),是浏览器在发送实际的CORS(Cross-Origin Resource Sharing,跨源资源共享)请求之前进行的一种HTTP OPTIONS方法的请求。当发起一个非简单请求时(例如使用了自定义头信息、PUT、DELETE等方法,或者Content-Type不是安全值时),浏览器会自动发送一次预检请求到服务器以确认是否允许该跨域请求。

预检请求的主要目的是询问服务器,当前源(origin)是否有权限访问资源以及具体的方法、头部和主体内容是否被允许。服务器通过返回特定的响应头来决定客户端能否继续发送实际请求,如Access-Control-Allow-MethodsAccess-Control-Allow-HeadersAccess-Control-Allow-Origin 等。

如果服务器同意此次跨域请求,则它会在预检请求的响应中携带相应的允许信息,之后浏览器才会真正发出原先计划的请求。若服务器不同意或没有正确设置响应头,浏览器则会阻止实际请求的发送。

204的状态码是什么

HTTP状态码204表示“无内容”(No Content)。当服务器成功处理客户端的请求,但不需要返回任何实体内容时,就会返回这个状态码。这意味着请求已经完成,并且响应报文中不包含响应体,浏览器在接收到此状态后不会刷新页面或导向新的页面。通常情况下,204状态码适用于执行了DELETE、PUT等方法后,资源已被成功处理并删除,或者对于HEAD方法请求的应答中,由于HEAD请求本身就只需要响应头信息而不需要响应正文。

预检请求的状态码是204意味着什么?

预检请求(preflight request)使用 HTTP OPTIONS 方法发送到服务器,以确定实际的跨域请求是否可以被允许。当服务器对预检请求的响应状态码是204时,它意味着:

  • 服务器已经理解了该预检请求,并且确认客户端有权限发送实际请求。
  • 响应中不包含任何实体内容(即没有响应体)。
  • 由于204状态码通常不携带任何数据,但包含了必要的CORS相关头部信息,如Access-Control-Allow-MethodsAccess-Control-Allow-HeadersAccess-Control-Max-Age 等,这些头信息告诉浏览器哪些HTTP方法、头部字段和来源(origin)是被服务器允许的。

因此,在CORS场景下,预检请求返回204状态码表示服务器允许客户端进行后续的实际请求操作。

标签:Control,请求,什么,request,预检,Access,preflight,服务器,204
From: https://www.cnblogs.com/longmo666/p/17994247

相关文章

  • 美国站电热水壶需要做什么认证
    美国站电热水壶要做FCC认证FCC认证全称是FederalCommunicationsCommission,于1934年由COMMUNICATIONACT建立是美国政府的一个独立机构,直接对国会负责。FCC通过控制无线电广播、电视、电信、电缆来协调国内和国际的通信。涉及美国50多个州、哥伦比亚以及美国所属地区为确保与生命财......
  • Solon 框架启动为什么特别快?
    思来想去!可能与Solon容器的独立设计有一定关系。1、Solon注解容器的运行特点有什么注解要处理的(注解能力被规范成了四种),提前注册登记全局只扫描一次,并在扫描过程中统一处理注解相关扫描注入时,目标有即同步注入,没有时则订阅注入自动代理。即自动发现AOP需求,并按需动态代理......
  • 自定义httpServletRequestWrapper导致上传文件请求参数丢失
    问题背景项目是SpringBoot单体式,在项目中,为了实现调用controller请求的日志记录功能。因此做了以下配置:创建自定义拦截器LogInterceptor;因为需要使用到流获取请求参数,解决流只能读一次问题,所以需要自定义HttpServletRequestWrapper;需要使得自定义HttpServletRequestW......
  • 苹果支付有哪些坑,为什么苹果支付比支付宝和微信容易丢单?
    苹果内购前言苹果内购苹果支付的难点方案设计1、商品设计2、用户和回执的绑定3、回调的重试充值冲遇到的问题点1、丢单2、充值成功,下发的物品不对3、处理退款苹果订阅1、配置服务端回调通知2、客户端通知;3、服务端定时轮询;StoreKit1对比2新的api......
  • 在K8S中,deploy创建过程包括什么?
    在Kubernetes(简称K8s)中,创建一个Deployment的过程主要包括以下步骤:编写DeploymentYAML文件:首先,需要使用YAML格式编写一个描述Deployment的配置文件。这个文件定义了Deployment的关键属性,如副本数(replicas)、容器镜像、Pod模板以及健康检查等。例如,创建一个运行Nginx服务的Dep......
  • 在K8S中,deploy升级过程包括什么?
    在Kubernetes(K8S)中,Deployment的升级过程主要包括以下几个步骤:更新Deployment配置:当需要对应用程序进行升级时,通常会更新Deployment的YAML配置文件,可以更改的内容包括但不限于:容器镜像版本(从v1.0升级到v2.0)应用配置(环境变量、命令参数等)资源请求与限制更新策略和其他......
  • 电影获得绿灯许可是什么意思?电影行业的绿灯许可? —— “某某电影通过了绿灯许可,然后某
    看新闻,有时候采访某个电影导演的时候,总会说由于某某电影通过了绿灯许可,然后另一部电影将被搁置。每每看到这个地方,就觉得纳闷,什么叫绿灯许可,为啥有了绿灯许可后另一部电影就要被搁置呢?十分不解,于是网上查询了一下,得到了一个答案。原来“绿灯许可”是指美国好莱坞的电影公司在决定是......
  • 什么是计算机
    Computer:全称电子计算机,俗称为电脑电脑能够按照程序运行,自动,高速处理海量数据的现代化智能电子设备由硬件和软件两部分组成常见的形式有台式机,笔记本还有大型计算机等等广泛应用到:科学计算【卫星火箭的偏差等】、数据处理【大数据时代,物联网】、自动控制【无人机,无人驾驶汽......
  • C# 线程本地存储 为什么线程间值不一样
    一:背景1.讲故事有朋友在微信里面问我,为什么用ThreadStatic标记的字段,只有第一个线程拿到了初始值,其他线程都是默认值,让我能不能帮他解答一下,尼玛,我也不是神仙什么都懂,既然问了,那我试着帮他解答一下,也给后面类似疑问的朋友解个惑吧。二:为什么值不一样1.问题复现为了方便讲述,定义......
  • 《程序是怎样跑起来的》第1章 对程序员来说CPU是什么?
    CPU是什么,CPU是指(CentralProcessingUnit)中文名称为中央处理器,正如同它的名字一样,它是整个计算机的核心,是计算机的灵魂所在;它对于计算机如同大脑对于人类。任何计算机发出的指令都要经过CPU。所以对程序员来说CPU是秘书,是管家,是力量,是武器,是枪里面的子弹。从功能上来看CPU的内部......