后臺系統可擴展性學習筆記(六)反向代理

文章目錄

  • Web代理服務
  • 反向代理
  • 反向代理作用

Web代理服務

Web 代理服務指的是在客戶端資源請求和提供這些資源的 Web 服務之間充當中介的角色,代理服務可以實現在客戶端,或者從客戶端到目標服務器中間的任意環節。
例如,客戶端不直接向提供目標資源的 Web 服務發起請求,而是帶上目標資源的完整 URL 去請求代理服務:

GET http://en.wikipedia.org/wiki/Proxy_server HTTP/1.1
Accept: text/html

代理服務收到之后,(由代理服務來)請求指定資源并將響應結果轉發給客戶端:

HTTP/1.1 200 OK
Content-Type: text/html; charset UTF-8

反向代理

“反向”自然是相對“正向”來說的,那么,首先要知道什么是正向代理?
正向代理是對外的,面向外部資源,用來從網絡上獲取各種數據:代客戶端發出資源請求,并將響應結果返回給對應的客戶端。所以,正向代理更靠近客戶端,與客戶端的關系更密切(跟服務器關系一般,不熟)
反向代理負責把流量根據配置規則重定向到內部服務器,外部請求并不知道內網的存在,反向代理是對內的,面向內部資源,用作對私有網絡上的服務器進行訪問控制和保護的前端。所以,反向代理更靠近服務器,與服務器的關系不一般,并且只提供有限的一些資源(不像正向代理能從網絡獲取各種資源)。
并且這種代理關系對用戶來說是一定是透明的,因為用戶不知道連接的是源服務還是代理服務。
而用戶對正向代理通常是有感知的,明確知道自己正在通過代理訪問網絡資源。
除正向、反向代理之外,還有:

  • 開放代理(Open proxy):面向公眾(任何人都可以訪問)的正向代理
  • 匿名代理(Anonymous proxy):不公開客戶端原始 IP 地址的代理服務
  • 透明代理(Transparent proxy):透傳請求和響應,不做任何修改,用作網關(Gateway)和路由器

從方向上看,正向代理代表客戶端請求資源,反向代理代表服務器提供資源:
在這里插入圖片描述
總結來說:正向代理代表客戶端,而反向代理代表服務器

反向代理作用

反向代理常用于以下場景:

  • 加密/SSL 加速:將 SSL 加密的工作交由配備了 SSL 硬件加速器的反向代理來完成
  • 負載均衡:將流量負載分發給多個 Web 服務器
  • 托管/緩存靜態內容:將靜態內容(比如圖片)交由反向代理提供,分擔源站負載
  • 壓縮:代理服務器能夠對資源內容進行壓縮優化,提升加載速度
  • 安全防護:能夠屏蔽源服務器的存在及其特征,結合防火墻抵御常見 Web 攻擊
  • 訪問控制:對內容進行監控/過濾,常用于工作場所、學校等

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376581.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376581.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376581.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

(C)單鏈表

老師版 1 #include <stdio.h>2 #include <stdlib.h>3 4 // 定于Node數據類型5 struct Node6 {7 int data; // 數據域8 struct Node *next; // 指針域9 };10 11 // 創建一個單鏈表&#xff0c;并把head節點返回&#xff1b;…

實驗:sigsuspend(),sigprocmask()

實驗&#xff1a;sigsuspend(),sigprocmask()源代碼&#xff1a;/* * Program: pause_suspend.c * To test the difference between sigsuspend() and paus(). * Author: zsl * Date: 2014-10-17 * First release. * 參見網頁&#xff1a;http://blog.csdn.net/liwentao1091/ar…

后臺系統可擴展性學習筆記(七)Service Discovery與微服務

文章目錄應用層微服務架構服務注冊查詢 Service Discovery客戶端 Service DiscoveryDNS-SD DNS-based Service Discovery服務端 Service Discovery服務注冊與注銷自注冊模式第三方注冊模式總結參考應用層 在簡單的 3 層結構中&#xff0c;Web 服務層既要處理請求&#xff0c;又…

很久沒寫代碼了,這(那)幾天真是累死了。。。先寫一個幻方的程序吧

1 #include <stdio.h>2 #include <stdlib.h>3 #include <windows.h>4 5 #define EVEN_DOUBLE_4 4 //雙偶的最基本類型&#xff0c;4階雙偶6 #define SCREEN_SIZE 19 //屏幕顯示不變形的最大尺寸&#xff08;主要是因為窗口大小限制&#xff09;7 #defi…

#pragma once

http://baike.baidu.com/view/1276747.htm?fraladdin 轉載于:https://www.cnblogs.com/prayer521/p/4069040.html

后臺系統可擴展性學習筆記(八)Service Mesh

文章目錄網絡傳輸可靠性將微服務控制下沉到網絡棧&#xff1f;Sidecar從 Sidecar 到 Service MeshService Mesh 部署平臺參考網絡傳輸可靠性 從計網的學習過程中我們可以知道數據在網絡傳輸中可能會出現一些異常狀況&#xff1a; 數據丟失&#xff1a;數據包可能會到達一個緩…

關于Spring batch的學習之CSV2DB

最近在學習Spring batch相關的內容&#xff0c;網上也有不少Spring Batch相關的知識&#xff0c;不過大多都是使用xml進行配置的。這里是我用注解的方式進行相關的學習心得。 首先我們來看如何將一個文本文件中的內容導入到數據庫中。 我們先來看一下我們所需要的環境。我們這里…

后臺系統可擴展性學習筆記(九)Database Replication

文章目錄數據庫擴展一致性問題Replication &#xff08;復制&#xff09;異步復制同步復制半同步復制拓撲結構單主結構多主結構無主結構復制具體措施參考數據庫擴展 之前在第一章后臺系統可擴展性學習筆記&#xff08;一&#xff09;概要談到&#xff1a;理論上&#xff0c;有…

python中的sum函數.sum(axis=1)

看起來挺簡單的樣子&#xff0c;但是在給sum函數中加入參數。sum&#xff08;a&#xff0c;axis0&#xff09;或者是.sum(axis1) 就有點不解了 在我實驗以后發現 我們平時用的sum應該是默認的axis0 就是普通的相加 而當加入axis1以后就是將一個矩陣的每一行向量相加 例如&…

后臺系統可擴展性學習筆記(十)Database Partitioning

為了提升數據庫的處理能力&#xff0c;我們把單庫擴展成多庫&#xff0c;并通過更新同步機制&#xff08;即Replication&#xff09;來保證多份數據的一致性。然而&#xff0c;在 各種復制方案下&#xff0c;每個數據庫都持有一份完整數據&#xff0c;基于全量數據提供增刪改查…

基于FPGA的HDTV視頻圖像灰度直方圖統計算法設計

隨著HDTV的普及&#xff0c;以LCD-TV為主的高清數字電視逐漸進入蓬勃發展時期。與傳統CRT電視不同的是&#xff0c;這些高清數字電視需要較復雜的視頻處理電路來驅動&#xff0c;比如&#xff1a;模數轉換&#xff08;A/D Converter&#xff09;、去隔行&#xff08;De-interla…

后臺系統可擴展性學習筆記(十一)Database Denormalization

之前的兩篇筆記中談到了從單庫擴展到多庫以承載更多的請求量以及單庫&#xff08;表&#xff09;拆分成多庫&#xff08;表&#xff09;&#xff0c;打破單庫的性能瓶頸。 這都是為了應對大數據量下的措施。 然而&#xff0c;除卻數據量外&#xff0c;還有一個極其影響單庫性能…

Java Swing 影樓管理系統之登錄功能

開頭打廣告&#xff0c;Java1234.com。 首先&#xff0c;來個效果圖。 關鍵代碼 1&#xff0c;界面層 private void Jb_DengLuActionPerformed(java.awt.event.ActionEvent evt) {// TODO add your handling code here:String UserName this.Jb_UserNameTxt.getText();String …

Bdsyn百度手機助手是何物,它是怎樣神不知鬼不覺地安裝到你的電腦里的?

【電腦軟件管理中Bdsyn手機助手的問題】Bdsyn手機助手 is developed by Baidu, Inc. and is used by 10 users of Software Informer. 并不是本人安裝的&#xff08;應該是自己自己主動安裝的&#xff09;&#xff0c;卸載以后過幾天又會出如今軟件列表里。百度搜索卻無法搜索出…

后臺系統可擴展性學習筆記(十二)NoSQL

文章目錄NoSQL定義NoSQL種類鍵值存儲文檔存儲寬列存儲圖形數據庫NoSQL 意味著什么ACID vs. BASESQL or NoSQLNoSQL定義 不同于關系型數據庫&#xff0c;NoSQL 數據庫&#xff08;也叫非 SQL 或非關系型數據庫&#xff09;提供的數據存儲、檢索機制并不是基于表關系建模的。沒有…

android2.2應用開發之IccCard(sim卡或USIM卡)

tyle"margin:20px 0px 0px; font-size:14px; line-height:26px; font-family:Arial; color:rgb(51,51,51)"> 如果要做android通訊錄的聯系人的機卡混排顯示&#xff0c;由于手機卡類型的不同&#xff0c;導致手機卡存儲容量以及可以存儲信息不同&#xff0c;就要涉…

后臺系統可擴展性學習筆記(十三)緩存

文章目錄在哪兒加緩存緩存什么內容緩存原始查庫結果緩存數據對象怎么查詢緩存結果預留緩存模式直讀模式直寫模式回寫式緩存繞寫式緩存提前刷新模式緩存滿了如何處理參考讀寫分離、分庫分表、反范式化、采用 NoSQL……如果這些擴展手段全都上了&#xff0c;數據響應依舊越來越慢…

[linux]gdb調試

使用gdb可以在命令行方便地調試&#xff0c;并且能以命令程序的方式調試源代碼。 常用命令簡寫print-p,step-s,next-n 進入gdb //方式一 gdb test//test 為可執行文件&#xff0c;使用-g編譯得到 //方式二 gdb -q //不顯示版權信息 file test //file命令打開文件 退出gdb quit …

后臺系統可擴展性學習筆記(十四)異步機制與MQ

對于 Web 服務而言&#xff0c;提升可擴展性的主要途徑是將耗時的同步工作改成異步處理&#xff0c;從而允許將這些工作“外包”給多個 Worker 去做&#xff0c;或者提前完成能夠預知的部分。 異步機制與可擴展性之間的關系需要從&#xff08;異步&#xff09;并行處理的優勢說…

RegisterClientScriptBlock與 RegisterStartupScript區別

Page.ClientScript.RegisterClientScriptBlock而用Page.ClientScript.RegisterStartupScript是因為&#xff1a;RegisterStartupScript 把script放置在ASP.NET page的底部&#xff0c;而RegisterClientScriptBlock把script放置在ASP.NET page的頂部&#xff0c;用RegisterClien…