Search engine
Search Engine एक Software Program या Tool है, जो User को World Wide Web (WWW) से Information Search और Retrieve करने की Permission देता है। यह Web Page और अन्य Online Content जैसे Image, Video और Document को Indexing करके काम करता है, और फिर User को उनकी Search Query के Base पर Relevant Result Provide करता है।
Search Engine Web पर नए Page Search करने और उन्हें अपने Database में Index करने के लिए Web Crawler या Spider का use करते हैं। Indexing की Process में Text, Link और Metadata सहित Web Page के Content का Analyze करना और फिर उस Information को Search योग्य Index में Store करना Include है। जब कोई User Search Query करता है, तो Search Engine सबसे Relevant Result को Retrieve करने और Rank करने के लिए अपनी Indexing का use करता है।
आज Web पर कुछ सबसे लोकप्रिय Search Engine में Google, Bing, Yahoo और DuckDuckGo शामिल हैं। ये Search Engine Keyword Density, Page Quality, और Website के Authority जैसे Different Factors को ध्यान में रखते हुए User की Search Engine के लिए Web Page और अन्य Online Content की Relevant Define करने के लिए Complex Algorithm का use करते हैं।
Client Sever Model
Client-Server Model एक Architecture Pattern है, जो Internet पर Data को Serve और Retrieve के लिए Web Technology में Use किया जाता है। इस Model में, Client (Web Browser), Server (Web Server) को एक Request Send करता है, और Server Request Prcoess एक Response Return देता है। Client-Server Model, Client और Server के बीच Communication Interface की तरह Work करता है।
Client और Server एक Standardized Communication Protocol, जैसे HTTP या HTTPS के माध्यम से Communication करते हैं। Client-Side Component, User Interface है, जिसके माध्यम से User अपनी Search Query Enter करते हैं। यह Component, Server-Side Component को Query Send करता है| जो Query को Processing करने, उसके Index से Relevant Data को Retrieve करने और Client को Result, Return करने के लिए Responsible होता है।
Server Component में Multiple Layer होती हैं, जिसमें Front-End layer Include होती है| जो आने वाले Request को Receive करती है, और Parses करती है| तथा एक Back-end layer होती है, जो Request को Process करती है| और Relevant Data को Retrive करती है| तथा इसमें एक Database Layer होती है, जो Indexed Data को Store करती है| Front-End Layer, Back-End Layer से Received Data को HTTP Response में Convert करता है, और Client को Output के रूप में Send करता है।
Type of Client Server Services
Server Computer, Multiple Service, Provide करते है| Service के आधार पर Server Computer को Service के नाम से जाना जाता है| Example -Email Server, Database Server, Web Sever इत्यादि|
Email Server
Email Server, Email से Related Service Available, Provide करती हैं| Email Server द्वारा Client Computer एक दूसरे को Message व Mail Send कर सकते हैं| Email Server, Client Computer के सभी Mail व Message को Save रखता है| अगर Client Email को Read करने के लिए Server उस Client से Related सभी Email उस Network से Send कर सकते है|
Database Server
इस तरह के Server Computer बहुत बड़ी मात्रा में Client Computer की Information व Data अपने पास Store रखती है| Client Machine Database Server से Contact Stablish करके Information व Data को Server Computer में Save कर सकते हैं| तथा अपनी Need के अनुसार Stored Data को Retrieve भी कर सकते हैं|
Web Sever
यह Server Website से Related File को पास Store करते हैं| तथा जब भी Client Computer द्वारा Web Page को Access के लिए Request किया जाता है, तो Web Server, Requested, Web Page को Client को Send कर देते हैं| Example- Web Browser
Web Browser, Client Software होता है| इस Software में user Web Page से Related URL को Type करता है| Web Browser Type किये हुए URL के जरिये Web Server से Connection Stablish करता है, जिसके पास Requested Web Page Store होता है| Client की Request आने के बाद Web Server, Browser को Web Page, Send कर देता है| जिसके बाद Browser इस Web Page को Process कर user को Web Page में Availble, Current Component, User को Deliver करता है|
Advantages of the Client-Server Model
- Scalability: Clients को Affect किए बिना Server को आसानी से Upgrade अथवा Change किया जा सकता है|
- Reliability: High Availability, Provide करने और Downtime को कम करने के लिए Server को Redundant Component और Bakcup System के साथ Design किया जा सकता है।
- Security: Sensitive Data को Protect करने मदद करते हुए Server Security policies को Apply करता है, और Access Control Provide करता है।
- Centralized Processing: Server, Complex Processing और Data Storage कर सकता है, जिससे Client को Same Processing Power के बिना उन Resoures तक Access की Permission मिलती है, जिनकी उन्हें आवश्यकता होती है।
- Flexibility: Client-Server Architecture, Simple File Sharing से Complex Enterprise System तक Application और Service की एक Wide Range को Support करता है।
Disadvantages of the Client-Server Model
- Single point of failure: Server, Client-server model में Failure के Single Point के रूप में कार्य करता है। यदि Server Fail हो जाता है, तो सभी Connected Client उन Resource को Access करने में Unable होंगे| जिनकी उन्हें Requirement है।
- Maintenance and Upgrades: Server का Upgrade या Maintainance एक Complex और Time लेने वाली Process हो सकती है, जिसके लिए सभी Connected Client को temporarily रूप से disconnected करने की आवश्यकता होती है।
- Latency: Client-Server Model, Latency से Suffer कर सकता है| क्योंकि Client से Server की Request Network पर Travel करती है, जिससे कभी-कभी Delay हो सकता है।
- Security: Server पर Resource का Centralization इसे Malicious Attacks के लिए एक Main Target बना सकता है, जिससे Server और इसके Resource को Secure करना महत्वपूर्ण हो जाता है।