Skip to main content

Backend

A Brief Evolution of HTTP

·7 mins
Introduction # The internet is already growing, no need to say that. With that is growing demands, increasing load on existing infrastructure. New, better protocols are defined in every direction, let it be OpenAPI or HTTP/3. It is not limited to HTTP. With time there has been seen a significant boom in messaging protocols like RabbitMQ and similar related services like Amazon SQS. With this post I have tried to collect as much information as I can about evolution of HTTP without getting too into any particular part.

Difference Between Handler, Handle and HandlerFunc

Introduction # Are you lost between Handle, HandleFunc, and HandlerFunc? If the answer is yes then this post is for you. To understand these pretty well we need to be familiar with interafces. Although interface is just a keyword, it’s confusing at first when you are switching from Python like language; which does not have a similar keyword.

What Does a True RESTful API Means?

Introduction # The way we used to deliver resources to the client in a server-client setup is now drifting away from REST to a more modern delivery mechanism. Two of them are gRPC and GraphQL. While both these solve a different kind of problem, REST is going to stay for a while. It is the simplest to learn at least.

Sending POST Request in Go with a Body

Introduction # Send a POST request in golang is pretty daunting if you have a post body and you’re coming from a scripting language like JavaScript or Python. Here in Go, schema for JSON needs to be defined beforehand in order to marshal and unmarshal string back and forth to JSON. Simple POST # This marshaling/unmarshalling could be an oneliner if your request body is not nested, or is one level deep, or there is not even a body. Consider this example:

Introduction to WebAssembly with Go

I will start this post with a quote from webassembly.org: WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of high-level languages like C/C++/Rust, enabling deployment on the web for client and server applications.— webassembly.org That’s a lot of technical jargon. In very simple terms, Wasm provides a way to run code written in multiple languages on the web at near-native speed. Where multiple languages refers to all these languages.