A server is a computer running specific software which provides some service to computers on a network. In context of the internet, a server stores all the content and code required to run a website. Your computer, the client, sends a request to the server, and the server responds with the data needed (the webpage, for example).

To share a server on the internet, the IP Address must be found and for user-friendly access a domain name can be registered through a registrar. Without a domain name, a server must be accessed solely through the IP address which is difficult to memorize. Requests sent to a domain name are associated with an IP address in a DNS server after the domain name is registered.

Data Transfer Protocols

See also: Computer Science#Ports and Packets

Different protocols are used for different types of services that servers share with clients. A protocol in terms of networking is a standardized format for transferring data from one computer to another and for it to be properly examined. The most common protocol is Internet Protocol, which is the proper format for transferring data over the Internet.

Data is transferred in the form of a packet, or a bound package of data that travels together on wiring. Packets rarely are ever separated, but can sometimes be lost throughout the series of forwarding servers on the Internet. When a packet is received by a server, the packet has header information included which tells about the sender's IP address, the destination IP address, and the port number on which the data is meant to communicate with. If the server receives a packet intended for it, it will interpret it and send back any data to the client computer.

Scratch Server

The subject of this article or section has changed dramatically and requires updating. Some information or images may not be accurate or relevant to the current version of Scratch, the Scratch website, or the article subject. (July 2021)
Specifically: The main site no longer uses Django (mostly) and other things.

The Scratch servers are stored at MIT and were upgraded in 2012 in courtesy of Dell.[1] Since then, the Website has been significantly faster, and additional servers and maintenance have occurred since the donation.

The servers used to run a customized system called ScratchR, and the forums used FluxBB — both were written in PHP. In Scratch 2.0, the forums run on DjangoBB, a Python-based forum system. The main site is a completely rewritten system based on Django.


Main article: Scratch Server Internal Error

Sometimes, the Scratch Team has trouble with the servers and has to reboot them (servers are notoriously shaky and often stop functioning spontaneously) or solve an issue. During these periods, a message from the Scratch Team is displayed instead of the page, stating the issue. Normally, the servers are back within hours or sometimes minutes. Usually, the community is warned beforehand, though in some cases such as the Hurricane Sandy power outage, no warning was received.[citation needed]

Recent Downtimes

  • January 2, 2019 — The Scratch Website was in Maintenance Mode due to the transfer from Scratch 2.0 to Scratch 3.0. It took place at 7:00 AM To 3:00 PM (Eastern Standard Time)
  • December 13, 2021 — An electrical outage at MIT caused the API to stop working, which causes almost all Scratch 3.0 pages to stop working. The website got into Maintenance Mode soon after.

Past Downtimes

  • August 27-28, 2011 — The Scratch Website was set to read-only and the forums were shut down due to Hurricane Irene[2][3]
  • November 29, 2012 — The Scratch Website was down for several hours due to a power outage in Cambridge.[4]
  • September 5, 2013
  • March 19, 2013 — Server room electricals upgrade[5]
  • March 29, 2015 — Server upgrades[6]
  • April 16, 2015 — Bug fixes[citation needed]

See Also