Jump to content

Server-side: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
Merge
Tags: New redirect Visual edit
 
(6 intermediate revisions by 6 users not shown)
Line 1: Line 1:
#REDIRECT [[Client–server model#Server-side]]{{R shell|{{R from merge}}
{{Refimprove|date=December 2016}}
{{R with possibilites}}

{{R printworthy}}}}
In the [[client–server model]], '''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>{{cite web|url=http://softwareengineering.stackexchange.com/questions/171203/what-are-the-differences-between-server-side-and-client-side-programming|title=What are the differences between server-side and client-side programming?|website=softwareengineering.stackexchange.com|access-date=2016-12-13}}</ref><ref name=oreilly>{{cite book |url=https://books.google.com/books?id=DyrLV0kZEd8C&q=client-side+OR+server-side&pg=PT17 |title=Computer Security Basics |edition=2nd |last1=Lehtinen |first1=Rick |last2=Russell |first2=Deborah |last3=Gangemi |first3=G. T. |publisher=[[O'Reilly Media]] |isbn=9780596006693 |date=2006 |access-date=2017-07-07}}</ref><ref name=n3tweb>{{cite web |url=https://n3tweb.wordpress.com/2015/10/15/week-4-is-there-a-difference-between-client-side-and-server-side/ |title=Week 4: Is There a Difference between Client Side and Server Side? |author=JS |website=n3tweb.wordpress.com |date=2015-10-15 |access-date=2017-07-07}}</ref><ref name=alpinesecurity>{{cite web |url=https://www.alpinesecurity.com/s/Alpine-Security-Decoding-the-Hack-Presentation-22-April-16.pdf |title=Decoding the Hack |last=Espinosa |first=Christian |website=alpinesecurity.com |date=2016-04-23 |access-date=2017-07-07 }}{{Dead link|date=March 2023 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>

==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. Operations may be performed server-side because they require access to information or functionality that is not available on the [[client (computing)|client]], or because performing such operations on the [[client-side|client side]] would be slow, unreliable, or [[computer security|insecure]].

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.

==Computer security==
In a [[computer security]] context, server-side vulnerabilities or attacks refer to those that occur on a server computer system, rather than on the client side, or [[Man-in-the-middle attack|in between the two]]. For example, an attacker might exploit an [[SQL injection]] vulnerability in a [[web application]] in order to maliciously change or gain unauthorized access to data in the server's [[database]]. Alternatively, an attacker might break into a server system using vulnerabilities in the underlying [[operating system]] and then be able to access database and other files in the same manner as authorized administrators of the server.<ref name=oreilly /><ref name=n3tweb /><ref name=alpinesecurity />

==Examples==
In the case of [[distributed computing]] projects such as [[SETI@home]] and the [[Great Internet Mersenne Prime Search]], while the bulk of the operations occur on the client side, the servers are responsible for coordinating the clients, sending them data to analyze, receiving and storing results, providing reporting functionality to project administrators, etc. In the case of an Internet-dependent user application like [[Google Earth]], while querying and display of map data takes place on the client side, the server is responsible for permanent storage of map data, resolving user queries into map data to be returned to the client, etc.

In the context of the [[World Wide Web]], commonly encountered server-side computer languages include:<ref name=stackexchange>{{cite web|url=http://softwareengineering.stackexchange.com/questions/171203/what-are-the-differences-between-server-side-and-client-side-programming|title=What are the differences between server-side and client-side programming?|website=softwareengineering.stackexchange.com|access-date=2016-12-13}}</ref>
* [[C Sharp (programming language)|C#]] or [[Visual Basic]] in [[ASP.NET]] environments
* [[Java (programming language)|Java]]
* [[Perl]]
* [[PHP]]
* [[Python (programming language)|Python]]
* [[Ruby (programming language)|Ruby]]
* [[Node.js]]
* [[Swift (programming language)|Swift]]

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.

==See also==
*[[Backend (computing)]]
*[[Client-side]]
*[[Server-side scripting]]
*[[Server Side Includes]] (SSI)

==References==
{{Reflist}}

[[Category:Servers (computing)]]


{{network-software-stub}}

Latest revision as of 22:49, 21 March 2024