Explore our extensive collection of courses designed to help you master various subjects and skills. Whether you're a beginner or an advanced learner, there's something here for everyone.
Join us for our free workshops, webinars, and other events to learn more about our programs and get started on your journey to becoming a developer.
For all the self-taught geeks out there, here is our content library with most of the learning materials we have produced throughout the years.
It makes sense to start learning by reading and watching videos about fundamentals and how things work.
Data Science and Machine Learning - 16 wks
Full-Stack Software Developer - 16w
Search from all Lessons
Curated list of small interactive and incremental exercises you can take to get better at any coding skill.
Curated section of projects to build while learning with simple instructions, videos, solutions, and more.
Guides on different topics related to the technologies that we teach in our courses
HTTP (HyperText Transfer Protocol) is a protocol used to transmit hypermedia documents over the Web. It is involved in all information transmission flows across the Internet.
This protocol operates between a client and a server. Thus, the client makes a request by sending a message in a certain format to the server. The server then returns with a text response.
This communication, as shown in the following gif, is carried out through a process:
Image 1: The 4 steps necessary to send images over the Internet: decoding the image, transmission, reception and decoding... Finally, the happy grandmother after seeing her granddaughter's picture!
The HTTP protocol works through requests and responses from the client (e.g., a web browser) and a server (e.g., the computers that host and display websites).
The server, after receiving a request, responds with a structured message and a series of metadata that establishes guidelines for the initiation, development and closure of the communication. These guidelines are called
A sequence of these requests is known as an
Every conversation on the web starts with a request. This request is a text message or a set of lines created by a client (browser, app, user) that specifies the document it requests and the method it applies. The client sends this request to a server, and then waits for the response.
A request to get a web page, in this case,
google.com, in HTTP language would look something like this:
In this particular case we are using the GET method because we want to get/receive a resource.
This simple message communicates everything we need to know about exactly what resource the client is requesting. The first line of an HTTP request is the most important and contains two things:
|GET||Requests a representation of the specified resource. Used to request a resource from a server.|
|POST||Sends information to the server. This information, depending on the server and the context, can be used, for example, to add records to a database, add information to a user profile on a website, and so on.|
|PUT||Sends information to the server, but unlike POST, this method is used to update information already on the server.|
|DELETE||Used to delete data on the server.|
In addition to the first line, an HTTP request also has other lines of data called request headers, or
request headers, through which it can deliver a wide range of information in the request that the server will receive.
Every response from a server will carry with it a
response code or status. Some of the most common ones are listed below.
When the server receives the request, it knows exactly what resource the client needs (through the URI) and what it wants to do with that resource (through the request method used).
Translated into HTTP, the response would look something like this:
The response contains the requested resource as well as the response code. In this case
200 indicates that everything is correct, that the resource has been received and that the communication was successful.
HTTP status codes can be found here and depending on the number they start with, they provide very valuable information:
2xx- All OK
4xx- Client did something wrong
5xx- Server did something wrong