余晖落尽暮晚霞,黄昏迟暮远山寻
本站
当前位置:网站首页 > 编程知识 > 正文

http请求头详解(http请求头和响应头)

xiyangw 2022-11-24 16:37 51 浏览 0 评论

Request Headers

参数

含义

http请求头详解(http请求头和响应头)

实例

Accept

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

Accept: text/plain, text/html,application/json

Accept-Charset

浏览器可以接受的字符编码集。

Accept-Charset: iso-8859-5

Accept-Encoding

指定浏览器可以支持的web服务器返回内容压缩编码类型。

Accept-Encoding: compress, gzip

Accept-Language

浏览器可接受的语言

Accept-Language: en,zh

Accept-Ranges

可以请求网页实体的一个或者多个子范围字段

Accept-Ranges: bytes

Authorization

HTTP授权的授权证书

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Cache-Control

指定请求和响应遵循的缓存机制

Cache-Control: no-cache

Connection

表示是否需要持久连接。(HTTP 1.1默认进行持久连接)

Connection: close

Content-Length

请求的内容长度

Content-Length: 348

Content-Type

请求的与实体对应的MIME信息

Content-Type: application/x-www-form-urlencoded

Date

请求发送的日期和时间

Date: Tue, 15 Nov 2010 08:12:31 GMT

Host

指定请求的服务器的域名和端口号


Referer

先前网页的地址,当前请求网页紧随其后,即来路


User-Agent

User-Agent的内容包含发出请求的用户信息,浏览器版本信息

User-Agent: Mozilla/5.0 (Linux; X11)

Warning

关于消息实体的警告信息


If-None-Match

如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag比较判断是否改变

If-None-Match: “737060cd8c284d8af7ad3082f209582d”

If-Match

只有请求内容与实体相匹配才有效

If-Match: “737060cd8c284d8af7ad3082f209582d”

Response Headers(响应头)

参考博客:https://blog.csdn.net/GISuuser/article/details/119577048

参数

含义

实例

Content-Length

数据长度


Content-Language

服务器的语言环境


Refresh

告诉浏览器隔多长时间刷新一次


ETag

与缓存相关的头


Server

服务器通过这个头,告诉浏览器服务器的类型

ApacheApache

Access-Control-Allow-Origin

指定允许其他域名访问

/一般用法(*,指定域,动态设置)

Access-Control-Allow-Credentials

是否允许后续请求携带认证信息(cookies)

该值只能是true,否则不返回

如果你使用的域名是origin允许的,Response Headers里会多出几个基本头信息字段:

判断是否加了跨域信息

  1. Access-Control-Allow-Credential: true,
  2. Access-Control-Allow-Headers:origin, content-type, accept, x-request-with,
  3. Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS,
  4. Access-Control-Allow-Origin: http:localhost:8000

请求头中的Referer参数可用于防盗链

Referer是 HTTP请求header 的一部分,当浏览器(或者模拟浏览器行为)向web 服务器发送请求的时候,头像信息里有包含 Referer。比如我在www.google.com 里有一个www.baidu.com 链接,那么点击这个www.baidu.com ,它的header 信息里就有:

Referer=http://www.google.com

由此可以看出来吧。它就是表示一个来源。

Referer的作用

a.防盗链。可以根据请求头里的这个参数图片的访问权限,只允许自己公司网站访问。可通过java代码和nginx反向代理实现防盗链

实现方案:写个java拦截器,获取文件url的请求头信息,当参数Referer值在白名单中则放行,否则重定向到错误页面或者返回错误图片

像网站中的一些静态文件js,css,图片等会存在缓存问题,可以在url后面增加个时间戳参数来解决,但是不一定实时有效

浏览器缓存带来的问题?

缓存固有好处,但是js或者css未及时更新,导致每个用户看到的效果不一样或者出错

如何发现是缓存文件?

当http中的状态码为304时,表示浏览器读的是本地资源

如何解决缓存?

a.shift+f5 可以强制刷新缓存,刷新后再看状态码就变为200了

b.手动清空浏览器缓存

c.文件url加时间戳方案

相关推荐

web前端开发中必会JavaScript属性和常用方法
web前端开发中必会JavaScript属性和常用方法

Web前端入门到精通必会JS的属性和常用方法,应同学留言要求,今天抽时间整理总结了Web前端实际开发中必会的变量、基本数据类型、表达式与操作符、流程控制语句、数...

2023-03-21 18:36 xiyangw

D3.js入门教程(d3.js书籍)
D3.js入门教程(d3.js书籍)

作者:karen转发链接:https://mp.weixin.qq.com/s/TFpywiD6PY7HMlKIpQwDFQWHATD3.js是一个JavaSc...

2023-03-21 18:36 xiyangw

JavaScript—Promise 入门(:javascript)
JavaScript—Promise 入门(:javascript)

Promise在中文中被表示成“期约”,下文均用原词Promise很多时候请求在程序中或网页上进行操作,但请求的结果不能立即用于进一步处理。在这种情况下,操作...

2023-03-21 18:35 xiyangw

Javascript入门 001(javascript 菜鸟教程)
Javascript入门 001(javascript 菜鸟教程)

javascript是一种基于对象和事件驱动的,并具有安全性能的,是一种轻量级的脚步语言,能减轻服务器压力和实现页面动态效果javascript有ECMASC...

2023-03-21 18:35 xiyangw

初学JavaScript之简介(javascript如何学)

JavaScript是开发WEB而闻名的脚本语言。JavaScript可以直接插入HTML代码中,由浏览器来执行。Javascript可以在网页上实现复杂的功能,例如实时的内容更新,交互式的地图,2D...

JavaScript基础知识及写法(javascript 菜鸟教程)
JavaScript基础知识及写法(javascript 菜鸟教程)

JavaScript基础概念JS的组成:1.ECMAScript:Js语法2.DOM:文档对象模型,文档:html文档,操作html文档(操作html文...

2023-03-21 18:34 xiyangw

海口达内:初学者学JavaScript 5个小技巧,实用
海口达内:初学者学JavaScript 5个小技巧,实用

我们都知道JavaScript因为与绝大多数浏览器都兼容,可以在这些浏览器中使用它。又因为JavaScript的简单,所以使用范围相当广泛。许多程序员过去常常认...

2023-03-21 18:33 xiyangw

一本涵盖Web前后端全栈开发的JavaScript入门教程
一本涵盖Web前后端全栈开发的JavaScript入门教程

在如今种类众多的编程语言中,JavaScript是一个非常特殊的存在。如果从语言设计的角度来分析,JavaScript应该被归类为基于原型的、解释型的高级编程语...

2023-03-21 18:32 xiyangw

JavaScript 简单使用,从入门开始(javascript可直接在电脑上使用)
JavaScript 简单使用,从入门开始(javascript可直接在电脑上使用)

HTML中的脚本必须位于<script>与</script>标签之间。脚本可被放置在HTML页面的<body>...

2023-03-21 18:32 xiyangw

初学者怎样学习 JS 更有效?六个方法供你参考
初学者怎样学习 JS 更有效?六个方法供你参考

1024程序员节,推荐一些前端开发工程师必读书籍本文已经作者DmitriPavlutin授权翻译!当你决定学习JS是有可能是因为你想成为一个前端或后端...

2023-03-21 18:32 xiyangw

初学者必看的JavaScript 七大点!(javascript入门教程)
初学者必看的JavaScript 七大点!(javascript入门教程)

这里有一些Javascript初学者应该知道的技巧和陷阱。如果你已经是专家了,顺便温习一下。Javascript也只不过是一种编程语言。怎么可能出错嘛?1....

2023-03-21 18:31 xiyangw

JS基础入门:事件捕获与事件冒泡(事件捕获 冒泡)
JS基础入门:事件捕获与事件冒泡(事件捕获 冒泡)

JS是前端很重要的一部分内容,可以说把JS的基础打好了,你才能更好的向上发展,而且现在很多大公司初试考察的就是js基础,如果你连初试都过不了,更不用说后面的复试...

2023-03-21 18:31 xiyangw

如果我重新从零开始学Javascript,我将遵循这个路线图
如果我重新从零开始学Javascript,我将遵循这个路线图

如果我要从头开始重新启动Javascript,那么我会遵循这个路线图。值得注意的是,作为这门学科的初学者,学习者的大部分兴趣掌握在导师手中。低效的导师会很快导致...

2023-03-21 18:31 xiyangw

23条JavaScript初学者应知的最佳实践方法(唱歌技巧和发声方法初学者唱歌)
23条JavaScript初学者应知的最佳实践方法(唱歌技巧和发声方法初学者唱歌)

作者:web前端开发转发链接:https://mp.weixin.qq.com/s/VpCiBMZ5fMRNpKAASUpi7w优先使用===,而不是==Jav...

2023-03-21 18:30 xiyangw

给JavaScript初学者的23条最佳实践(javascript环境配置)
给JavaScript初学者的23条最佳实践(javascript环境配置)

1.使用===代替==JavaScript使用2种不同的等值运算符:===!==和==!=,在比较操作中使用前者是最佳实践。“如果两边的操作数具有相...

2023-03-21 18:30 xiyangw

取消回复欢迎 发表评论: