首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端打工人面试总结

客户端收到后,首先检查数字证书是否有效,如果有效,则再生成一个随机数,并使用证书中公钥对随机数加密,然后发送给服务端,并且还会提供一个前面所有内容 hash 值供服务端检验。...服务端接收后,使用自己私钥对数据解密,同时向客户端发送一个前面所有内容 hash 值供客户端检验。...当 DOM 树和 CSSOM 树建立好后,根据它们来构建渲染树。渲染树构建好后,根据渲染树来进行布局。布局完成后,最后使用浏览 UI 接口对页面进行绘制。这个时候整个页面就显示出来了。...请求和响应HTTP Request Header 常见请求:Accept:浏览能够处理内容类型Accept-Charset:浏览能够显示字符集Accept-Encoding:浏览能够处理压缩编码...清除浮动方式浮动定义: 非IE浏览下,容器设高度且元素浮动时,容器高度不能被内容撑开。 此时,内容溢出到容器外面而影响布局。这种现象被称为浮动(溢出)。

61380

分布式系统「全链路日志追踪」实战之 RestTemplate & Feign

① RestTemplate 客户端实现日志链路追踪 1)RestTemplate 常被用作 REST API 接口请求客户端,而实际发起每次请求之前都把请求 Header 相关信息添加到 HttpEntity...3)创建自己 RestTemplate 客户端 Bean,然后将前面创建自定义请求拦截类(RestTrackInterceptor.class)添加到 RestTemplate 中,并为了使其发送请求时具有负载均衡能力...② SpringCloud Feign — 申明式服务调用日志链路追踪实现 1)虽然 RestTemplate 客户端已经可以将请求拦截来实现对依赖服务接口调用,并对 Http 请求进行封装处理,形成一套模板调用方法...,但是对服务依赖调用可能不只一处,一个接口都会被多次调用,所以我们像前面那样针对各个微服务字形封装一些客户端接口调用类来包装这些依赖服务调用。...重新启动 logtrack-1 和 logtrack-2 服务,通过 Postman 模拟发送请求验证 feign 客户端请求日志链路追踪,见下图: ?

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

Session、Cookie、Token三者关系理清了吊打面试官

信息,该 Cookie 过期时间为浏览会话结束; 2.jpg 接下来客户端每次向同一个网站发送请求时,请求都会带上该 Cookie信息(包含 sessionId ), 然后,服务通过读取请求头中...虽然这是合法,因为它们是在客户端上存储数据唯一方法,如今建议使用现代存储 API。Cookie 随每个请求一起发送,因此它们可能降低性能(尤其是对于移动数据连接而言)。...创建 Cookie 当接收到客户端发出 HTTP 请求时,服务可以发送带有响应 Set-Cookie ,Cookie 通常由浏览存储,然后将 Cookie 与 HTTP 一同向服务发出请求...下面是一个发送 Cookie 例子 3.jpg 此告诉客户端存储 Cookie 现在,随着对服务每个新请求,浏览使用 Cookie 所有以前存储 Cookie 发送回服务。...网上百度了一下,发现这是 PHP 面试题… 还是选择了解了一下,如何禁用 Cookies 后,使用 Session 如果禁用了 Cookies,服务会将 sessionId 以 cookie 方式发送给浏览

2K20

微服务难点剖析 | 服务拆挺爽,问题是日志该怎么串联起来呢?

视图 在微服务日志串联里,我们同样能使用这两个概念,通过 trace 串联出一个业务逻辑所有业务日志,span 串联出在单个服务里业务日志。...其实跟发HTTP请求可以配置HTTP客户端携带 Header 和 Context 一样,RPC客户端也支持类似功能。...以 gRPC 服务为例,客户端调用RPC 方法时,在可以携带元数据里设置这些追踪参数。 traceID := ctx.Value("trace-id")....RPC 服务方法里都这么搞一遍得类似,gRPC 里也有类似全局路由中间件概念,叫拦截,我们可以把追踪参数传递这部分逻辑封装在客户端和服务端拦截里。...gRPC 拦截详细介绍请看我之前文章 -- gRPC生态里中间件 客户端拦截 func UnaryClientInterceptor(ctx context.Context, ... , opts

53230

API自动化测试指南

客户端通过请求资源来发出请求,然后请求出去寻找将满足请求服务。服务找到所需资源,然后将响应发送回客户端。 为什么API测试很重要?...HTTP也被称为无状态协议,因为它发出每个请求都独立于所有先前请求。 Cookies用于跟踪会话先前请求状态。Cookies是存储在客户端上文件,具有从HTTP信息中添加信息。...选项 –询问有关服务上可用选项信息 HEAD –与GET请求类似,仅发送有关文档信息 CONNECT –客户端必须使用HTTPS服务使用 包含要发送到服务其他信息,例如浏览,操作系统...不同类型是: 常规 -可选,其中包含诸如当前时间之类信息 请求 -向服务提供有关客户端更多信息 实体 -包含有关发送文档特定信息,例如长度和编码方案。...从服务返回响应也包含三个部分,就像我们在HTTP请求中看到那样: 响应行(状态码) 信息 包含响应中所有文本正文 HTTP状态码 在我们示例中,状态代码为200,表示一切正常。

1.7K00

看完这篇 Session、Cookie、Token,和面试官扯皮就没问题了

虽然这是合法,因为它们是在客户端上存储数据唯一方法,如今建议使用现代存储 API。Cookie 随每个请求一起发送,因此它们可能降低性能(尤其是对于移动数据连接而言)。...创建 Cookie 当接收到客户端发出 HTTP 请求时,服务可以发送带有响应 Set-Cookie ,Cookie 通常由浏览存储,然后将 Cookie 与 HTTP 一同向服务发出请求...此告诉客户端存储 Cookie 现在,随着对服务每个新请求,浏览使用 Cookie 所有以前存储 Cookie 发送回服务。 ?...如果指定,默认为当前主机(包含域名)。如果指定了Domain,则一般包含域名。...还是选择了解了一下,如何禁用 Cookies 后,使用 Session 如果禁用了 Cookies,服务会将 sessionId 以 cookie 方式发送给浏览,但是,浏览不再保存这个cookie

1.1K20

深入探索WebSockets

,然后是一组键值对,为客户端提供来自服务补充信息,关于服务请求。...Connection告诉服务客户端希望协商套接字使用方式更改。 随附值Upgrade表示当前通过TCP使用传输协议应该更改。...位于中间代理服务。 启动升级到WebSocket连接时,客户端必须包含Sec-WebSocket-Key,该具有该客户端唯一值。...当客户端和服务都实现为从一开始就使用通用消息传递协议时,可以在初始请求中省略Sec-WebSocket-Protocol,在这种情况下服务可以忽略此步骤。...请注意,如果客户端请求使用协议但未提供服务可以支持任何内容,则服务必须发送失败响应并关闭连接。

1.3K20

Session、Cookie、Token 【浅谈三者之间那点事】

虽然这是合法,因为它们是在客户端上存储数据唯一方法,如今建议使用现代存储 API。Cookie 随每个请求一起发送,因此它们可能降低性能(尤其是对于移动数据连接而言)。...创建 Cookie 当接收到客户端发出 HTTP 请求时,服务可以发送带有响应 Set-Cookie ,Cookie 通常由浏览存储,然后将 Cookie 与 HTTP 一同向服务发出请求...下面是一个发送 Cookie 例子 此告诉客户端存储 Cookie 现在,随着对服务每个新请求,浏览使用 Cookie 所有以前存储 Cookie 发送回服务。...如果指定,默认为当前主机(包含域名)。如果指定了Domain,则一般包含域名。...cookie 储存在用户本地终端上数据,服务生成,发送给浏览,下次请求统一网站给服务

19.5K2020

什么是RESTful,REST api设计时应该遵守什么样规则?

符合 REST 系统,通常称为 RESTful 系统,其特点是它们是无状态,并且将客户端和服务关注点分开,即前后端分离。...在 REST 架构风格中,客户端实现和服务实现可以独立完成,彼此不知道对方。这意味着客户端代码可以随时更改而不影响服务运行,而服务代码可以更改而不影响客户端运行。.../v1/users/15、URL分页分页可以轻松处理大量请求结果,例如,Web 服务包含数百或数千个页面,当请求显示所有页面时,将获得相同数量结果作为回应。...400:错误请求客户端应修改请求)401:未经授权,凭据无法识别403:禁止,凭据接受没有权限404:未找到,资源不存在410:消失了,资源以前存在但现在不存在429:请求过多,用于速率限制,应包含重试...500:服务错误,一般性,值得查看其他 500 级错误503:服务不可用,另一个重试有用总结REST是一种软件架构风格,用于 Web 架构设计,任何遵循 REST 设计原则 API都被称为 RESTful

1.1K30

HTTPS安全最佳实践

浏览清晰显示网站是否容易混合内容,在浏览网址一栏有图标。 如果曾经将http://网址硬编码到你网站,之后你又将网站迁移到HTTPS时就会出现这种情况。...有header可以缓解这个问题,我们也介绍它们,首先,让我们关注不使用它们情况。...浏览遵循重定向,API客户端可能不会,或者可能将POST重定向为GET。你希望某些客户端工作,而某些客户端则不工作。 此外,对于API客户,你提供方案是让任何消费者只可以使用HTTPS。...max-age说明 此部分控制有效时间,在此之后,浏览将忘记标题并再次请求HTTP站点,每次用户访问页面时都会更新。 604800是一周,如果你使用此功能,常规访问者将受到持续保护。...请注意,如果你为域名设置这个选项,又无法为所有域设置支持HTTPS,唯一办法是等待所有用户浏览过期,这可能需要很长时间。

1.7K30

Web Security 之 HTTP Host header attacks

通过中介路由流量 另一种常见情况是,网站托管在不同后端服务上,但是客户端和服务之间所有流量都会通过中间系统路由。中间系统可能是一个简单负载均衡器或某种反向代理服务。...当客户端通过 CDN 访问网站时,这种情况尤其普遍。 在这种情况下,即使不同网站托管在不同后端服务上,但是他们所有域名都需要解析为中间系统这个 IP 地址。...有些服务会将缩进解释为换行,因此将其视为前一个一部分。而其他服务将完全忽略缩进。 由于对该场景处理极不一致,处理你请求不同系统之间通常会存在差异。...为了解决这个问题,前端服务(转发服务)可以注入 X-Forwarded-Host 来标明客户端初始请求 Host 原始值。因此,当 X-Forwarded-Host 存在时,许多框架引用它。...请注意,电子邮件客户端通常执行 JavaScript ,其他 HTML 注入技术如悬挂标记攻击可能仍然适用。

4.8K20

一文彻底搞懂cookie、session、token、jwt!

cookie存储在客户端上,所以保证了它不会被恶意利用,浏览施加限制。...Cookie正确性验证一般有两种方式: 一种是使用签名验证,即服务端在生成Cookie时,会将Cookie和私钥一起使用数字签名方法生成签名,并将签名和Cookie一起发送给客户端客户端收到签名和...1.6 cookie使用注意事项 因为所有cookie都会作为请求头部发送给服务,所以cookie太大可能影响客户端对特定域请求性能。保存cookie越大,请求完成时间就越长。...Session正确性验证一般有两种方式: 一种是使用时间戳验证:即服务端在生成Session时,会将Session和一个时间戳一起发送给客户端客户端收到Session和时间戳后,将Session和时间戳一起发送给服务...另一种是使用签名验证:即服务端在生成Session时,会将Session和私钥一起使用数字签名方法生成签名,并将签名和Session一起发送给客户端客户端收到签名和Session后,将签名和Session

1K30

Web 应用开发进化论

客户端和服务之间通信是异步,这意味着你网站不会立即就显示出来。从客户端向 Web 服务发送请求、从 Web 服务客户端发送响应都需要一定时间。...这个逻辑验证用户是否获得了授权,验证博客内容等,并将内容写入数据库。所有这些权限都不允许在客户端上进行,否则每个人都可以在未经授权情况下操作数据库。...但是, HTML div 元素之间所有内容都可以替换为使用 React 组件及其模板语法 JSX 构建整个 HTML 结构。...REST API 负责连接客户端和服务应用程序,而无需使用相同编程语言去实现。他们只需要提供一个用于发送和接收 HTTP 请求和响应库。...Firebase 会将 React 应用程序提供给你客户端(浏览),并让你应用程序可以使用所有其他功能(例如身份验证、数据库)。

4.2K10

一文彻底搞懂cookie、session、token、jwt!

cookie**存储在客户端上**,所以保证了它不会被恶意利用,浏览施加限制。...Cookie正确性验证一般有两种方式: 一种是使用**签名验证**,即服务端在生成Cookie时,会将Cookie和私钥一起使用数字签名方法生成签名,并将签名和Cookie一起发送给客户端客户端收到签名和...1.6 cookie使用注意事项 因为所有cookie都会作为请求头部发送给服务,所以cookie太大可能影响客户端对特定域请求性能。保存cookie越大,请求完成时间就越长。...Session正确性验证一般有两种方式: 一种是使用**时间戳验证**:即服务端在生成Session时,会将Session和一个时间戳一起发送给客户端客户端收到Session和时间戳后,将Session...另一种是使用**签名验证**:即服务端在生成Session时,会将Session和私钥一起使用数字签名方法生成签名,并将签名和Session一起发送给客户端客户端收到签名和Session后,将签名和

1.7K20

对不起,看完这篇HTTP,真的可以吊打面试官

缓存过期资源 缓存过期资源即浏览和代理不会缓存过期资源,客户端发起请求直接到达服务,可以使用 no-cache 代表缓存过期资源。 ?...下面我们依次介绍一下这些属性 缓存 no-store 才是真正意义上缓存,每次服务接受到客户端请求后,都会返回最新资源给客户端。...下面是两种常见案例 对于 GET 和 POST 方法,结合使用 Range ,它可以确保新发送请求范围与上一个请求资源相同,如果匹配的话,返回 416 响应。...虽然这是合法,因为它们是在客户端上存储数据唯一方法,如今建议使用现代存储 API。Cookie 随每个请求一起发送,因此它们可能降低性能(尤其是对于移动数据连接而言)。...tasty_cookie=strawberry [page content] 此告诉客户端存储 Cookie 现在,随着对服务每个新请求,浏览使用 Cookie 所有以前存储 cookie

6.3K21

跟我一起探索 HTTP-HTTP缓存

因此,下面的请求显示客户端发送带有 If-Modified-Since 请求请求,以询问服务自指定时间以来是否有任何改变。...doctype html> … 如果该响应是陈旧,则客户端获取缓存响应 ETag 响应值,并将其放入 If-None-Match 请求头中,以询问服务资源是否已被修改: GET /index.html...还有一个 Clear-Site-Data: cache 和值规范,并非所有浏览都支持它——即使使用它,它也只会影响浏览缓存,而不会影响中间缓存。...请求折叠 共享缓存主要位于源服务之前,旨在减少到源服务流量。 因此,如果多个相同请求同时到达共享缓存,中间缓存将代表自己将单个请求转发到源,然后源可以将结果重用于所有客户端。这称为请求折叠。...对于预构建静态文件生成这些很容易。 这里 ETag 值可能是文件哈希值。

22451

Microsoft REST API指南

有关选项使用示例,请参见完善CORS跨域调用。 7.5 标准请求 下面的请求表 应该遵循 Microsoft REST API指南服务使用。...使用这些标题不是强制性如果使用它们则必须始终一致地使用所有值都必须遵循规范中规定字段所规定语法规则。...服务不应该对客户端时钟准确性做任何假设。此可以包含在请求中,但在提供时必须采用此格式。当提供此报头时,必须使用格林尼治平均时间(GMT)作为时区参考。...以查询参数方式提交自定义请求 有些对某些场景(如AJAX客户端)兼容,特别是在不支持添加跨域调用时。...如果请求中存在Origin: 添加一个Access-Control-Allow-Headers响应,其中包含允许客户端使用请求头名称列表。

4.5K10

针对Wi-Fi帧聚合和帧分段漏洞攻击

在威胁模型中以客户端为目标时,攻击者可以控制IP ID字段和IPv4后面的有效负载。当这些字节被解释为A-MSDU帧时,第一个长度字段对应于IP ID字段(请参见上图)。...一旦受害者使用了恶意DNS服务,攻击者就可以将所有流量重定向到其恶意服务,从而有效拦截客户端所有基于IP流量。...请注意,恶意DNS服务将托管在IPv6地址上,如果需要,仍可以使用IPv4地址响应DNS请求。...在攻击第1阶段和第2阶段之间,攻击者阻止客户端和AP之间所有帧。为了防止这些帧干扰攻击,在将帧转发到AP时,请勿使用序列号s。这样可以确保不会将攻击者指定数据包第一个片段从AP内存中删除。...对于Windows 10上AWUS036ACH,以有效EAPOL开头A-MSDU导致蓝屏死机。最后,如果某些实现等于有效LLC / SNAP,则一些实现剥离A-MSDU前8个字节。

55331

WebSocket攻防对抗一篇通

)、Origin字段,可以使用Sec-WebSocket-Protocol请求字段来指示客户端可以接受哪些协议(在WebSocket协议上分层应用程序级协议),而后服务选择一个或任何一个可接受协议并在其握手中回显该值...,Origin将通知服务生成WebSocket连接请求脚本源,如果服务希望接受来自此源连接则可以选择通过发送适当HTTP错误代码来拒绝连接,此字段由浏览客户端发送,对于非浏览客户端,...WebSocket客户机握手中指定值之一,使用多个子协议服务必须确保它基于客户端握手选择一个协议,并在握手中指定它: Sec-WebSocket-Protocol: chat 完整示例 握手请求与握手响应简易示例如下...:客户端向反向代理发送升级请求"Sec-WebSocket-version"中协议版本错误,代理未验证"Sec-WebSocket-Version"并认为升级请求正确并将请求转到后端 第二步...,带有额外HTTP"Upgrade:websocket",NGINX认为这是一个正常升级请求,它只查找"Upgrade"并跳过请求其他部分,之后进一步代理将请求转换到后端 第二步:后端调用

5510

六种Web身份验证方法比较和Flask示例代码

因此客户端必须为每个请求提供凭据。...它适用于 API 调用以及不需要持久会话简单身份验证工作流。 流程 未经身份验证客户端请求受限资源 返回 HTTP 401 未授权,其值为 。...WWW-AuthenticateBasic 导致浏览显示用户名和密码提升WWW-Authenticate: Basic 输入凭据后,它们将与每个请求一起发送到头中:Authorization:...流程 未经身份验证客户端请求受限资源 服务生成一个名为 nonce 随机值,并发回 HTTP 401 未授权状态,其值与 nonce 一起为:WWW-AuthenticateDigestWWW-Authenticate...: Digest nonce="44f0437004157342f50f935906ad46fc" 导致浏览显示用户名和密码提示WWW-Authenticate: Basic 输入凭据后,密码将被散列

7.1K40
领券