【Web服务】HTTP和DNS重要知识
304状态码
HTTP状态码中的304状态码表示"未修改",通常在客户端发起了一个带有If-Modified-Since头部的GET请求时会得到这个响应。服务器通过比较If-Modified-Since头部指定的时间戳和资源的最后修改时间来判断资源是否被修改过,如果没有修改则返回304状态码,告诉客户端使用缓存中的版本即可。
这种方式可以有效地减少网络流量和服务器负载,因为客户端可以避免不必要的下载。同时也保证了资源的一致性和正确性,因为只有在资源被修改时才会重新下载。
503 service unavailable
GET和POST有什么区别吗?
GET和POST是HTTP协议中最常用的两种请求方法,它们有以下区别:
GET请求会将请求参数附加在URL后面,而POST请求则将请求参数放在请求体中。因此,GET请求的请求参数可以直接在浏览器地址栏中看到,而POST请求的请求参数则不可见。
GET请求的安全性相对较低,因为请求参数暴露在URL中,容易被拦截或修改;而POST请求的安全性相对较高,请求参数被放在请求体中,不易被拦截或修改。
GET请求通常用于获取资源,而POST请求通常用于提交数据。
GET请求的响应可以被缓存,从而提高性能;而POST请求的响应不能被缓存。
总的来说,GET请求适用于请求数据,而POST请求适用于提交数据。
HTTP 各版本
HTTPS使用了SSL/TLS加密来保证数据的安全性和完整性。HTTP是明文传输的,而HTTPS则使用SSL/TLS加密,使得数据在传输过程中更难被窃听、篡改或伪造。
HTTPS比HTTP多了一次握手,即TLS/SSL握手。这个握手是建立连接时进行的,目的是确保通信双方都能够理解加密协议并根据协议协商出一个共同的加密密钥。
在验证阶段,除了传递密钥以外,HTTPS还会发送证书给客户端。这个证书包含了服务器的公钥、域名等信息,客户端可以通过证书来验证服务器身份的真实性。
HTTP 2.0
多路复用:HTTP/2 支持多路复用,可以同时处理多个请求和响应,从而提高网络效率。
二进制分帧:HTTP/2 将所有数据分成二进制格式的帧,每个帧都有一个唯一标识符,这种方式可以提高传输效率。
首部压缩:HTTP/2 可以对头部数据进行压缩,减少了传输的数据量。
服务器推送:HTTP/2 支持服务器推送,可以在客户端请求前将相关资源主动推送给客户端,提高页面加载速度。
SSL传输过程
SSL(Secure Socket Layer)加密是一种常用的加密通信协议,其基本步骤如下:
客户端发起请求:客户端向服务器发送一个HTTPS请求。
服务器反馈证书:服务器会将自己的身份信息以及公钥封装在一个数字证书中,并将其发送给客户端。
客户端验证证书:客户端接收到证书后,会验证证书的合法性和真实性。如果证书合法,则继续进行 SSL 握手过程,否则提示证书不受信任。
客户端生成密钥:验证证书成功后,客户端会生成一个对称密钥,并使用服务器的公钥进行加密。
传输加密数据:服务器使用自己的私钥解密客户端发送的加密数据,然后再使用对称密钥加密需要传输的数据并发送给客户端。
数据传输完成:客户端接收到加密数据后,使用对称密钥解密数据并进行处理,从而完成整个数据传输过程。
总的来说,SSL加密过程分为握手阶段和数据传输阶段两个部分。握手阶段主要是通过数字证书等机制建立安全通道,而数据传输阶段则是通过对称密钥进行加密和解密实现数据安全传输。
对称加密:双方用的同一密钥,速度快,但一方泄露就危险了。
非对称加密:使用成对的公钥和私钥进行加密和解密。公钥可以公开,而私钥必须保持机密性。发送方使用接收方的公钥进行加密,接收方使用自己的私钥进行解密。由于只有接收方知道私钥,所以非对称密钥加密更安全,但速度比对 称密钥加密慢得多,适用于小量数据加密。
HTTPS 四次握手
HTTPS使用的是安全套接字层(SSL)或传输层安全性协议(TLS),它们都是用于加密数据传输的。HTTPS的四次握手过程如下:
- 客户端向服务器发送一个SSL/TLS协议版本号以及所支持的加密算法列表。
- 服务器从客户端提供的加密算法列表中选择一种加密算法,并向客户端返回一个包含该加密算法的SSL/TLS协议版本号,以及服务器的数字证书。
- 客户端验证服务器的数字证书是否有效并符合要求,如果数字证书无效或不符合要求,则会向客户端发出警告。
- 如果数字证书有效且符合要求,客户端会生成一个随机数,并使用服务器公钥加密该随机数,并将其发送给服务器。服务器使用自己的私钥解密该随机数,并使用该随机数生成对称密钥。此后,客户端和服务器之间的所有通信均使用该对称密钥进行加密和解密。
数字签名的验证过程
说明:
具体来说,接收者首先使用发送者的公钥来对数字签名进行解密操作(这里用“解密”这个词并不准确,因为数字签名并没有被加密)。这个操作会得到一个摘要,然后接收者使用相同的哈希函数生成原始消息的摘要,并将这两个摘要进行比较。
如果两个摘要相同,则说明数字签名是有效的,并且可以确定原始消息确实是由发送者发送的,并且没有被篡改或伪造。这种验证过程依赖于非对称加密算法的特性,即只有拥有私钥的一方才能够对消息进行签名,而任何人都可以使用公钥来验证签名的有效性。
所以,公钥并不能直接用来解密数字签名,而是用来验证数字签名的有效性。
CA
HTTPS的四次握手和数字签名是两个不同的概念
HTTPS的四次握手是用于建立安全连接的过程。在进行HTTPS通信时,客户端和服务器之间需要先建立一个安全连接,以保证通信内容不会被窃听或篡改。这个建立安全连接的过程就是四次握手。在四次握手的过程中,客户端和服务器通过交换消息来协商使用的加密算法、生成密钥等信息,以确保双方都能够理解通信内容。
而数字签名则是用于验证通信内容的完整性和真实性。在HTTPS通信中,服务器会将自己的公钥发送给客户端,客户端使用该公钥对服务器发送的数字证书进行验证,以确认服务器的身份和提供证书的机构的合法性。数字证书中包含了服务器的公钥、相关证书信息,并由证书颁发机构进行数字签名,这样就可以保证通信内容只能由合法的服务器所提供,并避免了中间人攻击等风险。
DNS
dns 记录类型
基于view的DNS系统和CDN
基于view的DNS系统和CDN经常一起使用,以提高互联网服务的性能和可靠性。
基于view的DNS系统可以根据不同的用户访问位置和网络条件返回不同的IP地址。这样,就可以将用户与距离更近、响应更快的服务器进行连接,并减少网络延迟。此外,基于view的DNS系统还可以根据其他因素(例如用户设备类型、语言偏好等)返回特定版本的网站或应用程序内容。
CDN系统则可以加速网站、应用程序和其他互联网服务的响应时间,通过缓存静态资源并将其分发到多个全球位置的边缘节点上。这样可以减少网络拥塞和传输时间,并提供更好的用户体验。基于view的DNS系统和CDN系统配合使用可以进一步优化内容交付的过程,提高网络性能和可靠性。
总之,基于view的DNS系统和CDN系统是完美的互补工具,可以为网站和应用程序提供更好的性能和可靠性,同时也提高了用户的满意度。
CDN
CDN全称为Content Delivery Network,即内容分发网络。它是一种通过部署在全球各地的服务器来加速互联网内容传输的技术。CDN可以缩短网站、应用程序和其他互联网服务的响应时间,减少网络拥塞,并提高用户访问这些服务的体验。
当使用CDN时,静态资源(如图片、视频、CSS和JavaScript文件等)被存储在CDN提供商的服务器上。当用户请求这些资源时,CDN会根据用户的位置将资源从最近的服务器缓存中提供,而不是直接从源服务器上获取。这样可以大大减少数据传输时间和带宽占用,从而提高加载速度和性能。
除了加速内容传输外,CDN还可以提高对抗DDoS攻击的能力,因为它们可以通过分散流量来抵御攻击。此外,使用CDN还可以降低服务器负载,节省成本。
它是一个分布式的网络架构,用于加速互联网上的内容传输。CDN可以将用户请求的数据从源服务器复制到离用户更近的缓存服务器中,以降低用户请求的响应时间和减轻源服务器的负载。
CDN系统通常由多个部分组成,包括:源服务器、缓存服务器、路由器和负载均衡器等。其中,源服务器存储着原始内容,缓存服务器存储着已经复制的数据,并将其提供给用户请求的终端设备。
当用户请求资源时,CDN系统会通过负载均衡器选择最近的缓存服务器提供服务。这样,用户可以更快地获取所需内容,并且源服务器也可以减轻负载,提高整体性能和可靠性。
除了加速内容传递外,CDN还具有其他功能,如增强安全性、减少带宽成本、扩展业务范围等。因此,CDN已经广泛应用于各种互联网应用,如在线视频、电子商务、游戏等领域。
CDN的核心技术
域名解析技术:CDN系统通过将资源的域名解析到最近的缓存服务器,以提高资源的访问速度。这一过程通常由DNS服务完成。
负载均衡技术:CDN系统通过负载均衡器选择最近的缓存服务器提供服务,从而分摊流量和降低延迟。
缓存算法:CDN系统采用不同的缓存算法来确定哪些内容应该被缓存、在哪些节点上缓存以及缓存多长时间等问题。
数据同步技术:CDN系统需要保证各个缓存节点之间的数据同步,以确保用户获取的内容是最新的。
安全技术:CDN系统可以通过加密、防御DDoS攻击等安全技术来保障内容的安全性。
流媒体传输技术:CDN系统为了支持在线视频、音频等流媒体应用,需要采用特定的传输协议和编码格式,如HLS、RTMP等。
边缘计算技术:CDN系统可以利用边缘节点的计算能力,将一部分计算任务下放到边缘节点上,以减少网络延迟和提高应用性能。
以上技术都是CDN系统的核心技术,不同的CDN服务提供商可能会有不同的实现方式和优化策略。
相关文章:
【Web服务】HTTP和DNS重要知识
304状态码 HTTP状态码中的304状态码表示"未修改",通常在客户端发起了一个带有If-Modified-Since头部的GET请求时会得到这个响应。服务器通过比较If-Modified-Since头部指定的时间戳和资源的最后修改时间来判断资源是否被修改过,如果没有修改则…...
【C++】-关于类和对象的默认成员函数(中)-拷贝构造函数和赋值运算符重载函数
💖作者:小树苗渴望变成参天大树 ❤️🩹作者宣言:认真写好每一篇博客 💨作者gitee:gitee 💞作者专栏:C语言,数据结构初阶,Linux,C 如 果 你 喜 欢 作 者 的 文 章 ,就 给 作 者 点…...
c++11上篇
c11 1.C11简介2.列表初始化2.1 {}初始化2.2 std::initializer_list 3.变量类型推导3.1 auto3.2 decltype3.3 nullptr 4.范围for循环5.final与override6.智能指针7.新增加容器---静态数组array、forward_list以及unordered系列8.默认成员函数控制9.右值引…...
异构无线传感器网络路由算法研究(Matlab代码实现)
目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨💻4 Matlab代码 💥1 概述 无线传感器网络(Wireless Sensor Networks, WSN)是一种新型的融合传感器、计算机、通信等多学科的信息获取和处理技术的网络,…...
MySQL数据库——MySQL TRUNCATE:清空表记录
MySQL 提供了 DELETE 和 TRUNCATE 关键字来删除表中的数据。下面主要讲解一下 TRUNCATE 关键字的使用。 TRUNCATE 关键字用于完全清空一个表。其语法格式如下: TRUNCATE [TABLE] 表名 其中,TABLE 关键字可省略。 例 1 新建表 tb_student_course&…...
财报解读:连续三年逆势增长的背后,欧派家居到底靠的是什么?
能在过去3年逆势增长的家居企业并不多,而欧派家居就是其中一个。4月25日,欧派家居发布2022年年度报告。据年报数据显示,2022年,欧派家居共实现营业收入224.80亿元,净利润约26.88亿元。 从2020年到2022年,欧…...
希望计算机专业同学都知道这些宝藏博主
湖科大教书匠——计算机网络 “宝藏老师”、“干货满满”、“羡慕湖科大”…这些都是网友对这门网课的评价,可见网课质量之高! 湖南科技大学《计算机网络》微课堂是该校高军老师精心制作的视频课程,用简单的语言描述复杂的问题,…...
1694_week1_MIT使用Python编程学习手记1
全部学习汇总: GreyZhang/python_basic: My learning notes about python. (github.com) 首先说明一下,这部分信息的整理只是我个人的理解。由于自己的知识功底以及英语水准,很可能会有大量的疏漏。再此,我只想把自己学习时候的一…...
第二十一章 光源
光源是每个场景必不可少的部分,光源除了能够照亮场景之外,还可以产生阴影效果。 Unity中分为四种光源类型: 1. 方向光:Directional Light 用于模拟太阳光,方向光任何地方都能照射到。 2. 点光源:Point L…...
CVPR 2023 超分辨率(super-resolution)方向上接收论文总结
目录 CVPR 2023图像超分任意尺度超分盲超分 视频超分特殊场景 总结参考资料 CVPR 2023 官网链接:https://cvpr2023.thecvf.com/ 会议时间:2023年6月18日-6月22日,加拿大温哥华 CVPR 2023统计数据: 提交:9155篇论文接…...
Python 基于 Django 的学生成绩管理系统,可视化界面(附源码,教程)
1简介 对于学生成绩管理系统,充分运用现代化的信息技术手段,对于学生成绩信息管理发展的趋势就是信息化,信息化时代下的信息管理,需要深化信息管理体制与手段的改革,充分运用信息化手段来全方位的进行学生成绩管理系统…...
第二弹进阶吴恩达 ChatGPT Prompt 技巧
第一弹笔记在这里: 总结吴恩达 ChatGPT Prompt 免费课程 今天分享第二弹,进阶篇。 第一点,任务序列化。 通常看完一篇长文,脑子里往往充满无数疑问。急切想知道所有答案,必须列一个问题清单。对话式问法,对…...
约瑟夫环问题
约瑟夫问题 题目描述 n n n 个人围成一圈,从第一个人开始报数,数到 m m m 的人出列,再由下一个人重新从 1 1 1 开始报数,数到 m m m 的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。…...
JavaScript中的异步编程
当我们在编写JavaScript代码时,经常会遇到需要执行长时间运行的任务的情况,例如从服务器获取数据或进行复杂的计算。在这些情况下,我们不希望阻塞用户界面,因为这会使网站看起来卡顿,甚至无响应。为了避免这种情况&…...
奥斯汀独家对话|从机构的「拉扯」中成长的美国加密监管
前言 4月25日,在美国得克萨斯州的首府奥斯汀,这座充满活力和创造力的城市,欧科云链研究院与来自哥伦比亚商学院的Austin Campbell教授就美国加密监管以及其相关话题进行了一次深入探讨。双方讨论了美国整体的监管问题、监管逻辑、最新的稳…...
PostgreSQL16中pg_dump的LZ4和ZSTD压缩
PostgreSQL16中pg_dump的LZ4和ZSTD压缩 pg_dump压缩lz4和zstd LZ4和ZSTD压缩算法合入了PG16。LZ4补丁的作者是Georgios Kokolatos。由Tomas Vondra提交。由Michael Paquier、Rachel Heaton、Justin Pryzby、Shi Yu 和 Tomas Vondra 审阅。提交消息是: Expand pg_dum…...
网络安全基础入门学习路线
在大多数的思维里总觉得学习网络安全得先收集资料、学习编程、学习计算机基础,这样不是不可以,但是这样学效率太低了! 你要知道网络安全是一门技术,任何技术的学习一定是以实践为主的。也就是说很多的理论知识其实是可以在实践中…...
错误检测技术:奇偶校验
文章目录 参考描述奇校验与偶校验错误检测技术奇偶校验 奇校验与偶校验奇校验偶校验局限性漏网之鱼 奇偶校验的三种形式水平奇偶校验垂直奇偶校验水平垂直奇偶校验优劣漏网之鱼 参考 项目描述搜索引擎Google 、Bing百度百科奇偶校验计算机网络 基础与应用(微课版&a…...
语义版本控制规范(SemVer)
Semantic Versioning 2.0.0 官网 给出一个版本号MAJOR.MINOR.PATCH,增加如下: MAJOR version 进行不兼容的API更改时MINOR version 当您以向后兼容的方式添加功能时PATCH version 当您进行向后兼容的错误修复时 预发布(pre-release )和构建元数据的附…...
基于Flask的留言板的设计与实现
这是《Flask Web开发实战:入门、进阶与原理解析》这本书中的一个小项目,我在学习后根据书中的教程实现了留言板的功能,并结合我的思路将代码做了一些调整。 下面这是实现后的展示图片 文章目录 设计思路项目代码exts.pymodels.pyforms.pyerrors.pycomma…...
vmware 详细安装教程
一.VM是什么? VMware Workstation是一个“虚拟 PC”软件。它使你可以在一台机器上同时运行二个或更多 Windows、DOS、LINUX 系统。与“多启动”系统相比,VMWare 采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需…...
Python 爬虫工具
Python3 默认提供了urllib库,可以爬取网页信息,但其中确实有不方便的地方,如:处理网页验证和Cookies,以及Hander头信息处理。 为了更加方便处理,有了更为强大的库 urllib3 和 requests, 本节会分别介绍一下…...
再也不去字节跳动面试了,6年测开经验的真实面试经历.....
前几天我朋友跟我吐苦水,这波面试又把他打击到了,做了快6年软件测试员。。。为了进大厂,也花了很多时间和精力在面试准备上,也刷了很多题。但题刷多了之后有点怀疑人生,不知道刷的这些题在之后的工作中能不能用到&…...
第十五章 角色移动旋转实例
本章节我们创建一个“RoleDemoProject”工程,然后导入我们之前创建地形章节中的“TerrainDemo.unitypackage”资源包,这个场景很大,大家需要调整场景视角才能看清。 接下来,我们添加一个人物模型,操作方式就是将模型文…...
数据湖Data Lakehouse支持行级更改的策略:COW、MOR、Delete+Insert
COW:写时复制,MOR:读时合并,Delete+Insert:保证同一个主键下仅存在一条记录,将更新操作转换为Delete操作和Insert操作 COW和MOR的对比如下图,而Delete+Insert在StarRocks主键模型中用到。 目前COW、MOR在三大开源数据湖项目的使用情况,如下图。 写入时复制【Copy-On…...
双亲委派机制的原理和作用
双亲委派机制,就必须弄清楚Java的类加载器。 什么是类加载器 Java类加载器(ClassLoader)是Java运行时环境(JRE)的一部分,负责动态的将Java类加载到Java虚拟机的内存空间。 类加载器有哪些 主要有三个: 引导类加载器(Bootstrap ClassLoade…...
mac免费杀毒软件哪个好用?如何清理mac系统需要垃圾
CleanMyMac x是一款功能强大的Mac系统优化清理工具,使用旨在帮助用户更加方便的清理您系统中的所有垃圾,从而加快电脑运行速度,保持最佳性能,更加稳定、流畅、快速!!! CleanMyMac X无疑是目前m…...
css 实现太极效果
目录 一、简述二、太极效果制作 一、简述 本次主要介绍::after,::before,box-shadow这三个属性。 ::after,::before这两个是伪类选择器,box-shaow是用来设置元素的阴影效果 before:向选定的元素前插入内容 after:向选定的元素后插…...
【前端基础知识】Vue中的变量不是响应式的吗?属性赋值后视图不变化的原因是什么?
目录 🤔问题📝回答🎨使用场景动态添加属性动态添加数组元素 ❌注意事项$set只能在响应式对象上使用$set不能用于根级别的属性$set的性能问题 📄总结 🤔问题 Vue是一款在国内非常流行的框架,采用MVVM架构&a…...
如何完全卸载linux下通过rpm安装的mysql
卸载linux下通过rpm安装的mysql 1.关闭MySQL服务2.使用 rpm 命令的方式查看已安装的mysql3. 使用rpm -ev 命令移除安装4. 查询是否还存在遗漏文件5. 删除MySQL数据库内容 1.关闭MySQL服务 如果之前安装过并已经启动,则需要卸载前请先关闭MySQL服务 systemctl stop…...
东莞网站建设定制/疫情最新数据消息
深入理解Class---常量池一、概念1、jvm生命周期启动:当启动一个java程序时,一个jvm实例就诞生了,任何一个拥有main方法的class都可以作为jvm实例运行的起点。运行:main()函数作为程序初始线程起点,其它线程由该线程启动…...
上线了做网站价格贵/入门seo技术教程
作者 | 曾响铃 文 | 响铃说 日益复杂的市场环境下,如何更好地生存与发展成为摆在每一个互联网企业面前的重要课题。而长期以来,无论是To C还是To B,厮杀于惨烈市场中的互联网企业追寻“快准狠的好生意”已经成为普遍的、自然的选择…...
wordpress登录 小工具/广东省广州市白云区
使用 JSP 设置 cookie 使用 JSP 设置 cookie 包含三个步骤: (1)创建一个 cookie 对象: 调用 cookie 的构造函数,使用一个 cookie 名称和值做参数,它们都是字符串。 Cookie cookie new Cookie("key","value"…...
建设一个企业网站到底要多少钱/广州今日新闻头条新闻
渐变边框可以使用border-image,但带有圆角的渐变边框单靠border-image却无法实现,那有哪些方法可以实现圆角渐变边框呢?css实用小知识,你肯定用得上 方案一:使用border-imageclip-path实现 <style> .radius-gra…...
wordpress评论函数/百度新闻首页新闻全文
由于新浪SAE对文件权限的限制,cache目录无法修改权限,因此原版Codeigniter无法直接使用。可以尝试codeIgniter 2.10 for SAE:http://code.google.com/p/ci-sae/。在database.php中配置如下:$db[default][hostname] SAE_MYSQL_HOS…...
专业做毕业设计网站/新媒体seo指的是什么
一、记录详细操作 # [] 表示可选的 # {}表示必选的 # 增 # insert [into] 表名[字段名] value|values(字段值....); # into 可省略 # [字段名] 可选 # 如果写了 你后面的值 必须与 写的字段匹配 # 不写 后面的值 必须和表的结构完全匹配 # va…...