שיקבל בקשות(כלומר url).
ולהחזיר RESPONSE.אם ה URL עומד בסטנדרטים אתה אמור לבצע REQUEST כרגיל ולשפוך חזרה את ה RESPONSE. אם הוא לא עומד בסטנדרטים אתה אמור להחזיר RESPONSE שאתה רוצה(דף סטטי?).
הבעיה היא איך אתה גורם ליוזר לעבור דרכך..אם זה סוג של דפדפן או אפליקציה(שאתה בונה)שאתה שם אצלו, אז פשוט מאוד תשנה את הURL, כלומר אם הוא ינסה להיכנס ל:
www.google.com
תחליף את זה ב
www.yourproxy.com?realurl=www.google.com
ואז הוא אצלך בשרת, ויש לך את כל המידע הרלוונטי..
ב-C# זה פשוט..אני מניח שגם ב JAVA זה פשוט(בטוח שיש שם אובייקטים שיבצעו בשבילך HTTP REQUEST עם URL).