Client–server model: Difference between revisions

Content deleted Content added
Hacker on the Loose
Tags: Visual edit Mobile edit Mobile web edit
m Added sources and examples in the "server-side" paragraph.
Line 28:
{{See also|Backend (computing)|Server-side scripting|Server Side Includes|label 3=Server Side Includes (SSI)}}
{{More citations needed|section|small=y|date=December 2016}}
Server-side refers to programs and operations that run on the [[server (computing)|server]]. In contrast, client-side programs and operations run on the [[client (computing)|client]].<ref name="stackexchange" /> <ref>{{Cite web |title=Ada Computer Science |url=https://adacomputerscience.org/concepts/webtech_server |access-date=2025-04-03 |website=Ada Computer Science |language=en}}</ref> Server-side operations are part of many web applications and services, enabling secure data management <ref>{{Cite journal |date=2010 |editor-last=Jonker |editor-first=Willem |editor2-last=Petković |editor2-first=Milan |title=Secure Data Management |url=https://link.springer.com/book/10.1007/978-3-642-15546-8 |journal=Lecture Notes in Computer Science |language=en |doi=10.1007/978-3-642-15546-8 |issn=0302-9743}}</ref>, complex computation, and centralised control.<ref>{{Cite web |last=Mehrab |first=Abu |date=2025 |title=Centralized Control: Revolutionizing All End-User Computer Management from a Single Hub. |url=https://www.researchgate.net/publication/389889730_Centralized_Control_Revolutionizing_All_End-User_Computer_Management_from_a_Single_Hub}}</ref>
 
Server-side refers to programs and operations that run on the [[server (computing)|server]]. This is in contrast to client-side programs and operations which run on the [[client (computing)|client]].<ref name="stackexchange" /> (See below)
 
=== General concepts ===
"Server-side software" refers to a [[computer application]], such as a [[web server]], that runs on remote [[server (computing)#Hardware|server hardware]], reachable from a [[user (computing)|user]]'s local [[computer]], [[smartphone]], or other device. Common Operationsexamples mayinclude beweb performedservers, server-sideapplication because they require access to information or functionality that is not available on the [[client (computing)|client]]servers, orand becausedatabase performingsystems. suchOperations operationsare onoften theperformed [[clientserver-side|client side]] would be slow, unreliable, or [[computer security|insecure]].are:
 
* Functionalities that should not be exposed to the client because they involve sensitive data.
* Computationally intensive tasks that require powerful server hardware.
* Sensitive processes whose vulnerabilities can be reduced by centralising databases and operations.
 
Client and server programs may be commonly available ones such as free or commercial [[web server]]s and [[web browser]]s, communicating with each other using standardized [[protocol (computing)|protocols]]. Or, [[programmer]]s may write their own server, client, and [[communications protocol]] which can only be used with one another.
 
Server-side operations include both those that are carried out in response to client requests, and non-client-oriented operations such as maintenance tasks.<ref>{{Cite web |date=2023-11-05 |title=Introduction to the server side - Learn web development {{!}} MDN |url=https://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps/Introduction |access-date=2023-11-13 |website=developer.mozilla.org |language=en-US}}</ref><ref>{{Cite web |date=2023-06-30 |title=Server-side website programming - Learn web development {{!}} MDN |url=https://developer.mozilla.org/en-US/docs/Learn/Server-side |access-date=2023-11-13 |website=developer.mozilla.org |language=en-US}}</ref>
 
Server-side operations can be processing database queries, managing user authentication, running complex algorithms, rendering web pages dynamically, and handling file storage and retrieval. One real-world application of server-side operations is, for example, dynamic content generation: based on user requests and data stored in a database, a server can dynamically tailor HTML pages by displaying personalised product recommendations on an e-commerce site.<ref>{{Cite web |date=2024-07-20 |title=Server-Side Rendering (SSR) in Web Development |url=https://dev.to/hillaryprosper_wahua_bce/server-side-rendering-ssr-in-web-development-1oi0 |access-date=2025-04-03 |website=DEV Community |language=en}}</ref> Also tasks such as sending email, scheduling tasks, and managing network resources are typically handled server-side.
 
=== Computer security ===
Line 52 ⟶ 57:
* [[Ruby (programming language)|Ruby]]
* [[Node.js]]
* [[Swift (programming language)|Swift]] (with frameworks like [[Vapor (web framework)|Vapor]] and [[Kitura]])
* Go
 
However, web applications and [[web service|services]] can be implemented in almost any language, as long as they can return data to standards-based web browsers (possibly via intermediary programs) in formats which they can use.
 
==Client -side==
{{refimprove|section|small=y|date=December 2016}}{{See also|Client-side prediction|Front-end (computing)|Pagination# In web browsers|label 3=Pagination § In web browsers}}