软件测试|正向代理和反向代理的区别

简介: 软件测试面试题,正向代理和反向代理的区别

在了解之前,先思考一下这几个问题:

  • 客户端(手机、网页)展示的数据从哪里来?
  • 什么是代理?
  • 正向代理和反向代理有什么区别?

代理

大家在刷手机的过程中,一定会注意到,如果把wifi或者流量的开关关闭,那么手机里面的短视频、朋友圈、消息都没有办法再去获取新的内容了。这个原因就是因为手机的数据,并非来自手机本身,而是来自一个给它传输数据的地方,我们常常称之为,服务端

好比人和人之间对话,如果双方使用不同的语言,那么是很难理解对方讲话的内容的。

在这里插入图片描述

在客户端和服务端也是同理,他们需要使用标准的协议来进行通信。
在这里插入图片描述

而代理,如果想一个生活化的比喻,就像媒人一样,在男女双方未见面之前,会把男方的信息转达给女方,也会把女方的信息知会给男方了解。
在这里插入图片描述

一般则是网络信息的一个中转站,它会把客户端的信息转发给服务端,也会把服务端的返回信息抓发给客户端。

在这里插入图片描述

正向代理与反向代理

正向代理

在学生时代,有一个喜欢的人,这是我们的目标,我们会找一个别的同学,他作为我们的代理,然后我们把礼物让这位同学转交给我们喜欢的人。而我们喜欢的这个人,他只能收到礼物,但是不知道到底是谁送他的。

在这里插入图片描述

那什么是正向代理?正向代理有如下几个特点:

  • 客户端向代理发送一个请求并指定目标(原始服务器)
  • 代理向原始服务器转交请求并将获得的内容返回给客户端
  • 服务器端只知道代理地址不知道客户端ip地址
  • 客户端知道服务端地址,而代理不知道

在这里插入图片描述

应用场景
  • VPN
  • fiddler

反向代理

那什么又是反向代理呢?反向代理的特点是:

  • 客户端向代理发送一个请求,但不指定(服务器)目标地址
  • 代理向原始服务器转交请求并将获得的内容返回给客户端
  • 客户端只知道代理地址,但不知道服务端地址
  • 代理需要知道服务端地址

在这里插入图片描述

应用场景
  • nginx

总结

由这两个图可知,正向代理和反向代理核心的区别就在于

  • 客户端发送请求的时候是否知道服务端的地址
  • 代理是否指定服务端地址
相关文章
|
4月前
|
测试技术
性能测试和负载测试的区别
性能测试和负载测试的区别
|
11天前
|
Java 测试技术 Python
《手把手教你》系列技巧篇(二十七)-java+ selenium自动化测试- quit和close的区别(详解教程)
【4月更文挑战第19天】本文介绍了WebDriver中关闭浏览器的两个方法:close和quit。close方法关闭当前窗口,如果这是最后一个窗口,浏览器也会退出。quit方法则直接退出浏览器并关闭所有关联窗口。示例代码展示了两者的区别,通常在自动化测试后使用quit来彻底关闭浏览器。close和quit在HTTP请求上的差异也进行了说明,close请求的是 `/session/{session id}/window/current`,而quit请求的是 `/session/{session id}`。
29 8
|
6月前
|
Java 测试技术 Maven
maven跳过单元测试-maven.test.skip和skipTests的区别
maven跳过单元测试-maven.test.skip和skipTests的区别
|
7月前
|
测试技术
黑盒测试、白盒测试、灰盒测试的区别和各自的目的
黑盒测试、白盒测试和灰盒测试是软件测试中常用的测试方法。它们的区别和各自的目的如下: 1. 黑盒测试(Black Box Testing): - 黑盒测试是一种功能性测试方法,使用者只关注输入和输出,不考虑内部结构和实现细节。 - 黑盒测试的目的是验证软件功能是否按照需求规格说明书的要求来执行。 - 测试人员不需要了解软件的内部逻辑和代码,只需关注输入和输出的正确性。 - 黑盒测试可通过设计测试用例,模拟用户使用软件的场景,以验证系统的正确性。 2. 白盒测试(White Box Testing): - 白盒测试是一种结构性测试方法,测试人员了解软件的内部结构
297 0
|
3月前
|
Java 测试技术 API
安卓APP和iOS APP在测试上的区别是什么?
安卓APP和iOS APP在测试上的区别是什么?
|
4月前
|
安全 测试技术
负载测试和压力测试的区别
负载测试和压力测试的区别
|
8月前
SAP ABAP Gateway Client 里 OData 测试的 PUT, PATCH, MERGE 请求有什么区别
SAP ABAP Gateway Client 里 OData 测试的 PUT, PATCH, MERGE 请求有什么区别
88 2
|
10月前
|
测试技术
【系统分析】软件调试与软件测试的区别
【系统分析】软件调试与软件测试的区别
92 0
|
Java 测试技术 数据库
软件测试|什么是压力测试?什么是负载测试?这两个区别是什么?
软件测试|什么是压力测试?什么是负载测试?这两个区别是什么?
154 0
软件测试|什么是压力测试?什么是负载测试?这两个区别是什么?
|
Java 测试技术 Maven
maven命令,跳过单元测试-maven.test.skip和skipTests的区别
-DskipTests,不执行测试用例,但是会编译测试用例类,并且会生成相应的class文件,而且此文件放置在target/test-classes下。 -Dmaven.test.skip=true,不执行测试用例,也不会编译测试用例类。
406 0

热门文章

最新文章