关于options请求方式

关于options请求方式关于 options 请求方式 options 请求方法的主要用途有两个 1 获取服务器支持的 HTTP 请求方法 2 用来检查服务器的性能 例如 AJAX 进行跨域请求时的预检 需要向另外一个域名的资源发送一个 HTTPOPTIONS 请求头 用以判断实际发送的请求是否安全 为什么会出现 options 请求方式想必很多小伙伴在第一次遇到请求方式为 options 时 会有一丝诧异 有些人会百度百度 有些人可能压根不在乎 至于为什么会出现 options 请求 我也是百度查阅资料略知一二 这得从浏览器同源策略和跨域说

关于options请求方式

options请求方法的主要用途有两个:

1、获取服务器支持的HTTP请求方法;

2、用来检查服务器的性能。例如:AJAX进行跨域请求时的预检,需要向另外一个域名的资源发送一个HTTP OPTIONS请求头,用以判断实际发送的请求是否安全。

为什么会出现options请求方式

想必很多小伙伴在第一次遇到请求方式为options时,会有一丝诧异,有些人会百度百度,有些人可能压根不在乎。至于为什么会出现options请求,我也是百度查阅资料略知一二。

  • 这得从浏览器同源策略和跨域说起,具体可阅读也谈同源策略和跨域问题和浏览器同源政策及其规避方法,这里不在赘述。
  • 解决跨域问题的方法有很多种,CORS是比较好的解决方案,我们的项目也是用的这种模式,这个模式会有”预检”的请求,也就是正常请求之前的options请求。
 跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源。当个资源从与该资源本身所在的服务器不同的 域或端口请求一个资源时,资源会发起一个 跨域 HTTP 请求。 比如,站点 http://domain-a.com 的某 HTML 页面通过的 src 请求 http://domain-b.com/image.jpg。 网络上的许多页面都会加载来自不同域的CSS样式表,图像和脚本等资源。need-to-insert-img 出于安全原因,浏览器限制从脚本内发起的跨源HTTP请求。 例如XMLHttpRequest和Fetch API遵循同源 策略。这意味着使用这些API的Web应用程序只能从加载应用程序的同一个域请求HTTP资源,除非使用CORS 头文件。 
  • 浏览器将CORS请求分为两类:简单请求(simple request)和非简单请求(not-simple-request),简单请求浏览器不会预检,而非简单请求会预检。
同时满足下列三大条件,就属于简单请求,否则属于非简单请求
1.请求方式只能是:GET、POST、HEAD 2.HTTP请求头限制这几种字段:Accept、Accept-Language、Content-Language、Content-Type、Last-Event-ID 3.Content-type只能取:application/x-www-form-urlencoded、multipart/form-data、text/plain 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231054.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 深蓝病毒关闭端口_445端口关闭方法

    深蓝病毒关闭端口_445端口关闭方法计算机被永恒之蓝感染后会出一些不明所以的问题,我电脑上不定时蓝屏,同事电脑上也是,网上搜索了解决方法,包括以下几种:1)使用360杀毒,记得用最新的版本。2)自己下windows对应补丁。3)关闭445端口。——————————————————-注意:(1)关闭了445端口要重启后才会…

    2022年10月17日
    5
  • Dubbo框架(Javassm框架)

    1.Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别WebService模式中的WSdl,以服务者

    2022年4月11日
    70
  • 项目管理小小知识点总结

    项目管理,有许多知识点需要日常中总结和积累,从这里开始吧:1、项目沟通渠道数计算公式:[N*(N-1)]/2分子可知数量级为:N的平方。2、水晶头个数计算:N*4*1.153、信息化6大要素

    2021年12月25日
    44
  • python中os.walk_python pathlib

    python中os.walk_python pathlibpython os.walk详解

    2022年4月21日
    41
  • docker搭建apache php环境步骤总结「建议收藏」

    docker搭建apache php环境步骤总结「建议收藏」#拉取容器dockerpulldaocloud.io/sectest/php-apache:master-ca84461#创建容器dockerrun-d-it-p 8888:80 –nameapache_php-v/var/www/html:/var/www/htmldaocloud.io/sectest/php-apache:master-ca84461/bin/sh…

    2022年7月12日
    99
  • img图片加载失败?

    img图片加载失败?问题场景在工作中经常会使用标签进行图片展示,但是经常有图片加载失败的情况发生(图片地址不存在、图片已经删除等)。场景再现图片加载失败时的用户体验是很不好的。虽然标签有alt属性可以展示文本,但是用户体验依然差。代码:<imgalt="头像"src="$

    2022年6月2日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号