เมื่อคุณพิมพ์ www.google.com ลงในเว็บเบราว์เซอร์ของคุณจะเป็นการเปิดการเชื่อมต่อบนพอร์ตเริ่มต้น 80 ไปยังเซิร์ฟเวอร์ของ Google (ผ่านการค้นหา DNS เพื่อดูว่าที่อยู่ IP คืออะไร www.google.com) และร้องขอหน้าเว็บ เซิร์ฟเวอร์ของ Google ตอบสนองด้วยหน้าเว็บที่เบราว์เซอร์ของคุณดึงขึ้นมาบนหน้าจอ (โดยปกติแล้วจะทำการเรียกรูปภาพ, CSS และ JavaScript เพิ่มเติม)
เมื่อคุณไปที่ localhost: 8080 มันเหมือนกันทุกประการ ชื่อเซิร์ฟเวอร์ Localhost จะแก้ไขกับเครื่องที่คุณใช้งานอยู่และใช้ที่อยู่ IP ปลอมที่ 127.0.0.1 (คอมพิวเตอร์ของคุณจะมีที่อยู่ IP สองอัน - อันนี้ปลอมที่คอมพิวเตอร์ทุกเครื่องมีและที่อยู่จริง) ดังนั้นคุณต้องมีอินสแตนซ์ Tomcat ที่ใช้งานอยู่ภายในเครื่องเพื่อรับการเชื่อมต่อบนพอร์ต 8080
ทำไมพอร์ต 8080 มากกว่า http 80 พอร์ตเริ่มต้น ในกรณีที่คุณมีเว็บเซิร์ฟเวอร์อยู่แล้ว
โดยทั่วไปคุณมีเว็บเซิร์ฟเวอร์และเซิร์ฟเวอร์แอป
เว็บเซิร์ฟเวอร์ (เช่น Apache httpd) ให้บริการหน้าคงที่ ผลก็เหมือนเซิร์ฟเวอร์ FTP ทางแฟนซี คุณเปิดการเชื่อมต่อ TCP และขอไฟล์โดยใช้คำสั่ง HTTP (โดยทั่วไปคือ GET) เว็บเซิร์ฟเวอร์ส่งคืนไฟล์ HTML และเบราว์เซอร์ของคุณดาวน์โหลดและแยกวิเคราะห์ดูว่าต้องการรูปภาพอื่น ๆ และขอไฟล์เหล่านั้น เว็บเซิร์ฟเวอร์นั้นเร็วมาก แต่โดยทั่วไปแล้วจะยกไฟล์ออกจากดิสก์ภายในเครื่องและส่งคืนไฟล์เหล่านั้น
แอปเซิร์ฟเวอร์ (เช่น Tomcat หรือ JBoss) คล้ายกันยกเว้นโดยทั่วไปจะเรียกใช้รหัสเพื่อ "สร้าง" หน้าที่คุณต้องการแทนที่จะยกมันขึ้นมาจากดิสก์โดยตรง การสร้างหน้านั้นขึ้นอยู่กับแอปพลิเคชันของคุณ มันสามารถเชื่อมต่อกับฐานข้อมูลรันโปรแกรมสุ่มหน้า ... ฯลฯ เมื่อคุณเข้าสู่ระบบธนาคารออนไลน์ของคุณตัวอย่างเช่นแอปเซิร์ฟเวอร์ตั้งค่าเซสชันสำหรับคุณส่งคืนรหัสเซสชันนั้นในคุกกี้ที่ เบราว์เซอร์จะส่งกลับทุกครั้งที่คุณส่งคำขอจนกว่าคุณจะออกจากระบบ ดังนั้นหากคุณขอหน้า "ยอดคงเหลือของฉัน" จากนั้นธนาคารจะค้นหาว่าคุณเป็นใครโดยอ้างอิงจากรหัสเซสชันของคุณจากนั้นไปที่ฐานข้อมูลเพื่อรับชื่อและยอดเงินคงเหลือในธนาคารของคุณจากนั้นสร้างหน้าเว็บขึ้นมาว่า คือ€ 100 " โดยทั่วไปแอปเซิร์ฟเวอร์จะช้ากว่า แต่หลากหลายกว่า Webservers
หลายแห่งมี WebServer ที่ทำงานในพอร์ตเริ่มต้นที่ 80 จากนั้น AppServer ที่ทำงานบนพอร์ตรอง (เช่น 8080) ดังนั้นหน้าสแตติกจะให้บริการที่รวดเร็วและเมื่อผู้ใช้คลิกที่ลิงค์ซึ่งนำพวกเขาไปยังหน้าแบบไดนามิกลิงค์นั้นจะไปที่ 8080 (ซึ่งเซิร์ฟเวอร์แอปตอบสนอง) หรือเว็บเซิร์ฟเวอร์ถูกตั้งค่าให้ส่งต่อคำขอบางอย่างไปยังเซิร์ฟเวอร์แอป ในกรณีนี้มันยังคงดูเหมือนพอร์ตดีฟอลต์ 80 และดูดีกว่าสำหรับผู้ใช้เล็กน้อย)
แน่นอนว่านี่เป็นภาพรวมระดับสูงมากและไม่มีอะไรที่เป็นขาวดำ Webservers ส่วนใหญ่สามารถสร้างเนื้อหาแบบไดนามิกได้โดยการเรียกใช้สคริปต์ (โดยทั่วไปคือ CGI โดยใช้สคริปต์ที่จะใช้ Perl หรือ PHP) และเซิร์ฟเวอร์แอปส่วนใหญ่ยังสามารถให้บริการไฟล์ธรรมดาเช่นเว็บเซิร์ฟเวอร์ ในความเป็นจริงเป็นไปได้ที่จะเรียกใช้เซิร์ฟเวอร์แอปและเปลี่ยนหมายเลขพอร์ตโพงจาก 8080 เป็น 80
ในที่สุดแอปพลิเคชันจำนวนมากก็ย้ายออกจากการให้บริการหน้า HTML แบบเต็มสำหรับแต่ละคำขอไปยังเซิร์ฟเวอร์แอป (ซึ่งเห็นว่าช้าและไม่มีประสิทธิภาพ) และจะตอบกลับด้วยข้อมูลตัวอย่างเพียงใช้ AJAX เพื่อส่ง JSON หรือ XML กลับไปที่ www.google.com ดั้งเดิมที่คุณใช้พิมพ์ข้อความค้นหากดค้นหาและรับหน้าผลลัพธ์ของคุณ ขณะนี้เมื่อคุณพิมพ์เบราว์เซอร์ของคุณจะส่งคำขอ AJAX ไปยัง Google อย่างต่อเนื่องซึ่งตอบสนองด้วยผลการค้นหาที่ทันสมัยโดยขึ้นอยู่กับสิ่งที่คุณพิมพ์แล้วเบราว์เซอร์ของคุณจะอัปเดตหน้าเว็บ หมายความว่าไม่จำเป็นต้องรอให้ผู้ใช้ส่งหน้าดังกล่าวเร็วขึ้นและมีชีวิตชีวามากขึ้นให้กับผู้ใช้ (เช่นแอพเดสก์ท็อปโรงเรียนเก่า)