<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Josh's corner]]></title><description><![CDATA[Josh's corner]]></description><link>https://coderbro.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Mon, 28 Sep 2026 11:01:37 GMT</lastBuildDate><atom:link href="https://coderbro.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Demystifying HTTP 2: Dummy's Guide to Understanding the Web's Backbone]]></title><description><![CDATA[Hi there, good to have you in my corner again. If this is your first time entering my corner, I am delighted to have you here.
In this post, I will be delving deeper into the HTTP response format, HTTP status codes, and their meaning as I promised in...]]></description><link>https://coderbro.hashnode.dev/demystifying-http-2-dummys-guide-to-understanding-the-webs-backbone</link><guid isPermaLink="true">https://coderbro.hashnode.dev/demystifying-http-2-dummys-guide-to-understanding-the-webs-backbone</guid><category><![CDATA[https]]></category><category><![CDATA[http status codes]]></category><category><![CDATA[HTTP response code]]></category><category><![CDATA[http requests]]></category><category><![CDATA[Web Development]]></category><dc:creator><![CDATA[Anaele Joshua]]></dc:creator><pubDate>Mon, 16 Oct 2023 18:39:34 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/iar-afB0QQw/upload/79b955f388648c28231313e501562937.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi there, good to have you in my corner again. If this is your first time entering my corner, I am delighted to have you here.</p>
<p>In this post, I will be delving deeper into the HTTP response format, HTTP status codes, and their meaning as I promised in my previous post. This post is a continuation of my <a target="_blank" href="https://hashnode.com/post/clkirqjsx000009mm45906rrg">previous post</a>, I will recommend you check it out before you continue with this, however, you can choose to continue.</p>
<h3 id="heading-http-response"><strong>HTTP Response</strong></h3>
<p>When a server receives a request from a client, it processes the request and sends back an appropriate Response to the client. This response is composed mainly of a status line, a header(optional), and a body.</p>
<p>Status line: This line shows the client if the request was successful or an error occurred.</p>
<p><code>HTTP/1.1 200 OK</code></p>
<p>The line begins with the HTTP protocol version, followed by the status code and a reason phrase. The reason phrase represents the status code in a text form. In the example above HTTP/1.1 is the version, 200 is the status code and OK is the reason phrase.</p>
<h3 id="heading-http-status-codes">HTTP STATUS CODES</h3>
<p>The first digit of an HTTP status code shows the response category. 1xx for Information, 2xx for Successful, 3xx for Redirection, 4xx for Client Error, and 5xx for Server Errors.</p>
<p><strong>1xx (Informational status codes):</strong></p>
<p>The information status code ranges from 100 to 199. Below are some of the most common information status codes.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Status Code</strong></td><td><strong>Reason Phrase</strong></td><td><strong>Description</strong></td></tr>
</thead>
<tbody>
<tr>
<td>100</td><td>Continue</td><td>The server received the request headers and should continue to send the request body</td></tr>
<tr>
<td>101</td><td>switching protocol</td><td>The client has asked the server to switch protocol, and the server has agreed to do so</td></tr>
</tbody>
</table>
</div><p>The 1xx status codes are regarded as transitional codes, they are not the final status code.</p>
<p><strong>2xx (Success status codes)</strong></p>
<p>The information status code ranges from 200 to 299. Below are some of the most common information status codes.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Status Code</strong></td><td><strong>Reason Phrase</strong></td><td><strong>Description</strong></td></tr>
</thead>
<tbody>
<tr>
<td>200</td><td>OK</td><td>This is the standard response sent by the server to show it successfully processed the request</td></tr>
<tr>
<td>201</td><td>Created</td><td>The server has processed the request, and the resource has been created</td></tr>
<tr>
<td>202</td><td>Accepted</td><td>The server accepted the request for processing, but the request has not yet been processed</td></tr>
<tr>
<td>204</td><td>No content</td><td>The server successfully processed the request but is not returning any content</td></tr>
</tbody>
</table>
</div><p>200 ok is the most common of the 2xx status codes.</p>
<p><strong>3xx Redirection</strong></p>
<p>The information status code ranges from 300 to 399. Below are some of the most common information status codes.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>Status Code</strong></td><td><strong>Reason Phrase</strong></td><td><strong>Description</strong></td></tr>
</thead>
<tbody>
<tr>
<td>301</td><td>Moved Permanently</td><td>This request and all future requests should be sent to the returned location.</td></tr>
<tr>
<td>302</td><td>Found</td><td>This request should be sent to the returned location.</td></tr>
</tbody>
</table>
</div><p><strong>4xx Client Error</strong></p>
<p>These are responses because of errors from the client. They range from 400 to 499. Below are some of the most common responses of the 400 series.</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Status code</td><td>Reason phrase</td><td>Description</td></tr>
</thead>
<tbody>
<tr>
<td>400</td><td>Bad Request</td><td>The server cannot process the request due to a client error, e.g., invalid request or transmitted data is too large, deceptive request routing.</td></tr>
<tr>
<td>401</td><td>Unauthorized</td><td>The client is unauthorized and needs to authenticate itself to get the response requested.</td></tr>
<tr>
<td>403</td><td>Forbidden</td><td>The request is valid, but the server is refusing to process it because the client does not have the required permission to access the requested resource.</td></tr>
<tr>
<td>404</td><td>Not Found</td><td>The server did not find the requested resource.</td></tr>
<tr>
<td>405</td><td>Method Not Allowed</td><td>The web server does not support the HTTP method used on the target resource.</td></tr>
</tbody>
</table>
</div><p>500 Server Error:</p>
<div class="hn-table">
<table>
<thead>
<tr>
<td>Status Code</td><td>Reason Phrase</td><td>Description</td></tr>
</thead>
<tbody>
<tr>
<td>500</td><td><strong>Internal Server Error</strong></td><td>A generic error status code given, when an unexpected error or condition occurs while processing the request.</td></tr>
<tr>
<td>502</td><td>Bad Gateway</td><td>The web server received an invalid response from the Application Server.</td></tr>
<tr>
<td>503</td><td>Service Unavailable</td><td>The web server cannot process the request. Common causes for this might be server overloading or server is down for maintenance.</td></tr>
<tr>
<td></td><td></td></tr>
</tbody>
</table>
</div><p>HTTP Response Header</p>
<p>following the HTTP status line is a header (optional). The response header similar to the request header can contain a variety of information such as date, server type, content length, and type.</p>
<p><code>Date: Sunday, 15 Oct 2023 15:00:00 GMT+2</code></p>
<p><code>Server: Apache/2.2.14 (Linux)</code></p>
<p><code>Content-Length: 84</code></p>
<p><code>Content-Type: text/html</code></p>
<ul>
<li><p>The <strong>Date</strong> header specifies the date time the response was generated.</p>
</li>
<li><p>The <strong>Server</strong> describes the web server software used to generate the response.</p>
</li>
<li><p>The <strong>Content-length</strong> specifies the length of the content.</p>
</li>
<li><p>The <strong>Content-type</strong> specifies header describes the media type of the resource returned. e.g. HTML document, image, video.</p>
</li>
</ul>
<p>HTTP Response Body</p>
<p>Following the response header is the response body. The response body contains the resource that was requested.</p>
]]></content:encoded></item><item><title><![CDATA[Demystifying HTTP: Dummy's Guide to Understanding the Web's Backbone]]></title><description><![CDATA[Introduction
So you typed dummyexample.com in your browser and voila it returns some web pages. Have you ever wondered how your web browser communicates with servers to fetch this web pages, images, and other online content, that is displayed? The an...]]></description><link>https://coderbro.hashnode.dev/demystifying-http-dummys-guide-to-understanding-the-webs-backbone</link><guid isPermaLink="true">https://coderbro.hashnode.dev/demystifying-http-dummys-guide-to-understanding-the-webs-backbone</guid><category><![CDATA[General Programming]]></category><category><![CDATA[http]]></category><category><![CDATA[https]]></category><category><![CDATA[backend]]></category><category><![CDATA[Programming Blogs]]></category><dc:creator><![CDATA[Anaele Joshua]]></dc:creator><pubDate>Tue, 25 Jul 2023 20:47:52 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/8bghKxNU1j0/upload/b81846068d0f5a7a59bd26eab31192fb.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3 id="heading-introduction"><strong>Introduction</strong></h3>
<p>So you typed <a target="_blank" href="http://dummyexample.com">dummyexample.com</a> in your browser and voila it returns some web pages. Have you ever wondered how your web browser communicates with servers to fetch this web pages, images, and other online content, that is displayed? The answer lies in the Hypertext Transfer Protocol (HTTP), a fundamental protocol that underpins the World Wide Web.</p>
<p>In this blog post, we will unravel the mysteries of HTTP and provide a beginner's guide to understanding how it works. HTTP is one of the many network protocols on which the modern Internet exists. Without these protocols, the internet would be chaotic and eventually fail. Some of these other protocols are Internet Protocol (IP), Address Resolution Protocol (ARP), File Transfer Protocol (FTP), and so on. Before we delve into demystifying HTTP, let us define some key terminologies that would help understand HTTP.</p>
<ol>
<li><p><strong>Protocols:</strong> Protocols are a set of rules that outlines how connected devices communicate across a network to exchange information easily and safely**.**</p>
</li>
<li><p><strong>Network:</strong> refers to interconnected computing devices that can exchange data and share resources. These networked devices use a system of rules, called communications protocols, to transmit information over physical or wireless technologies.</p>
</li>
<li><p><strong>Server:</strong> A server is a computer that provides data or services such as websites, databases, and email to other computers in a network</p>
</li>
</ol>
<h3 id="heading-what-exactly-is-http-and-https"><strong>What exactly is HTTP and HTTPS?</strong></h3>
<p>HTTP, which stands for Hypertext Transfer Protocol. It is the communication protocol you use when you browse the web. It is an application layer protocol and a core operational protocol of the World Wide Web used for transmitting data over the Internet. HTTP is a Request-Response based protocol that serves as the foundation for data communication between web clients (such as web browsers) and web servers. A web browser or client sends a Request to a web server and the web server returns an appropriate Response to the web client. HTTP enables the retrieval of resources like HTML pages, images, videos, and more.</p>
<p>HTTPS is a more secure form of HTTP. It employs encryption on the request-response channel, such that only the client and server can decrypt what is being sent.</p>
<h3 id="heading-the-client-server-relationship">The Client-Server Relationship</h3>
<p>At the core of HTTP lies the client-server model. When you enter a URL into your web browser and hit Enter, your browser becomes the client, and it sends an HTTP request to the web server hosting the requested resource. The web server processes the request and sends back an HTTP response containing the requested data, which is then rendered by your browser for you to see and interact with.</p>
<h3 id="heading-http-verbs-methods"><strong>HTTP Verbs (Methods)</strong></h3>
<p>HTTP defines several request methods, also known as HTTP verbs, which specify the type of action the client wants the server to perform. The most common HTTP methods are:</p>
<ol>
<li><p><strong>GET:</strong> Used to request data from the server. For example, when you enter a URL in your browser, it sends a GET request to retrieve the corresponding webpage.</p>
</li>
<li><p><strong>POST:</strong> Used to submit data to be processed by the server. For instance, when you fill out a form on a website and click "Submit," the data is sent to the server using a POST request.</p>
</li>
<li><p><strong>PUT:</strong> Used to update a resource on the server.</p>
</li>
<li><p><strong>DELETE:</strong> Used to request the removal of a resource from the server.</p>
</li>
</ol>
<h3 id="heading-the-make-up-of-an-http-request"><strong>The Make-up of an HTTP Request</strong></h3>
<p>An HTTP request consists of a method, a path, a version, and a header. The method could be any of the types mentioned above. The path defines the location of the resource on the server. Headers contain additional information about the request and the client making the request.</p>
<p>Every HTTP request begins with the request line. This consists of the HTTP method, the requested resource, and the HTTP protocol version.</p>
<p><code>GET /dummy.html HTTP/1.1</code></p>
<p>In this example, 'GET' is the method, /dummy.html is the requested resource and HTTP/1.1 is the protocol version.</p>
<p><strong>HTTP request header</strong></p>
<p>Following the request line is the HTTP header. When including an HTTP header in the HTTP request, there are several possibilities. A header is a case-insensitive name followed by a ':' and then followed by a value.</p>
<p>Common headers are:</p>
<p><code>Host:</code> <a target="_blank" href="http://dummy.com"><code>dummy.com</code></a></p>
<p><code>User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0</code></p>
<p><code>Accept: /</code></p>
<p><code>Accept-Language: en</code></p>
<p><code>Content-type: text/json</code></p>
<ul>
<li><p>The <strong>Host</strong> header specifies the host of the server and indicates where the resource is requested from.</p>
</li>
<li><p>The <strong>User-Agent</strong> header informs the web server of the application that is making the request. It often includes the operating system (Windows, Mac, Linux), version, and application vendor.</p>
</li>
<li><p>The <strong>Accept</strong> header informs the web server what type of content the client will accept as the response.</p>
</li>
<li><p>The <strong>Accept-Language</strong> header indicates the language and optionally the locale that the client prefers.</p>
</li>
<li><p>The <strong>Content-type</strong> header indicates the type of content being transmitted in the request body.</p>
</li>
</ul>
<h3 id="heading-http-request-body">HTTP Request Body</h3>
<p>HTTP requests can optionally include a request body. This is often included when using the HTTP POST and PUT methods to transmit data.</p>
<p><code>POST /users HTTP/1.1</code></p>
<p><code>Host:</code> <a target="_blank" href="http://dummy.com"><code>dummy.com</code></a></p>
<p><code>User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0</code></p>
<p><code>Accept: /</code></p>
<p><code>Accept-Language: en</code></p>
<p><code>Content-type: text/json</code></p>
<p><code>{</code></p>
<p><code>"key1":"value1",</code></p>
<p><code>"key2":"value2",</code></p>
<p><code>"array1" : ["value3","value4"]</code></p>
<p><code>}</code></p>
<p><strong>HTTP RESPONSE</strong></p>
<p>After receiving a request from the client, the server sends back an HTTP response status code, which indicates the success or failure of the request.</p>
<p>The first line of the response is the status line. This line shows if the client request was successful or if an error occurred.</p>
<p><code>HTTP/1.1 200 ok</code></p>
<p>the line begins with the HTTP version followed by the status code and a reason phrase.</p>
<p>Conclusion</p>
<p>In my <a target="_blank" href="https://coderbro.hashnode.dev/demystifying-http-2-dummys-guide-to-understanding-the-webs-backbone">next post</a>, I will be discussing the HTTP response in more detail and explain the HTTP Response status code and its meaning. However, I hope you now understand what HTTP is, and what it is used for. We have also discussed the various HTTP request methods. Thank you for reading. Kindly like and follow me.</p>
]]></content:encoded></item><item><title><![CDATA[Welcome To Hashnode]]></title><description><![CDATA[Hurray, it's my first post here on hashnode and I'm so delighted writing this. Well, this is not my time writing, I have a few published and drafted posts on Medium, but overall, I am a newbie to blog writing, and I can't wait to explore the differen...]]></description><link>https://coderbro.hashnode.dev/welcome-to-hashnode</link><guid isPermaLink="true">https://coderbro.hashnode.dev/welcome-to-hashnode</guid><category><![CDATA[general]]></category><category><![CDATA[General Programming]]></category><dc:creator><![CDATA[Anaele Joshua]]></dc:creator><pubDate>Sat, 08 Jul 2023 19:53:52 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/8R-mXppeakM/upload/17e8c1786717909f71f8c422ac1bab44.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hurray, it's my first post here on hashnode and I'm so delighted writing this. Well, this is not my time writing, I have a few published and drafted posts on Medium, but overall, I am a newbie to blog writing, and I can't wait to explore the different learning and growing opportunities this opens to me.</p>
<p>Every time I learn, I see the limitations of my Understanding, and I push to learn more. I love the engineer I am becoming and I am grateful for the opportunities that have come my way and the communities I belong to. I love to teach and share knowledge, and I currently volunteer as a programming tutor in a few high schools around me where I share the little I know. I have found that by teaching and sharing knowledge; I become a master of what I know. I have also learned that I do not need to know everything about a subject to share, I can always share the little I know. There is always somebody who doesn't know the little you know.</p>
<p>Anyway, I am Josh (coderBro), a software engineer with a wide range of interests some of which include AI/ML, XR, Edtech, Automation, and start-ups. I am currently working with and learning, Reactjs, Django, and CPython.</p>
<p>I am open to any form of collaboration, Job, learning, and networking opportunities. I am also open to joining other Dev communities, Please recommend any you belong to, I would love to be a part of them. I have also found these dev communities beneficial to me, you can check them out.</p>
<p><a target="_blank" href="https://discord.gg/RBnqugj2">DearJuniorDev</a>, a discord community for junior dev to get mentorship and other learning opportunities. I supervised <a target="_blank" href="https://www.linkedin.com/in/devjessparker/">Jessica Parker</a> and other amazing senior devs and mentors. You can follow her on LinkedIn here, she drops terrific content daily.</p>
<p><a target="_blank" href="http://newdev.io/">Newdev.io</a>: a discord community where dev becomes accountable to themselves for their development plans for the day, week, and month. It is a closed group, but you can reach out to <a target="_blank" href="https://twitter.com/ebenezerDN">Ebenezer Don</a> on twitter to find out more.</p>
<p>Kindly, like and comment on this, I would love to hear suggestions.</p>
]]></content:encoded></item></channel></rss>