前端学习----header头相关知识

孔汤姆 2020-11-13 02:05:26
前端 学习 知识 相关 header


一.请求头


1.Host 


请求的服务器网址

描述请求将被发送的目的地,包括,且仅仅包括域名和端口号。
在任何类型请求中,request都会包含此header信息。

服务器通过host来知晓访问哪个网址

虚拟主机(virtual hosting)即共享主机(shared web hosting),可以利用虚拟技术把一台完整的服务器分成若干个主机,因此可以在单一服务器上运行多个网站或服务。

举一个简单的例子:有一台 ip 地址为 61.135.169.125 的服务器,在这台服务器桑部署着谷歌、百度、淘宝的网站。为什么我们访问 https://www.google.com 时,看到的是 Google 的首页而不是百度或者淘宝的首页?原因就是 Host 请求头决定着访问哪个虚拟主机。

  

         
2.Connection         keep-alive

 

浏览器中不设置Connection,会默认是keep-alive(长连接)
关于 Connection 的相关信息
https://blog.csdn.net/mangoyiy/article/details/80941816


3.Origin


用来说明请求从哪里发起的,包括,且仅仅包括协议和域名。
这个参数一般只存在于CORS跨域请求中,可以看到response有对应的header:Access-Control-Allow-Origin。

该文章里提到关于  Origin 用来预防cfrs攻击
https://blog.csdn.net/xiejin2008/article/details/84612656?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1


  这里提到了什么是csrf攻击


https://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html


4.refere

        1.防盗链
         比如我只允许我自己的网站访问我自己的图片服务器
 
         2.防止恶意请求。

         相关的例子:
        https://blog.csdn.net/weixin_34128839/article/details/90104333


关于 Origin和 refere的对比

origin主要是用来说明最初请求是从哪里发起的;
origin只用于Post请求,而Referer则用于所有类型的请求;
origin的方式比Referer安全。


5.User-Agent         


Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36");

简单来讲,就是访问来源的浏览器版本等信息

Mozilla/5.0  


Mozilla/5.0
由于历史上的浏览器大战,当时想获得图文并茂的网页,就必须宣称自己是 Mozilla 浏览器。此事导致如今User-Agent里通常都带有Mozilla字样,出于对历史的尊重,大家都会默认填写该部分。

Windows NT 10.0是指我使用的操作系统的版本

Win64; x64是指我的操作系统是64位的

AppleWebKit/537.36 (KHTML, like Gecko)                   引擎版本

Chrome/70.0.3538.77 Safari/537.36     浏览器版本

相关博客
https://www.jianshu.com/p/c5cf6a1967d1


6.Accept-Encoding         gzip, deflate, br Accept-Language    zh-CN,zh;q=0.9


Accept-Encoding请求的 HTTP 标头通告其内容编码,通常是一个压缩算法中,客户端是能够理解的。使用内容协商,

服务器选择其中一个提议,使用它并通过Content-Encoding响应头向客户端通知其选择。

gzip使用 Lempel-Ziv 编码( LZ77 )的压缩格式,带有32位 CRC 。

compress使用 Lempel-Ziv-Welch( LZW )算法的压缩格式。

deflate使用 zlib 结构的压缩格式,以及 deflate 压缩算法。

br使用 Brotli 算法的压缩格式。

identity指示身份功能(即不压缩,也不修改)。即使不存在,该值始终被认为是可以接受的。

*匹配尚未在标题中列出的任何内容编码。如果标题不存在,这是默认值。这并不意味着支持任何算法; 只是表示没有偏好。

;q=( q 值加权)任何值都按照称为权重的相对质量值的优先顺序排列

7.Content-Type    application/json;charset=utf-8

Content-Type(内容类型),一般是指网页中存在的 Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到一些 PHP 网页点击的结果却是下载一个文件或一张图片的原因。

Content-Type 标头告诉客户端实际返回的内容的内容类型。

语法格式:

ext/html : HTML格式

text/plain :纯文本格式

text/xml : XML格式

image/gif :gif图片格式

image/jpeg :jpg图片格式

image/png:png图片格式

application/xhtml+xml :XHTML格式

application/xml: XML数据格式

application/atom+xml :Atom XML聚合格式

application/json: JSON数据格式

application/pdf:pdf格式

application/msword : Word文档格式

application/octet-stream : 二进制流数据(如常见的文件下载)

application/x-www-form-urlencoded : <form encType=””>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式

外一种常见的媒体格式是上传文件之时使用的:

multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式

8.Accept      application/json, text/plain, */*

指定客户端能够接收的内容类型

9.Cache-Control   no-cache

相关的缓存策略
https://blog.csdn.net/u012375924/article/details/82806617

版权声明
本文为[孔汤姆]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_42369687/article/details/105726168

  1. [front end -- JavaScript] knowledge point (IV) -- memory leakage in the project (I)
  2. This mechanism in JS
  3. Vue 3.0 source code learning 1 --- rendering process of components
  4. Learning the realization of canvas and simple drawing
  5. gin里获取http请求过来的参数
  6. vue3的新特性
  7. Get the parameters from HTTP request in gin
  8. New features of vue3
  9. vue-cli 引入腾讯地图(最新 api,rocketmq原理面试
  10. Vue 学习笔记(3,免费Java高级工程师学习资源
  11. Vue 学习笔记(2,Java编程视频教程
  12. Vue cli introduces Tencent maps (the latest API, rocketmq)
  13. Vue learning notes (3, free Java senior engineer learning resources)
  14. Vue learning notes (2, Java programming video tutorial)
  15. 【Vue】—props属性
  16. 【Vue】—创建组件
  17. [Vue] - props attribute
  18. [Vue] - create component
  19. 浅谈vue响应式原理及发布订阅模式和观察者模式
  20. On Vue responsive principle, publish subscribe mode and observer mode
  21. 浅谈vue响应式原理及发布订阅模式和观察者模式
  22. On Vue responsive principle, publish subscribe mode and observer mode
  23. Xiaobai can understand it. It only takes 4 steps to solve the problem of Vue keep alive cache component
  24. Publish, subscribe and observer of design patterns
  25. Summary of common content added in ES6 + (II)
  26. No.8 Vue element admin learning (III) vuex learning and login method analysis
  27. Write a mini webpack project construction tool
  28. Shopping cart (front-end static page preparation)
  29. Introduction to the fluent platform
  30. Webpack5 cache
  31. The difference between drop-down box select option and datalist
  32. CSS review (III)
  33. Node.js学习笔记【七】
  34. Node.js learning notes [VII]
  35. Vue Router根据后台数据加载不同的组件(思考-&gt;实现-&gt;不止于实现)
  36. Vue router loads different components according to background data (thinking - & gt; Implementation - & gt; (more than implementation)
  37. 【JQuery框架,Java编程教程视频下载
  38. [jQuery framework, Java programming tutorial video download
  39. Vue Router根据后台数据加载不同的组件(思考-&gt;实现-&gt;不止于实现)
  40. Vue router loads different components according to background data (thinking - & gt; Implementation - & gt; (more than implementation)
  41. 【Vue,阿里P8大佬亲自教你
  42. 【Vue基础知识总结 5,字节跳动算法工程师面试经验
  43. [Vue, Ali P8 teaches you personally
  44. [Vue basic knowledge summary 5. Interview experience of byte beating Algorithm Engineer
  45. 【问题记录】- 谷歌浏览器 Html生成PDF
  46. [problem record] - PDF generated by Google browser HTML
  47. 【问题记录】- 谷歌浏览器 Html生成PDF
  48. [problem record] - PDF generated by Google browser HTML
  49. 【JavaScript】查漏补缺 —数组中reduce()方法
  50. [JavaScript] leak checking and defect filling - reduce() method in array
  51. 【重识 HTML (3),350道Java面试真题分享
  52. 【重识 HTML (2),Java并发编程必会的多线程你竟然还不会
  53. 【重识 HTML (1),二本Java小菜鸟4面字节跳动被秒成渣渣
  54. [re recognize HTML (3) and share 350 real Java interview questions
  55. [re recognize HTML (2). Multithreading is a must for Java Concurrent Programming. How dare you not
  56. [re recognize HTML (1), two Java rookies' 4-sided bytes beat and become slag in seconds
  57. 【重识 HTML ,nginx面试题阿里
  58. 【重识 HTML (4),ELK原来这么简单
  59. [re recognize HTML, nginx interview questions]
  60. [re recognize HTML (4). Elk is so simple