InfraPub 为您找到相关结果 332

我要彻底放弃 Debian 操作系统!-Michael Stapelberg

,包括大型软件工程项目的工作原理,而且我也明白自己多么地喜欢我的计算机系统。我非常清楚这些日子以来的闲暇时间我是如何度过的。 我会在以下各小节中逐一介绍我所面临的主要困难,讨论顺序不分先后。其中有些困难有一些相互影响——例如,如果改动后的效果更好,那么我们就有机会将包转换成更方便的机器读取。 Debian的变更流程 最近几年,我目前的团队在个代码库中进行了各种大大小小的重构(涉及数千个项目),因此在关于如何有效地进行这些变更方面,我们学到了很多宝贵的经验。令我苦恼的是,Debian在各方面的工作方式几乎完全相反。我理解每个组织都不同,但我认为我的很多观点确实适用于Debian。 在Debian中,包的推送必须严格遵守一个文档——叫做Debian策略,还有个程序lintian用来保证该策略的实...阅读全文

博文 2019-03-22 17:01:23 Michael Stapelberg

HTML 5.1 — 14 项新增特性及使用案例

HTML5 属于万维网联盟 (W3C), 这个组织为个网络界提供了标准,如此形成的协议可在全世界通行。在 2016 年 11 月, W3C 对长期行使的 HTML 5 标准进行了更新,它是2年内的第一次小更新。许多最开始提出的 HTML 5.1 功能特性都因为设计上的缺陷和缺乏浏览器厂商的支持而去掉了。 尽管有一些元素和功能提升被带进了 HTML 5.1 里面, 但它仍然是一个小的更新。其中的一些新的元素包含了组合标签, 现在这样的元素包括有

,
, 以及, 这样就为开发者提供了更多表达创意和内容的空间。 W3C 以及开始着手发展 HTML 5.2 草案,有望于 2017 年底发布。而我们在这里所要呈现的是在版本...阅读全文

博文 2021-01-28 17:50:20 debian.cn

处理器架构消亡史

扩展到完的64位体系架构。于是,Alpha架构应运而生。Alpha于1992年末推出,是专为高端台式机,工作站和服务器设计的微处理器架构,这也使得他们成为首批实现64位体系架构的企业之一。Alpha对于产业的贡献或许不是有多少产品采用了这种架构,而是他在理论上为产业的发展提供了一种新思路。有人认为,Alpha,MIPS两种RISC架构都比较早的考虑了64位、和引入了很多超前的微架构设计概念,以至于影响了以后英特尔在微架构(uops)、超线程方面的发展,这些在英特尔处理器微架构设计隐约能看到Alpha架构的一些影子。除此之外,艾康电脑公司于1983年开始的开发项目——ARM也是值得一提的架构。1980年代晚期,苹果电脑开始与艾康电脑合作开发新版的ARM核心。由于这项目非常重要,艾康电脑甚至于...阅读全文

从 Debian 安装 Proxmox VE,并配置网络和双硬盘

签名的证书。 我习惯把视图调为目录视图。 左上角有个下拉框,Folder View. 这里系统是安装完了,但是还需要一些配置. 设置网络Datacenter - Nodes - node System - Network 现在服务器是通过具体的硬件网卡来获取 IP 地址接入互联网。 如图: 但是我们需要新建一个桥接网卡,VM 会通过这个桥接网卡来配置 IP 地址,类比桌面环境下用 VMWare 开虚拟机,通过桥接上网之类的。 这里需要先删掉 Network Device 上面的 IP 地址,因为 IP 地址不能同时分配到两张网卡上,所以记下你的 IP 地址和网关,当然,你的服务器后台也应该有这些。 那么,问题来了,删掉后,IP 地址没有配置到网卡上,我们是不是无法访问到这台服务器了呢?会立...阅读全文

博文 2021-03-01 20:20:31 驱蚊器喵的插座

分布式运行时 Dapr 知多少

微服务。 以上是Dapr官方GitHub仓库上对Dapr的简介。文字虽短,口气却很大,因为其除了涵盖了当前所有的技术热点:分布式、云、微服务,还自我标榜为:分布式应用运行时。分布式应用我们或多或少有些了解,运行时也听到不少,比如常见的语言运行时:Java 运行时,.NET 运行时,Go 运行时等等,那运行时又是什么东西?简要来说:运行时是程序运行依赖的执行环境。以.NET 程序运行时CLR为例,它为.NET应用程序提供了一个托管的代码执行环境负责应用程序在个执行期间的内存管理、线程管理、安全管理、远程管理、即使编译等。 那分布式应用运行时,就是提供分布式应用运行所依赖的的执行环境。那运行分布式应用需要哪些环境依赖呢?回答这个问题,我们要先思考开发分布式应用的挑战是什么?明确了挑战,那就找到...阅读全文

Cortex: 高可用和水平扩展Prometheus监控系统

服务。如果cortex有许多的查询,则可以扩展Querier或Query Frontend微服务。高可用性– Cortex可以在实例之间复制数据replicate data。这样可以防止数据丢失,并避免度量标准数据出现间断,即使发生机器故障and/orpod被驱逐。多租户–多个不受信任的parties可以共享同一群集。Cortex在从ingester到querying的个生命周期中提供数据隔离。这对于为多个单元或应用程序存储数据的大型组织或运行SaaS服务的人员非常有用。长期存储– Cortex将数据分块存储并为其生成索引。可以将Cortex配置为将其存储在自托管或云提供商支持的数据库或对象存储中。Cortex的需求Prometheus高可用性和数据去重Prometheus默认情况下不具有...阅读全文

博文 2021-10-09 17:00:22 知乎

开源社区的运作模式:Debian Vs. Ubuntu

(DD)和Debian维护人员(DM)。《Debian宪章》中定义了Debian开发者的权利,而Debian维护人员则是在2007年的总决议中才做的定义。DM一职被合到Debian官方的进程十分缓慢,而现在,自愿者在申请成为DD之前最好是先申请成为DM。 DD的主要职能是提交代码以及进行自己负责的包的维护。他们具有进入Debian服务器的权限,并可以参与社区投票(比如一年一次的选举)。 DM是一个没有多少权限的角色,他们只能为那些在Maintainer或Uploaders字段里包含他们的名字、并已经被DD指定了DM-Upload-Allowed: yes标记(意思为允许DM上传)的包执行上传的工作,除此之外他们没有别的权利,而他们访问Debian资源的权限也十分有限。 除了这两个官方角色外,还...阅读全文

博文 2021-01-28 17:50:09 debian.cn

Debian Live 项目的剧变

Learmonth 要求为他的包换一个不同的名字的时候,他得到了一个「有趣」的回复: 应该注意到, live-build 不是一个 Debian 项目,它是一个声称自己是官方 Debian 项目的外部项目,这是一个需要我们解决的问题。 这不是命名空间的问题,我们要将以目前维护的 live-config 和 live-boot 包为基础,把它们加入到 Debian 的本地项目。如果迫不得已的话,这将会有很多分支,但是我希望它不要发生,这样的话我们就可以把这些包合到 Debian 中并继续以一种协作的方式去开发。 live-build 已经被 debian-cd 放弃,live-build-ng 将会取代它。至少在一个精简的 Debian 环境中,live-build 会被放弃。我们(开发团队)正在与...阅读全文

博文 2021-01-28 17:50:14 debian.cn

如何在 Debian 下配置邮件服务器

程中的演示只是运行在实验室环境中。测试DNS服务器所有必要的记录都已配置,并且用户之间的邮件可以在相同的服务器上发送(相同的域交换)。为了让事情更有趣,多邮件服务器可以被部署到不同的域来检查电子邮件如何跨域通信,因为必要的DNS记录都已存在。 对外的邮件服务器有效的DNS记录。 Postfix和Dovecot的的设置,可以根据需要进行调。 警告:如果想要部署邮件服务器任何能够访问互联网邮件服务器,请确保您的SMTP是安全的。互联网以及来自局域网内部的恶意软件都是可以攻击SMTP的。...阅读全文

博文 2021-01-28 17:50:22 debian.cn

社交巨人Facebook使用Linux和Btrfs的姿势

被我们称之为“影子层”的地方进行——我们可以在一个非生产环境重放生产网络的流量,这样我们能够在一个非常安全的地方检测系统的稳定性和性能。我们可以像做实验那样一边加大流量一边说:“好了,我先给它(测试环境)5%的生产网络流量,然后一路增加到100%,看看会有什么发现吧。”像做A/B测试那样,我就能得到两个内核在个实验过程中对比鲜明的数据。 我们有工具能验证内核并帮助测试上游内核。这样比较容易发现上游内核新的有意思的bug,而非只是找到已经被上游内核修复过的bug。 Linux.com:您比较担心什么问题? Chris Mason:就运行Linux内核或者文件系统而言,我们还没遇到什么问题;况且有这么多的社区在支持Linux,我也没有必要担心什么。 Linux.com:您参与Linux开发也有...阅读全文

博文 2021-01-28 17:50:22 debian.cn

分布式任务调度平台 XXL

务,可根据业务事件灵活触发。 16、任务进度监控:支持实时监控任务进度; 17、Rolling 实时日志:支持在线查看调度结果,并且支持以 Rolling 方式实时查看执行器输出的完的执行日志; 18、GLUE:提供 Web IDE,支持在线开发任务逻辑代码,动态发布,实时编译生效,省略部署上线的过程。支持 30 个版本的历史版本回溯。 19、脚本任务:支持以 GLUE 模式开发和运行脚本任务,包括 Shell、Python、NodeJS、PHP、PowerShell 等类型脚本; 20、命令行任务:原生提供通用命令行任务 Handler(Bean 任务,”CommandJobHandler”);业务方只需要提供命令行即可; 21、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后...阅读全文

博文 2018-11-05 21:47:15 JOB 2.0.0 发布

Go 语言的大版本更新:Go 2.0 安排上了

月)。 而在为期3个月的开发周期中(2019年2月至5月),被选择的提案将会被实现,每位使用者都可以体验新功能并进行反馈(评估流程的第4步)。最后,在短暂的冻结期后(2019年5月1日),Go 开发团队会最终决定是否永久保留新功能(并保证这些功能与 Go 1 兼容),或是放弃这些功能(评估流程的最后一步)。 Go 开发团队表示这是首次采用这一流程,因此在冻结阶段将会是反思这个流程,并在必要时进行调的好机会。我们也不妨拭目以待吧!...阅读全文

聊聊很重要的内核技术eBPF

,eBPF程序可以调用帮助函数,该函数是内核提供的众所周知且稳定的API。 总结 安全,网络,负载均衡,故障分析,追踪等领域都是eBPF的主战场。对于云原生领域,Cilium 已经使用eBPF 实现了无kube-proxy的容器网络。利用eBPF解决iptables带来的性能问题。 个eBPF生态发展比较好,社区已经提供了诸多工具方便大家编写自己的eBPF程序。...阅读全文

博文 2020-08-16 11:08:44 debian.cn

基于thanos搭建分布式prometheus

external_labels: cluster: 158 rule_files: - /etc/prometheus/rules/*.yml remote_write: - url: http://receive集群的service ip:19291/api/v1/receive scrape_configs: remote_write部分的IP填写receive集群对外暴露的入口IP,端口是receive组件的remote-write专用端口19291,URI部分是固定的。 最后 thanos官方提供了一个sidecar方案的交互式教程,帮助大家理解thanos个组件关系和配置过程,建议学习:https://katacoda.com/thanos/courses/thanos,实际生产中建议采用方案2。 如果文章...阅读全文

博文 2021-03-01 13:02:46 鱼儿的博客

隐私声明

在如下情况下向特定主体披露您的个人信息: 获得您的同意。在您同意的情况下,我们可能会与第三方商业伙伴分享您的个人信息。 授权的第三方服务提供者。我们可能会与第三方服务提供者分享信息,这些第三方服务提供者帮助我们提供专业服务,包括客户支持,电子邮件和短信应用,商业分析,市场推广和数据处理等。 竞赛或促销。当您选择参加一项竞赛或促销或其他类似活动,则根据该活动规则,您的信息可能会被披露给赞助商、供应商和其他协助我们设计、管理和实施该项活动的第三方服务提供者,这些第三方服务提供者可能包括竞赛评委,奖品提供者,奖品快递者和体数据分析者。您的信息还可能跟法律法规的要求被披露。 重大交易。我们可能会在公司重大交易时披露您的信息,比如出售、并购和破产。法律法规或公权力部门要求。我们可能会根据...阅读全文

Kubernetes 部署 Nacos 1.4 集群 · 小豆丁

等可视化工具进行快捷导入。 四、部署 Nacos 这里我们部署 Nacos 集群模式,体如下示意图,会在 Kubernetes 中创建一个 Service,该 Service 关联 Nacos 中的多个 Pod,一个 Pod 就是 Nacos 节点,Pod 之间通过该 Service 进行交互。最后我们会配置一个 NodePort 方式对外访问。当然,你如果你的 Kubernetes 集群已经部署了 Ingress Controller 则可以创建 Ingress 规则对外提供访问。 ](https://imgchr.com/i/sH7vBF) 1、创建 RBAC 资源 nacos-rbac.yaml apiVersion: v1 kind: ServiceAccount metadata...阅读全文

博文 2021-02-24 10:10:29 www.mydlq.club

字节跳动开源微服务中间件 CloudWeGo - OSCHINA

部依赖调为开源库。 对于需要集成治理能力融入微服务体系的 Kitex,他们基于其扩展性,对内外部代码做了拆分,把 Kitex 的核心代码迁移到开源库,内部库封装一层壳保证内部用户无感知升级,而集成内部治理特性的模块则作为 Kitex 的扩展保留在内部库。字节跳动基础架构团队表示,未来也会持续把已经在内部经过稳定性验证的新特性,迁移到开源库。 谈到 CloudWeGo 的未来规划,字节跳动基础架构团队表示:“CloudWeGo 不仅仅是一个开源项目,它也是一个真实的超大规模企业级实践项目。通过开源,我们希望 CloudWeGo 能丰富云原生社区的 Golang 工具体系,为更多开发者和企业搭建云原生化的大规模分布式系统,提供一种现代的、资源高效的的技术方案。” 未来他们会进一步推动...阅读全文

博文 2021-09-09 13:56:42 中文开源技术交流社区

什么是线程安全,以及并发需要知道的几个概念

里等待,直到售货员把衣服交给你后才算购物成功,这就相当于同步的过程。 不过,如果是在网上购物的话,我们只需下单并完成支付,对我们来说个购物过程就算完成了。网上的商家接到订单会帮我们加紧安排送货,这段时间我们可以去做其他的事,比如去外面打个篮球之类的。等送货上门并签收商品就完事了,这个过程就相当于异步。 并发和并行并发和并行的功能很相似,两者都可以表示多个任务一起执行的情况,但本质上两者其实是有区别的。 严格意义上来说,并行的多任务是真实的同时执行,而并发更多的情况是任务之间交替执行,系统不停的在多个任务间切换执行,也就是 “串行” 执行。 最直接的例子的就是我们的计算机系统,在单核CPU时代,系统表面上能同时进行多任务处理,比如听歌的同时又浏览网页,但真实环境中这些任务不可能是真实并行的...阅读全文

博文 2018-12-31 20:44:06 debian.cn

Gitlab CI 配置文件 .gitlab

,将从项目中使用默认值。 可以设置的值有:clone,fetch,和none。 clone是最慢的选项。它会从头开始克隆个仓库,包含每一个job,以确保项目工作区是最原始的。 variables: GIT_STRATEGY: clone 当它重新使用项目工作区是,fetch是更快(如果不存在则返回克隆)。git clean用于撤销上一个job做的任何改变,git fetch用于获取上一个job到现在的的commit。 variables: GIT_STRATEGY: fetch none也是重新使用项目工作区,但是它会跳过所有的Git操作(包括GitLab Runner前的克隆脚本,如果存在的话)。它主要用在操作job的artifacts(例如:deploy)。Git数据仓库肯定是存在的,但...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

在 Kubernetes 上扩展 TensorFlow 模型

些,有效地在 Kubernetes 上扩展 TensorFlow 模型。 ## 使用 TFJob 进行可扩展的 TensorFlow 训练 TFJob 可以在 Kubernetes 中扩展,方法是使用[TensorFlow 分发策略](https://www.tensorflow.org/api_docs/python/tf/distribute/Strategy)实现分布式训练。在机器学习中有两种常用的分布式策略:同步和异步。 在同步训练中,worker 对特定批次的训练数据进行并行训练。每个 worker 都会进行自己的前向传播步骤,并对迭代的体结果进行汇总。 相比之下,在异步训练中,worker 对相同的数据进行并行学习。在这种方法中,有一个称为[Parameter Server...阅读全文

深入理解Golang之context

// reading from req.Header after their Handler starts // and maybe mutates it (Issue 14940) wants10KeepAlive: req.wantsHttp10KeepAlive(), wantsClose: req.wantsClose(), } ... return w, nil } 这样处理的目的主要有以下几点:一旦请求超时,即可中断当前请求;在处理构建response过程中如果发生错误,可直接调用response对象的cancelCtx方法结束当前请求;在处理构建response完成之后,调用response对象的cancelCtx方法结束当前请求。在个server处理流程中,使用了一条context链贯穿...阅读全文

博文 2021-01-27 09:05:27 知乎

译:零信任对 Kubernetes 意味着什么

外指定的某种形式的策略来捕获它。拥有明确的策略允许我们在不修改应用程序代码的情况下审核和更改访问权限。为了实现我们的零信任目标,这些策略可能非常复杂。我们可能有一个策略,它将对服务的访问限制为只有那些需要访问它的服务调用方(即,在双方都使用工作负载身份)。我们可能会进一步细化,只允许访问该服务上的某些接口(HTTP 路由、gRPC 方法)。更进一步,根据请求的用户身份限制访问。在所有情况下,目标都是最低权限——只有在非常必要时才能访问系统和数据。执行最后,零信任要求我们在最细粒度的级别上同时执行身份验证(确认身份)和授权(验证策略是否允许该操作)。每个授予数据或计算访问权限的系统都应该设置从外围到单个组件的安全边界。与策略类似,这种执行理想情况下是在个堆栈中统一完成的。不是每个组件都使用自...阅读全文

“Debian 章程有毒” - OSCHINA

the light of Joey's resignation, as I'm sure many of us have been. Joey 的离职让我不住去想 Debian 的管理出了什么问题,我相信我们其中许多人也一样。 当时,Russ 已经在 Debian 技术委员会里待了6个年头,但他没能熬过2014年那场论战。他表示,委员会几乎每一个决策都受到巨大的压力,他感到没有精力来处理这些事情,他也觉得自己在技术委员会的工作对个项目没什么帮助。 2019年,Debian 开发者 Michael Stapelberg 在离职 Debian 时留下一篇长文,里面细数了 Debian 内部的各种问题,引起各方热议。 在写下这篇文章的几个星期前,Michael 在苏黎世 Debian 聚会上遇见了一...阅读全文

博文 2021-12-06 13:55:33 中文开源技术交流社区

Docker 核心原理

cgroup 节点可以包含零或多个子节点,子节点继承父节点的属性。个系统可以有多个hierarchy。 配置示例 docker run -d --cpus=0.1 --memory=100MB busybox 1 2 3 4 5 root@lxkaka-server:/sys/fs/cgroup/cpu/docker/ee43bb16af9947ed9e8498ad42c859318e001365043e4cda410f68b4a0d79378# cat cpu.cfs_quota_us 10000 root@lxkaka-server:/sys/fs/cgroup/memory/docker...阅读全文

博文 2021-02-25 09:14:23 lxkaka

Kubernetes源码探疑:Pod IP泄露排查及解决方法

的Kubernetes API, 以UCloud 公有云资源为基础, 通过自研的插件合打通了ULB、UDisk、EIP等公有云网络和存储产品,为用户提供一站式云上Kubernetes服务。 其中VPC既保障网络隔离,又提供灵活的IP地址定义等,是用户对网络的必备需求之一。UK8S研发团队经过考察后认为,UCloud基础网络平台具有原生、强大的底层网络控制能力,令我们能抛开Overlay方案,把VPC的能力上移到容器这一层,通过VPC的能力去实现控制和转发。 UK8S每创建一个Pod都为其申请一个VPC IP并通过VethPair配置到Pod上,再配置策略路由。 原理如下图所示。 此方案具有以下优势: 无Overlay,网络性能高。50台Node下的测试数据表明,容器与容器之间的网络性能,相...阅读全文

WebAssembly:无需容器的 Docker (下)

数直接传递给 php.wasm 明确声明运行时,而不包括二进制文件本身。 拉到上面可以看到我们可以使用传统的 PHP 容器明确编写完的命令,包括 php 二进制文件(不是必需的)。最后一点,即使使用 Docker,Wasm 也加强了运行 index.php 的安全性,因为暴露给它的要少得多。docker run --rm \ --runtime=io.containerd.wasmedge.v1 \ -v $(pwd)/images/php/docroot:/docroot \ ghcr.io/vmware-labs/php-wasm:7.4.32-cli-aot \ -f /docroot/index.php

Hello from PHP 7.4.32...阅读全文

博文 2023-01-03 06:39:46 spider

Golang 操作 Kafka 样例

消费者组中,每个消费者实例可以消费多个分区,但是每个分区最多只 能被消费者组中的⼀个实例消费。也就是说,如果有⼀个4个分区的主题,那么消费者组中最多只能有4 个消费者实例去消费,多出来的都不会被分配到分区。其实这也很好理解,如果允许两个消费者实例同 时消费同⼀个分区,那么就⽆法记录这个分区被这个消费者组消费的offset了。如果在消费者组中动态 的上线或下线消费者,那么Kafka集群会⾃动调分区与消费者实例间的对应关系。 3. 操作Kafka 3.1.1. sarama Go语言中连接kafka使用第三方库: github.com/Shopify/sarama。 3.1.2. 下载及安装 go get github.com/Shopify/sarama 复制代码 注意事项: sarama...阅读全文

博文 2023-01-10 13:46:09 掘金

Monit:开源服务器监控工具

在3个周期内重新启动服务2次,将取消监视服务: if 2 restarts within 3 cycles then unmonitor 要在禁用监视后使Monit再次检查服务,请从命令行运行monit monitor servicename。 超时设置自定义exec的示例: if 5 restarts within 5 cycles then exec "/foo/bar" 停止服务的示例: if 7 restarts within 10 cycles then stop 服务示例 一个完的HOST监控服务语法: check host address

if failed xxx then alert alert xx@xxx 解释:第一...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

7大维度看国外企业为啥选择gRPC打造高性能微服务

源gRPC生态系统 列出了许多gRPC激动人心的项目。 另外,gRPC有我们认同的原则 Lyft在转向gRPC方面做了大量的讨论,这与我们的经验非常相似:使用Protocol Buffers和gRPC生成统一的API。值得一试。 gRPC现在还处于初期阶段,存在一些明显的磨合问题,但未来前景光明。总的来说,我们对gRPC如何合到后端系统非常乐观,并且很高兴见证这个框架的发展。 原文链接: blog.bugsnag.com/ 本文转自:Segmentfault.com...阅读全文

博文 2018-03-19 17:51:32 debian.cn

深入了解Docker背后的namespace技术

namespace。在network.c中保存这一修改,然后编译运行。 > gcc -o net network.c > ./net ip a 1: lo: mtu 65536 qdisc noop state DOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 这次运行的结果与首次运行ip a相比看起来很不相同。这一次我们只看到了一个 loopback接口。这是因为我们创建的进程,只有一个它自己的network namespace视图,而不是个host。这就是如何创建一个新的network namespace的方法。 Docker使用新的network namespace启动一个veth接...阅读全文

博文 2015-05-17 10:03:00 debian.cn

Sam Altman的成功学|OneFlow

且总是设法规避这些批评。但现在我开始尝试听取这些意见,我会先设想这些批评是正确的,然后在这个基础上调我的计划。做决定的过程充满了艰辛和痛苦,但也只有经历了这个过程才能将自信和自欺欺人区分开来。 保持自信与自我认知之间的平衡可以让人免于傲气、避免与他人脱节。 3 学会独立思考 创业很难,因为培养原创性思维很难。这种思维在学校里面是学不到的,实际上学校培养的是一种相反的思维方式,所以只能靠我们自己来培养原创性思维。 我们可以从第一性原理(first principles)出发,从中想出新的点子,然后与人交流沟通,对这些想法进行改良,之后我们再用轻松快捷的方式进行实际测试。 对创业者来说,失败是家常便饭,但我们一定要抱有必胜的信念,要不断尝试、不断试错,只有这样才能得到幸运之神的眷顾。 在这个过...阅读全文

HTTP状态码详解

制将会正常工作。 ETag 和/或 Content-Location,假如同样的请求本应返回200响应。 Expires, Cache-Control,和/或Vary,假如其值可能与之前相同变量的其他响应对应的值不同的话。 假如本响应请求使用了强缓存验证,那么本次响应不应该包含其他实体头;否则(例如,某个带条件的 GET 请求使用了弱缓存验证),本次响应禁止包含其他实体头;这避免了缓存了的实体内容和更新了的实体头信息之间的不一致。 假如某个304响应指明了当前某个实体没有缓存,那么缓存系统必须忽视这个响应,并且重复发送不包含限制条件的请求。 假如接收到一个要求更新某个缓存条目的304响应,那么缓存系统必须更新个条目以反映所有在响应中被更新的字段的值。 305 被请求的资源必须通过指定的代理...阅读全文

博文 2021-01-28 17:50:11 debian.cn