Skip to main content

Backend Developer & Development [ Part 2 ]

Incoming Requests

In incoming requests, you must know about HTTP verb / method, queries, params, headers, body and flows. 

For HTTP verb / method, there's are many but i only introduce most common one. All of the method have their own usage like
  • GET           -  For client GET data from server-side
  • POST         -  For client POST data at body to server-side for creation or other requests that used post body.
  • PUT            - For client replace specific data with body given.
  • PATCH       - For client update partial data with body given.
  • DELETE    - For client delete specific data from server-side.

For queries, params, headers and body, they like a message that from client. 4 of them will receive on different places.

  • Queries  - Can found at behind of the URL. Look like ?value=abc.
  • Params   - Defined by backend developer when routing. Look like 'sampleurl.com/:id' when pass 'sampleurl.com/123', id would be 123.
  • Headers - Using postman you will see some default headers like Content-Type, X-Response-Time and Content-Length. Most of the backend would implement these headers and for authorized usage also.
  • Body      - When method POST used most of the backend developer would pass data using post body. For now many of the framework have default used JSON as parser.
As incoming requests to processing requests, they would pass into middleware of the backend framework. Most of the time they will checking body is it JSON and authorized access. Once all the condition pass only will start processing requests. After processing data, it will response to client that i called it outgoing response.

Outgoing Response

In outgoing response, you must know headers, response and status. Response most of the time is same structure, cause only need to reply to client is it success or not, fail due to what and success with payload that client needs. Headers would be quite same with incoming requests, what different is on framework, some of the framework would add customized on it. Status would be a verb like HTTP method, it is a number that can defined many means.
  • 200+ - Success
  • 300+ - Redirection
  • 400+ - Client error
  • 500+ - Server error
In a short saying on these would be like that for more information you can look into https://developer.mozilla.org/en-US/docs/Web/HTTP/Status.

Processing Requests

There was a complete flow from incoming until outgoing. And another you need to know is type for processing requests, it can be sequential or parallel. 
  • Sequential  - mean only process one requests whatever how many requests has send to the server
  • Parallel       - mean process multiple requests at the same time
We will stop here, Next time will talk about framework features and how they work.

Popular posts from this blog

Flutter codebase sharing

# Clone For master branch come with example, you can clone and run `flutter doctor && flutter run` ``` git clone --single-branch --branch master https://github.com/Oskang09/Flutter-CB2019.git ``` For codebase branch just empty codebase, but setup done you can just start your development. ``` git clone --single-branch --branch codebase https://github.com/Oskang09/Flutter-CB2019.git ``` # Plugins * Dart as "Programming Language" * Flutter as "SDK" * Redux as "State Management" * Fluro as "Navigator Router" # pubspec.yaml ```yaml name: flutter_codebase description: A new Flutter project. version: 1.0.0+1 environment: sdk: ">=2.0.0-dev.68.0 (); Router router = Router(); routers.forEach( (route) { router.define( route.routePath, handler: Handler( handlerFunc: (context, params) => route.widget(params) ), transitionType: route.transitionType ...

Preparing some plugins for upcoming server

Since i still having a free server from mine friends who in Taiwan keep supporting me for server hosting. For long time busy, and he hope i would still operate and having a survival server so i coming to build up a survival server that not like before only enhance survival gameplay instead of new gameplay and make player doesn't even know how to play. Here come with some idea before i preparing: Custom Building Structure ( Make player easier for some basic works ) Custom PvP & PvE Mechanic ( Make item flexible with skill system and update-able, also work with entity ) Socialize Gamplay ( Guilds & Friends & Party & Mail System ) Daily Gameplay ( Questing, Events )  Any suggestion would be appreciated ( welcome to inbox me :] ) Some images about mine developments in these 2 days. Mine Structure API Skill API work with Items system & Status system And here is the video about the Custom Building Structure Part. As past exp...

Object & Container Object

Object / Class What is Object? Object can be people, can be animal, can be anything. Object only store his own data, attributes and property like house has price, size and animal has age and gender.  Object also store his own function or method like animal can eat(); and people can walk();. Try imagine an object is a people, what should it have and what should it don't have? Let's take this example. public class People { private: String name; int age; int hungry; public: void grow() { this->age += 1; } void eat() { hungry = false; } } People can eat, people will grow up so this is true but you try imagine a people can fly(); ? What other programmer see when want to use ur code? "WTF, WTF is this? Oh my godness." so just store whatever the object need, have is enough. When some attribute is too much and enable to split to another object,...