Not so long ago, browsers were very dumb. All they did was render HTML documents in a very early version of HTML. There was no CSS, nor JS. That means that front-end web developers did not exist!
Remember how the internet works? Every domain points to a single IP address/server, and that server is ready to give back a text answer to any HTTP request that comes from any client.
Think about the server like a "document generator." It can be an image, a video, a text document, JSON, HTML, CSS, etc. The server’s responsibility is to respond with content each time a client requests it.
Along with the generated document content, the server can also specify what type of content is responding, allowing the browser to read and interpret the response in an accurate way. The response formats available can be hundreds, but this are the most common:
|text/plain||This is the default value for text files. Even if it really means an unknown text file, browsers assume they can display it|
|text/css||Any CSS files that have to be interpreted as such in a web page must be text/css files. Often, servers do not recognize files with the .css suffix as CSS files and instead send them as text/plain.|
|text/html||All HTML content should be served with this type.|
|Only a handful of image types are widely recognized and are considered web safe (ready for use in a web page).|
|For audio files .wav .mp3|
|multipart/form-data||The multipart/form-data type can be used when sending the content of a completed HTML form from the browser to the server.|
|application/json||A JSON formatted response.|
In addition to the document content and the content-type, the server also appends a response code to the header. There are dozens of response codes, but these are the most popular ones:
|2xx Success||200 OK, 201 Created, 204 No Content, 203 Non-Authoritative Information|
|3xx Redirection||301 Moved Permanently, 307 Temporary Redirect, 304 Not Modified|
|4xx Client Error||404 Not Found, 400 Bad Request, 403 Forbidden, 401 Unauthorized|
|5xx Server Error||500 Internal Server Error, 503 Service Unavailable|
🔗 Here you can find more detailed information about server response codes.
The cool thing about a back-end language is that it runs on a real machine (not in a browser like the front-end language). With a back-end language you can do things like:
As a back-end developer, you will need to write all the code to generate and/or to respond to those static and dynamic documents as clients request them.
The back-end web developer code needs to fulfill 4 main requirements: