HTTP请求首部字段及响应首部字段详解

 更新时间:2024年06月19日 09:32:51   作者:叹人间,美中不足今方信  
这篇文章主要介绍了HTTP请求首部字段及响应首部字段,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

HTTP请求方法包括:POSTGETPUTDELETEOPTIONS

对于除GET请求以外的HTTP请求

如果存在跨域请求

浏览器必须首先使用OPTIONS方法询问服务端是否允许跨域请求,然后才发起真正的请求,OPTIONS请求称为预检请求

HTTP请求首部字段,预检请求发送给服务器

Origin

  • 预检请求或实际请求的原域名
  • 不管是否为跨域请求
  • Origin字段总是被发送

Access-Control-Request-Method

  • 预检请求
  • 将实际请求的HTTP方法告诉服务器

Access-Control-Request-Headers

  • 预检请求
  • 将实际请求所携带的首部字段告诉服务器

HTTP响应首部字段

Access-Control-Allow-Origin

  • 服务器允许跨域访问的域
  • 对于不需要携带身份凭证
  • 服务器可以配置该属性为“*”
Access-Control-Allow-Origin: www.baidu.com

Access-Control-Allow-Methods

  • 服务器允许跨域请求的方法
  • 用于预检请求的响应

Access-Control-Allow-Headers

  • 服务器允许跨域请求携带的首部字段
  • 用于预检请求的响应
  • 可以自定义
Access-Control-Allow-Headers: app-id

Access-Control-Allow-Credentials

  • 服务器允许跨域请求携带身份凭证(cookiesauthorization headersTLS client certificates等)
  • 如果允许,设置为true
  • 如果不允许则不需要设置,因为此属性只有true一个可选值
  • 并且对于附带身份凭证的请求
  • Access-Control-Allow-Origin不能使用通配符
Access-Control-Allow-Credentials: true

Access-Control-Expose-Headers

  • 服务器允许浏览器访问的头
  • 默认情况下:
  • 浏览器只能获取到Cache-ControlContent-LanguageContent-TypeExpiresLast-Modified

Access-Control-Max-Age

  • 服务器设置OPTIONS预检的缓存时长(以秒为单位)
  • 在缓存时长内
  • 这个域不再发起预检请求
  • 可以直接发起真正的HTTP请求
Access-Control-Max-Age: 28800

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 从此不再惧怕URI编码 JavaScript及C# URI编码详解

    从此不再惧怕URI编码 JavaScript及C# URI编码详解

    JavaScript中的还好,只提供了三个,C#中主要用的就有这么多,还没有列出其他编码(HTML),一多就弄不明白,弄不明白就心生恐惧,心生恐惧就变得苦逼,本文就向大家详细解释在JavaScript及C#中如何对URI进行编码的方法(注:本文不涉及到其他编码)。
    2012-03-03
  • 提高编程技能的11个建议

    提高编程技能的11个建议

    当你不熟悉编程的时候,你可能会觉得无从下手,并且不知道如何运用学到的知识。只要你通过了这一困难的学习阶段,你就会发现一个全新的世界
    2014-08-08
  • MAC安装git的三种实现方式

    MAC安装git的三种实现方式

    本文介绍了在Mac操作系统中安装Git的三种主要方式:使用Homebrew安装、从官方Git网站下载安装包、以及使用XcodeCommandLineTools安装,Homebrew是最方便的方式之一,但用户也可以根据自己的偏好选择其他方法,安装完成后,只需运行`git`命令即可验证Git是否成功安装
    2025-09-09
  • Web 开发中遇到的UTF-8编码的问题总结

    Web 开发中遇到的UTF-8编码的问题总结

    一个网站如果需要国际化,就需要将编码从GB2312转成UTF-8,其中有很多的问题需要注意,如果没有转换彻底,将会有很多的编码问题出现!
    2010-02-02
  • alt键 chr码值对应列表查看方法

    alt键 chr码值对应列表查看方法

    有时候在开发过程中,需要知道chr的码值,有时候有些东西记不住就可以用下面的方法。
    2009-09-09
  • VSCode设置默认打开的浏览器的方法

    VSCode设置默认打开的浏览器的方法

    这篇文章主要介绍了VSCode设置默认打开的浏览器的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 云vscode搭建之使用容器化部署的方法

    云vscode搭建之使用容器化部署的方法

    随着容器化的发展,现在涌现出了很多云IDE,比如腾讯的Cloud Studio,但是其也是基于Code-Server进行开发部署的,用了它的云IDE后,我便产生出了自己部署一个这样的云IDE的想法,这篇文章主要介绍了云vscode搭建使用容器化部署,需要的朋友可以参考下
    2022-09-09
  • 低版本VS项目在VS2019无法正常编译的问题

    低版本VS项目在VS2019无法正常编译的问题

    这篇文章主要介绍了低版本VS项目在VS2019无法正常编译的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • IntelliJ IDEA2020新增禅模式和LightEdit模式

    IntelliJ IDEA2020新增禅模式和LightEdit模式

    这篇文章主要介绍了IntelliJ IDEA2020新增禅模式和LightEdit模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Git中忽略文件机制的.gitignore与.git/info/exclude两种方式详解

    Git中忽略文件机制的.gitignore与.git/info/exclude两种方式详解

    Git提供了两种忽略文件的方式,是.gitignore和.git/info/exclude,两者在作用范围和共享性上有本质区别,下面小编就和大家详细介绍一下具体实现吧
    2026-01-01

最新评论