<?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" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Codestreet]]></title><description><![CDATA[Coding, technology, etc.]]></description><link>https://codestreet.io</link><image><url>https://codestreet.io/img/substack.png</url><title>Codestreet</title><link>https://codestreet.io</link></image><generator>Substack</generator><lastBuildDate>Fri, 24 Apr 2026 22:42:26 GMT</lastBuildDate><atom:link href="https://codestreet.io/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Codestreet.io]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[codestreet@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[codestreet@substack.com]]></itunes:email><itunes:name><![CDATA[Codestreet Staff]]></itunes:name></itunes:owner><itunes:author><![CDATA[Codestreet Staff]]></itunes:author><googleplay:owner><![CDATA[codestreet@substack.com]]></googleplay:owner><googleplay:email><![CDATA[codestreet@substack.com]]></googleplay:email><googleplay:author><![CDATA[Codestreet Staff]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Understanding HTTP Verbs: A Guide to Web Communication]]></title><description><![CDATA[Navigating the Web: A Comprehensive Exploration of HTTP Verbs and Their Role in Modern Web Development]]></description><link>https://codestreet.io/p/understanding-http-verbs-a-guide</link><guid isPermaLink="false">https://codestreet.io/p/understanding-http-verbs-a-guide</guid><pubDate>Sun, 03 Dec 2023 18:34:37 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d5429c59-e093-4991-961f-21eb08a0a240_775x319.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tEPR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7076fb1e-53be-4080-b855-8448a6f4a07a_1199x601.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tEPR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7076fb1e-53be-4080-b855-8448a6f4a07a_1199x601.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tEPR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7076fb1e-53be-4080-b855-8448a6f4a07a_1199x601.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tEPR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7076fb1e-53be-4080-b855-8448a6f4a07a_1199x601.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tEPR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7076fb1e-53be-4080-b855-8448a6f4a07a_1199x601.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tEPR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7076fb1e-53be-4080-b855-8448a6f4a07a_1199x601.jpeg" width="1199" height="601" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7076fb1e-53be-4080-b855-8448a6f4a07a_1199x601.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:601,&quot;width&quot;:1199,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:44860,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tEPR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7076fb1e-53be-4080-b855-8448a6f4a07a_1199x601.jpeg 424w, https://substackcdn.com/image/fetch/$s_!tEPR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7076fb1e-53be-4080-b855-8448a6f4a07a_1199x601.jpeg 848w, https://substackcdn.com/image/fetch/$s_!tEPR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7076fb1e-53be-4080-b855-8448a6f4a07a_1199x601.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!tEPR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7076fb1e-53be-4080-b855-8448a6f4a07a_1199x601.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>HTTP (Hypertext Transfer Protocol) is the foundation of data communication on the World Wide Web. It defines how messages are formatted and transmitted, and more importantly, how web servers and browsers should respond to various commands. HTTP verbs, also known as HTTP methods, play a crucial role in this communication by specifying the type of action the client wants to perform on a given resource. In this article, we'll explore the commonly used HTTP verbs and their significance in web development.</p><ol><li><p><strong>GET: Retrieving Data</strong><br><br>The GET method is used to request data from a specified resource. It is a safe and idempotent operation, meaning it should not change the state of the server, and making multiple identical requests should have the same effect as making a single request. GET is commonly used for fetching web pages, images, and other static content.<br></p></li><li><p><strong>POST: Submitting Data</strong><br>POST is employed when the client wants to submit data to be processed to a specified resource. It is not idempotent, and the act of submitting the same data multiple times may result in different outcomes. POST is often used for form submissions, file uploads, and other actions that may alter the state of the server.<br></p></li><li><p><strong>PUT: Updating Resources</strong></p><p>PUT is utilized to update a resource on the server or create it if it doesn't exist. It is idempotent, meaning repeated identical requests have the same effect as a single request. Developers commonly use PUT to update data entities on the server, such as updating a user's profile information.<br></p></li><li><p><strong>DELETE: Removing Resources</strong></p><p>DELETE is employed to request the removal of a resource identified by a specific URL. Like PUT, it is idempotent, and multiple identical requests should have the same result as a single request. DELETE is often used for deleting records, files, or other resources on the server.<br></p></li><li><p><strong>PATCH: Partial Updates</strong></p><p>PATCH is used to apply partial modifications to a resource. It is typically employed when updating a resource where the client only wants to apply changes to specific fields, rather than submitting the entire updated resource. This can be beneficial for reducing bandwidth usage and improving efficiency.<br></p></li><li><p><strong>HEAD: Retrieving Headers</strong></p><p>The HEAD method is similar to GET, but it requests the headers of the resource rather than the actual data. It is useful when the client needs to check the last modification date or other metadata without downloading the entire resource.<br></p></li><li><p><strong>OPTIONS: Retrieving Server Capabilities</strong></p><p>OPTIONS is used to describe the communication options for the target resource. It allows the client to determine the communication options available on the server, such as supported methods or server capabilities.</p></li></ol><p>Understanding HTTP verbs is fundamental for web developers, as they dictate how clients and servers interact. Each HTTP verb serves a specific purpose, and choosing the right one is crucial for efficient and secure web communication. By grasping the nuances of GET, POST, PUT, DELETE, PATCH, HEAD, and OPTIONS, developers can build robust and effective web applications that adhere to the principles of RESTful architecture.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://codestreet.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Codestreet! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[REST/RPC/GraphQL]]></title><description><![CDATA[REST Pros]]></description><link>https://codestreet.io/p/restrpcgraphql</link><guid isPermaLink="false">https://codestreet.io/p/restrpcgraphql</guid><dc:creator><![CDATA[Codestreet Staff]]></dc:creator><pubDate>Mon, 05 Sep 2022 04:48:49 GMT</pubDate><content:encoded><![CDATA[<h1>REST</h1><h2><strong>Pros</strong></h2><ol><li><p>Good for exposing CRUD operations.</p></li><li><p>Easiest to maintain compared to others.</p></li><li><p>Standard method names, arguments and status codes.</p></li><li><p>Utilizes HTTP features.</p></li></ol><h2><strong>Cons</strong></h2><ol><li><p>Payload is big&nbsp;</p><ol><li><p>JSON which is human readable.</p></li><li><p>Getting the entire User entity while I need the user's first and last name only.</p></li></ol></li><li><p>Multiple HTTP roundtrips.</p><ol><li><p>If you want to get a resource and its sub resource, you need to make a call for the resource and then another call for the sub resource. There is no way to combine the two calls into one in a RESTful way.</p></li></ol></li></ol><h1>RPC</h1><h2><strong>Notes</strong></h2><ol><li><p>It&#8217;s all about actions</p></li><li><p>Example slack.</p></li><li><p>Usually supports GET for read only requests and POST for everything else.</p></li><li><p>Very popular among API providers recently.</p></li><li><p>gRPC.</p></li><li></li><li></li></ol><h2><strong>Pros</strong></h2><ol><li><p>Good for exposing several actions.</p></li><li><p>Small Payload</p><ol><li><p>&nbsp;Because it&#8217;s in binary.</p></li><li><p>Payload is associated with the action itself, so only the required data is transmitted.</p></li></ol></li><li><p>High performance because they are action oriented.</p></li><li><p>Easy to understand as the action is usually the part of the request.</p></li><li><p>Github.</p></li></ol><h2><strong>Cons</strong></h2><ol><li><p>Difficult to discover.</p></li><li><p>Limited standardization. Referencing documentation is important.</p></li><li><p>Function explosion.</p></li></ol><h1>GraphQL</h1><h2><strong>Notes</strong></h2><ol><li><p>Developed by Facebook.</p></li><li><p>Expose a single endpoint as an entry point.</p></li><li><p>Client then specifies what they need.</p></li><li></li></ol><h2><strong>Pros</strong></h2><ol><li><p>Good when the client needs filtering/flexibility.</p></li><li><p>Small payload because the response contains only the data client needs.</p></li><li><p>Clients can request multiple nested levels of data.</p></li><li><p>Don&#8217;t need versioning.&nbsp;</p></li></ol><h2><strong>Cons</strong></h2><ol><li><p>Complexity on the server.</p></li><li><p>Optimizing performance can be difficult.</p><ol><li><p>Working with external users, it becomes difficult to identify different use cases.</p></li></ol></li><li><p>Too complicated for simple APIs.</p></li></ol>]]></content:encoded></item></channel></rss>