当前位置: 首页 > ai >正文

Javaweb————HTTP请求头属性讲解

❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️前面我们已经说过http请求分为三部分,请求行,请求头和请求体
请求头包含若干个属性:格式为属性名:属性值,这篇文章我们就来介绍一下http请求头中一些常见属性的含义

我们以淘宝网为例进行讲解

🏍️🏍️🏍️属性1:Accept

含义:浏览器支持的MIME媒体类型,比如text/html(HTML文本),application/json(json文件),image/webp(webp格式的文件),等

在这里插入图片描述
观察上图我们可以发现,Accept属性里支持很多格式的图片,比如svg,webp等,image/*表示支持所有格式的图片

🏍️🏍️🏍️属性2:Accept—Encoding和Accept—Language

Accept-Encoding:浏览器发给服务器,声明浏览器支持的编码类型,比如gzip,deflate等
Accept-Language:客户端接受的语言格式,比如zh-CN

如下图所示,可以看到这两个属性值
在这里插入图片描述

🏍️🏍️🏍️属性3:Connection:keep-alive

含义:开启HTTP持久连接

在这里插入图片描述

🏍️🏍️🏍️属性4:Host

含义:服务器的域名
如下图,百度服务器的域名是www.baidu.com
在这里插入图片描述

🏍️🏍️🏍️属性5:Origin

含义:告诉服务器请求从哪里发起,仅包括协议和域名
下图是淘宝登录页的Origin属性
在这里插入图片描述
如果存在跨域请求CORS,可以看到响应头中就会出现对应的Access-Control-Allow-Origin属性

在这里插入图片描述

🏍️🏍️🏍️属性6:Referer(非常重要)

含义:告诉服务器请求的原始资源的URL,其用于所有类型的请求,并且包括协议+域名+参数
在这里插入图片描述
应用场景说明
很多电商的抢购服务会用这个作为限制,必须通过某个入口地址进来才有效,比如上图的Referer指定淘宝首页下的某个路径才有效,这样就可以防止用户通过某些特殊渠道直接进入到抢购页面不停的刷单刷屏而导致其他用户无法进入

🏍️🏍️🏍️属性7:User-Agent(非常重要)

含义:服务器通过这个请求头判断用户的软件的应用类型,操作系统,软件开发商以及版本号,浏览器内核信息等
在这里插入图片描述
应用场景说明
风控系统,反作弊系统,反爬虫系统的信息参考,举个例子,我们通过自己伪造的某台设备去爬取某网站的数据,而只有通过浏览器访问的设备才有对应的设备信息,我们伪造的设备是不具有这类信息的,这样浏览器就会检测到虚假信息从而起到拦截爬虫的作用

🏍️🏍️🏍️属性8:Cookie

含义:表示服务端给客户端传的http请求状态,也是多个key=value(键值对形式组合 ),比如登录后的令牌等,后续会详细讲解
在这里插入图片描述

🏍️🏍️🏍️属性9:Content—Type

含义:HTTP请求提交的内容类型,一般只有post提交时才需要设置,比如文件上传,表单提交
下图表示的是UTF-8编码的纯文本格式,关于Content-type的具体属性值,后续会讲解
在这里插入图片描述

🏍️🏍️🏍️知识拓展1:什么是跨域请求

跨域请求(Cross-Origin Request)发生在浏览器中,当网页通过前端代码(如JavaScript)请求与当前页面不同源的资源时。‌源(Origin)‌由协议(如HTTP/HTTPS)、域名和端口号共同定义,三者任一不同即视为跨域。例如:‌

当前页面URL为https://a.com,请求https://b.com/data(域名不同)
当前页面URL为http://a.com,请求https://a.com/api(协议不同)
当前页面URL为http://a.com:80,请求http://a.com:8080(端口不同)

🏍️🏍️🏍️知识拓展2:跨域请求的解决方案(CORS)

跨域请求(CORS - Cross-Origin Resource Sharing)是一种W3C标准,用于解决Web应用(尤其是使用XMLHttpRequest或Fetch API发起请求的Ajax应用)因浏览器同源策略而导致的跨域数据访问限制问题。同源策略是浏览器的一项安全机制,规定了一个源(origin,由协议、域名、端口号三者组合而成)下的文档或脚本只能与同源的资源交互,禁止不同源之间的读写操作,以防止恶意网站窃取敏感数据。

在CORS机制下,服务器通过在HTTP响应头中添加特定的标志来告知浏览器允许哪些源进行跨域请求。Access-Control-Allow-Origin是核心字段,用来指定允许哪些源可以访问资源

简单请求(如GET/POST/HEAD)直接发送,非简单请求(如PUT/DELETE)需预检(OPTIONS)

如果服务器没有正确配置CORS响应头,或者拒绝了来自特定源的请求,浏览器会阻止客户端脚本获取响应内容,从而保护用户的隐私和安全。

http://www.xdnf.cn/news/16482.html

相关文章:

  • 前端css 的固定布局,流式布局,弹性布局,自适应布局,响应式布局
  • VNC和RPC加固措施
  • win10 环境删除文件提示文件被使用无法删除怎么办?
  • 海外短剧系统架构设计:从0到1搭建高并发微服务平台
  • 白玩 一 记录retrofit+okhttp+flow 及 kts的全局配置
  • 墨者:SQL过滤字符后手工注入漏洞测试(第3题)
  • npm : 无法加载文件 D:\Nodejs\node_global\npm.ps1,因为在此系统上禁止运行脚本
  • 什么是ios企业签名?
  • VTK开发笔记(一):VTK介绍,Qt5.9.3+VS2017x64+VTK8.2编译
  • 使用 Django REST Framework 构建强大的 API
  • vue请求golang后端CORS跨域问题深度踩坑
  • 分布式链路追踪详解
  • 图论:Bellman_ford算法
  • 预过滤环境光贴图制作教程:第三阶段 - GGX 分布预过滤
  • Unity 编辑器开发 之 Excel导表工具
  • git使用lfs解决大文件上传限制
  • 监控场景视频质量异常修复:陌讯动态增强算法实战解析
  • 使用JavaScript实现轮播图的自动切换和左右箭头切换效果
  • BERT 的 NSP慢慢转换为SOP
  • Linux -- 文件【中】
  • 工具链攻击利用漏洞链入侵SharePoint服务器获取完全控制权
  • 图片查重从设计到实现(7) :使用 Milvus 实现高效图片查重功能
  • python基础:request请求Cookie保持登录状态、重定向与历史请求、SSL证书校验、超时和重试失败、自动生成request请求代码和案例实践
  • GCC、glibc、GNU C(gnuc)的关系
  • 准大一GIS专业新生,如何挑选电脑?
  • redhat7.9更换源为centos7(阿里云源-目前centos7可用的源)
  • 基于KMeans、AgglomerativeClustering、DBSCAN、PCA的聚类分析的区域经济差异研究
  • 222. 完全二叉树的节点个数
  • AI算法实现解析-C++实例
  • 如何在在NPM发布一个React组件