首页
学习
活动
专区
圈层
工具
发布

计算机网络经典20问!

HTTP报文格式 HTTP请求由请求行、请求头部、空行和请求体四个部分组成。 请求行:包括请求方法,访问的资源URL,使用的HTTP版本。...头部压缩,HTTP1.1的header带有大量信息,而且每次都要重复发送;HTTP2.0 把header从数据中分离,并封装成头帧和数据帧,使用特定算法压缩头帧,有效减少头信息大小。...证书可以证明该公钥对应本网站。 数字签名的制作过程: CA使用证书签名算法对证书内容进行hash运算。 对hash后的值用CA的私钥加密,得到数字签名。...浏览器验证过程: 获取证书,得到证书内容、证书签名算法和数字签名。 用CA机构的公钥对数字签名解密(由于是浏览器信任的机构,所以浏览器会保存它的公钥)。...用证书里的签名算法对证书内容进行hash运算。 比较解密后的数字签名和对证书内容做hash运算后得到的哈希值,相等则表明证书可信。

75310

计算机网络经典20问!

HTTP报文格式 HTTP请求由请求行、请求头部、空行和请求体四个部分组成。 请求行:包括请求方法,访问的资源URL,使用的HTTP版本。...头部压缩,HTTP1.1的header带有大量信息,而且每次都要重复发送;HTTP2.0 把header从数据中分离,并封装成头帧和数据帧,使用特定算法压缩头帧,有效减少头信息大小。...服务端可以向证书颁发机构CA申请证书,以避免中间人攻击(防止证书被篡改)。证书包含三部分内容:证书内容、证书签名算法和签名,签名是为了验证身份。...数字签名的制作过程: CA使用证书签名算法对证书内容进行hash运算。 对hash后的值用CA的私钥加密,得到数字签名。 浏览器验证过程: 获取证书,得到证书内容、证书签名算法和数字签名。...用CA机构的公钥对数字签名解密(由于是浏览器信任的机构,所以浏览器会保存它的公钥)。 用证书里的签名算法对证书内容进行hash运算。

48711
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Kubernetes 中的用户与身份认证授权

    假设一个独立于集群的服务由以下方式管理普通用户: 由管理员分发私钥 用户存储(如 Keystone 或 Google 帐户) 带有用户名和密码列表的文件 K8s没有代表普通用户帐户的对象,无法通过...这意味着集群内部或外部的每个进程,无论从在服务器上输入 kubectl 的用户、节点上的 kubelet或web控制面板的成员,都必须在向 API Server 发出请求时进行身份验证,或者被视为匿名用户...PART 认证策略 K8s 使用客户端证书、bearer token、或认证代理等通过认证插件对 API 请求进行身份验证。...PART Service Account Token Service Account 是一个自动启用的验证器,它使用签名的 bearer token 来验证请求。...已签名的JWT可以用作承载令牌,以验证为给定的服务帐户。有关如何在请求中包含令牌,请参见上面的内容。通常,这些令牌被装入到pod中,以便在集群内对API Server进行访问,但也可以从集群外部使用。

    2.2K10

    HTTPS解密:安全通信的魔法之窗

    联系: HTTPS实质上是在HTTP的基础上加入了安全性的扩展,因此两者在通信的基本方式上是相同的,都是通过请求-响应模型进行通信。...以下是SSL/TLS加密的基本原理: 握手过程(Handshake): 客户端Hello: 客户端向服务器发出请求,提供自己支持的SSL/TLS版本和加密算法。...什么是数字证书,以及为何需要它: 数字证书: 数字证书是一种由权威机构数字签名的电子文档,用于确认某个实体(如网站、个人)的身份。它包含了一对密钥(公钥和私钥)以及证书持有者的身份信息。...验证证书: 用户使用CA的公钥验证数字证书的签名,确保证书的真实性。 提取公钥: 用户提取数字证书中的公钥,用于加密通信或验证签名。...如何在Web服务器上启用HTTPS: 步骤概述: 获取SSL证书: 从信任的CA机构获取SSL证书,可以选择购买商业证书或使用免费证书服务。

    62310

    计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session

    头部压缩 header带有大量信息,而且每次都要重复发送把header从数据中分离,并封装成头帧和数据帧,使用特定算法压缩头帧。...:get的请求参数在请求行中,没有请求体,如 http://ip:port/user/find?...post区别 后端接收参数(全面)七、什么是数字证书(重)服务端可以向证书颁发机构(CA)申请证书,以避免中间人攻击(防止证书被算改),证书包含三部分:证书内容、证书签名算法、签名服务端把证书传输给浏览器...证书可以证明该公钥对应本网站数字签名的制作过程CA使用证书签名算法对证书内容进行hash运算对hash后的值用cA的私钥加密,得到数字签名浏览器验证过程获取证书,得到证书内容、证书签名算法、数字签名用CA...机构的公钥对数字签名解密(由于是浏览器信任的机构,所以浏览器会保存它的公钥)用证书里的签名算法对证书内容进行hash运算比较解密后的数字签名和对证书内容做hash运算后得到的哈希值,相等则表明证书可信八

    52610

    软件工程师需要了解的网络知识:从铜线到HTTP(五)—— HTTP 和 HTTPS

    使用浏览器访问 http://killtyz.com (自己尝试的时候不要选择 HTTPS 网站): 请求内容 GET / HTTP/1.1 Host: killtyz.com Upgrade-Insecure-Requests...HTTP 请求发出的时候会把这些条 Cookie 全部带上。...HTTP比) TLS 没有完美实现 防窃听、防篡改 功能:中间人攻击依然存在相当大的可能性 TLS 实现原理 我从证书的两种签名方式来讲解 TLS 实现原理的简单描述,并分别阐述当前 HTTPS 证书的两大层面的功能...将此文件上传到证书颁发商的网站,他们将用他们的 根证书 或者 从根证书派发出的二级证书 为我们的 csr 文件签名,得到 TLS 证书。...早期网银攻击经常采用这种方式:用户访问网银网站,浏览器默认发出的是 HTTP 请求,本来该网站会将用户跳转到 HTTPS,但是中间人从中作梗:跟客户交流时采用 HTTP,跟银行交流时采用 HTTPS,这样你的银行卡和密码就全暴露了

    1.1K70

    HTTP与HTTPS协议入门

    HTTP/0.9(1991年) 单一功能:仅支持GET方法,建立TCP连接后,客户端发送GET请求,服务器返回HTML资源后立即关闭连接。...undefined图片 多域名支持与方法扩展 Host头部区分同一IP上的不同域名(如虚拟主机)。...缺陷:队头阻塞(Head-of-Line Blocking) 同一连接中,前一个请求未响应会阻塞后续请求,即使响应数据已就绪也无法提前处理。...HTTPS:安全的HTTP HTTPS通过SSL/TLS协议解决HTTP的三大风险(窃听、篡改、伪装),核心流程如下: TLS握手过程(明文传输) 客户端请求(ClientHello) 发送支持的协议版本...客户端验证与密钥生成 验证服务器证书有效性(CA签名、域名匹配、有效期)。 生成预主密钥(Pre-master Secret),用服务器公钥加密后发送。

    79800

    【HTTP】267- HTTP 的15个常见知识点复习

    Connection: keep-alive 增加管道机制 增加了管道机制,请求可以同时发出,但是响应必须按照请求发出的顺序依次返回,性能在一定程度上得到了改善。...传送证书 这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构、过期时间等等。...客户端解析证书 这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,如颁发机构、过期时间等等,如果发现异常则会弹出一个警告框,提示证书存在问题。...证书中会包含数字签名,该数字签名是加密过的,是用颁发机构的私钥对本证书的公钥、名称及其他信息做hash散列加密而生成的。...fromdisk cache :一般非脚本会存在内存当中,如css,html等 frommemory cache :资源在内存当中,一般脚本、字体、图片会存在内存当 有缓存命中和缓存未命中状态

    68430

    【HTTP】267- HTTP 的15个常见知识点复习

    Connection: keep-alive 增加管道机制 增加了管道机制,请求可以同时发出,但是响应必须按照请求发出的顺序依次返回,性能在一定程度上得到了改善。...传送证书 这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构、过期时间等等。...客户端解析证书 这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,如颁发机构、过期时间等等,如果发现异常则会弹出一个警告框,提示证书存在问题。...证书中会包含数字签名,该数字签名是加密过的,是用颁发机构的私钥对本证书的公钥、名称及其他信息做hash散列加密而生成的。...fromdisk cache :一般非脚本会存在内存当中,如css,html等 frommemory cache :资源在内存当中,一般脚本、字体、图片会存在内存当 有缓存命中和缓存未命中状态

    56320

    HTTP 常见面试题速查

    见 rfc5789) 作用 GET:用于请求服务器发送某些资源 HEAD:请求资源的头部信息,并且这些头部与 HTTP GET 方法请求时返回的一致,该请求方法的一个使用场景是在下载一个大文件前先获取其大小再决定是否要下载...使用空格分隔,如 GET /index.hmtl HTTP/1.1) 请求头部(由关键字/值对组成,每行一对,关键字和值用 ‘:’ 分隔) User-Agent: 产生请求的浏览器类型 Accept:...但是,如果中间人篡改了证书,那么身份证明就无效了,此时需要一个新的技术——数字签名。...数字签名,就是用 CA 自带的 HASH 算法对证书的内容进行 HASH 得到一个摘要,再用 CA 的私钥加密,最终组成数字签名。...当别人把证书发过来的时候,再用同样的 Hash 算法,再次生成消息摘要,然后用 CA 的公钥对数字签名解密,得到 CA 创建的消息摘要,两者进行比较,就知道中间有没有人被篡改了。

    47420

    【计网】从HTTP0.9 到 HTTP3

    方法 基本用法 请求 响应 幂等性 缓存 安全性 OPTIONS 获取目的资源所支持的通信选项,如检测服务器所支持的请求方法或CORS预检请求 不能携带请求体或数据 可以携带响应体,但一般有效数据被放在头部如...Cache-Control: no-cache: 使用缓存,但需要服务器重新验证,此方式下,每次有请求发出时,缓存会将此请求发到服务器,服务器端会验证请求中所描述的缓存是否过期,若未过期(返回304),...文件),CA 机构收到请求后,会检查 CSR 的真实性,检查无误后,CA 会将 CSR 的内容哈希后用自己的私钥签名,然后将 CSR 中的信息和签名组合成证书发给 B。...所以一份证书中包含的典型内容包括: 明文的证书持有者信息 明文的公钥 CA 的签名 证书用途,使用的算法,证书过期时间,颁发者信息,CRL分发点等 B 有了 CA 机构的证书,在向 A 发送公钥时就只需要发送证书了...,A 收到证书,用 CA 机构的公钥解密签名,然后对证书中的明文数据以同样的算法做哈希,只需要对比两个哈希值就可以判断证书有没有被篡改了,如果证书没被篡改,则可以放心使用证书中的公钥与 B 通信了。

    94830

    如何在Ubuntu 14.04上使用Lets Encrypt来保护Nginx

    安装了Nginx,如何在Ubuntu 14.04 LTS上安装Nginx 您必须拥有或控制您希望使用证书的注册域名。...关于自签名证书,你可以参考为Apache创建自签名SSL证书和如何为Nginx创建自签名SSL证书这两篇文章。 DNS A记录,将您的域指向服务器的公共IP地址。...尝试使用https://重新加载您的网站并注意浏览器的安全指示器。它应该表示网站已正确保护,通常带有绿色锁图标。如果使用SSL Labs Server Test测试服务器,它将获得A级。...此任务每天运行两次,并将续订任何在到期后30天内的证书。...必要时,Certbot将续订您的证书并重新加载Nginx以获取更改。如果自动续订过程失败,Let’s Encrypt将向您指定的电子邮件发送一条消息,并在您的证书即将过期时发出警告。

    1.6K00

    CS 可视化: CORS

    ✅ 当发出跨源请求时,客户端会自动向我们的 HTTP 请求添加额外的头部:Origin。Origin 头的值是请求的起源!...在这种情况下,只有使用 GET、POST 或 PUT 方法的请求将被允许!...其他方法如 PATCH 或 DELETE 将被阻止 ❌ 如果你对其他可能的 CORS 头部是什么以及它们的用途感兴趣,请查看这个列表。...当请求是 GET 或 POST 方法且没有自定义头部时,请求是简单的!任何其他请求,例如带有 PUT、PATCH 或 DELETE 方法的请求,将进行预检。...通过这种方式,我们可以缓存预检响应,浏览器可以在不发送新的预检请求的情况下使用它! 凭据 默认情况下,Cookie、授权头和 TLS 证书仅在同源请求上设置!

    74210

    网络协议 概念

    – 响应报文 ### 请求报文Start Line 语法 : 请求URL> #### HTTP Method + get: 获取资源,不携带http body,支持查询参数,大小...下发证书 <————————— server 证书数字签名(用证书机构公钥加密)...—————————>  证书机构 证书数字签名验证通过 client(内置证书机构证书) 证书机构...: 证书机构的公开秘钥验证证书的数字签名 + 公开密钥加密建立连接:非对称加密 + 共享密钥加密 ## Websocket + 基于http协议建立连接,header的upgrade字段转化协议为websocket...+ 全双工通信,客户端建立连接 ## HTTP2 + 多路复用:多个请求共享一个tcp连接 + 全双工通信 + 必须https:// + 头部压缩 + 二进制传输 发布者:全栈程序员栈长,转载请注明出处

    78520

    基础总结(网络篇)

    本机会不断发出ARP(地址解析协议)请求,企图获得目的机器的 MAC 地址。因为没能获得目的 MAC 地址,这些 TCP 握手请求最终都发不出去。...HTTPS数字证书: 向CA机构申请数字证书, 证书除了内容还有公钥和hash算法。主要是为了验证公钥真伪,解决公钥传输信任问题,用来防中间人攻击。...中间人中途可以替换自己向CA申请的合法证书,会判断证书上域名与自己请求域名是否一致,若证书中的域名与client请求的域名不一致,client会认定为不通过!...https流程:1:client端发起https请求;2:服务端证书信息和公钥hash成摘要,然后用私钥加密成数据签名,数据签名和公钥、证书信息、hash算法一起发出去,然后用公钥解数据签名得到摘要和发过来的信息生成的摘要进行对比...HTTP1.1:可以不用等上一次请求结果的返回,就并发的发出一次请求,但服务端必须按照收到客户端请求的先后顺序依次返回响应结果 HTTP2.0: 二进制分帧(独立的stream帧) 首部压缩(两端维护了

    55840

    JWT攻击手册:如何入侵你的Token

    4、无效签名 当用户端提交请求给应用程序,服务端可能没有对token签名进行校验,这样,攻击者便可以通过提供无效签名简单地绕过安全机制。...[新的签名] 将重新生成的Token发给服务端效验,如访问页面正常,则说明漏洞存在。...理论上,每当应用程序将未审查的头部文件参数传递给类似system(),exec()的函数时,都会产生此种漏洞。 8、操纵头部参数 除KID外,JWT标准还能让开发人员通过URL指定密钥。...操纵X5U,X5C URL 同JKU或JWK头部类似,x5u和x5c头部参数允许攻击者用于验证Token的公钥证书或证书链。x5u以URI形式指定信息,而x5c允许将证书值嵌入token中。...---- 攻击Token的过程显然取决于你所测试的JWT配置和实现的情况,但是在测试JWT时,通过对目标服务的Web请求中使用的Token进行读取、篡改和签名,可能遇到已知的攻击方式以及潜在的安全漏洞和配置错误

    4.5K20

    使用Apache或Nginx加密Tomcat流量

    (JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。...如果你没有域名,建议您先去这里注册一个域名,如果你只是使用此配置进行测试或个人使用,则可以使用自签名证书,不需要购买域名。自签名证书提供了相同类型的加密,但没有域名验证公告。...关于自签名证书,你可以参考为Apache创建自签名SSL证书和如何为Nginx创建自签名SSL证书这两篇文章。 当您启动并运行Tomcat时,请继续下面的首选Web服务器部分。...第三步:使用mod_jk将Apache虚拟主机调整为代理 最后,我们需要调整启用SSL的Apache配置文件。如果您遵循准备教程,则应当将其配置为使用受信任或自签名SSL证书保护您的内容。...我们希望Tomcat的所有请求都通过我们的代理,因此我们可以将Tomcat配置为仅侦听本地接口上的连接。这可确保外部无法直接从Tomcat发出请求。

    2K60

    如何使用Ubuntu 16.04上的Lets Encrypt保护Apache

    介绍 本教程将向您展示如何在运行Apache作为Web服务器的Ubuntu 16.04服务器上设置Let's Encrypt的TLS / SSL证书。...自签名证书提供了相同类型的加密,但没有域名验证公告。关于自签名证书,你可以参考为Apache创建自签名SSL证书和如何为Nginx创建自签名SSL证书这两篇文章。...系统会要求您提供丢失密钥恢复和通知的电子邮件地址,您可以选择启用http和https访问,还是强制所有重定向请求https。除非您特别需要未加密的http流量,否则通常来说请求https最安全。...在非系统发行版上,此功能由放置在/etc/cron.d其中的cron脚本提供。该任务每天运行两次,并将续订任何在到期后30天内的证书。...必要时,Certbot将续订您的证书并重新加载Apache以获取更改。如果自动续订过程失败,我们的加密将向您指定的电子邮件发送一条消息,并在您的证书即将过期时发出警告。

    2.4K11

    从HTTP到HTTPS

    请求行包含请求方法、URL 和 HTTP 协议版本三个字段组成,在这里需要说的是 请求方法可以实 GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT,但是常见的经常用到的就是...请求头部由大量键值对组成,请求头部的数据都是向服务器告知客户端的信息,比较常见的请求头有 User-Agent 浏览器类型,Accept 客户端可识别的内容类型列表,Host 请求的主机名。...当我们的服务器需要使用 HTTPS 的时候,就需要将服务器生成的公钥和网站相关信息发给权威认证机构,然后权威认证机构通过服务器发送的相关信息用进行加签,由此得到了服务器证书,这个证书对应的生成证书内容的签名...然后通过签名算法算出服务器证书的签名,并对比两个签名是否一样,一样就说明服务器发来的证书是不存在问题的。这里证书校验用的 RSA 是通过私钥加密证书签名,公钥解密来巧妙的验证证书有效性的。...三、总结 这篇文章唠唠叨叨的讲了这么多关于 HTTP 和 HTTPS 的知识,看似很基础其实在很多时候我们发出去或接受到的数据不准确其实就是因为中间人攻击造成的,因此我们在开发部署网站的时候应该尽可能的使用

    1.2K20
    领券