簡體   English   中英

C#中的HTTP代理服務器

[英]HTTP Proxy server in C#

我的公司正在嘗試使用.NET Fx 3.5和C#編寫代理服務器。 從我們的研究中我已經讀過HttpListener不是代理服務器的好選擇,盡管我不確定為什么。

我們目前正在使用Mentalis代理示例源代碼,但其中包括實現我們自己的日志記錄和性能計數器。 使用HttpListener將包裝Http.sys,它將為我們提供一些開箱即用的性能統計信息。

那么為什么HttpListener是HTTP代理工作的不良候選者呢?

(是的,我們也通過編寫或配置ICAP服務器來考慮Squid 3.1。)

HttpListener在.NET中為簡單的 HTTP服務器提供了一個主要的構建塊。 簡單包括不支持高運營率。

通常,HTTP代理需要非常低的開銷來支持許多並發連接以及提供代理的功能(這取決於代理的類型)。

RFC2616§8.1.3中詳細介紹了代理,並立即提供了一個項目(如果我正確理解HttpListener)是不可能的:

代理服務器必須分別與其客戶端和它連接的源服務器(或其他代理服務器)發信號通知持久連接。 每個持久連接僅適用於一個傳輸鏈路。

您可能還會考慮幾天前發布的nginx的Windows端口。 許多擁有魷魚和清漆經驗的網站在轉換為nginx后非常高興。 那么這些天MS總是會調用ISA服務器。

現在看看Mentalis代碼:D

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM