What happens before the Backend gets the Request

Ғылым және технология

When we send a request to a backend most of us focus on the processing aspect of the request which is really just the last step.
There is so much more happening before a request is ready to be processed, most of this step happens in the Kernel. I break this into 6 steps, each step can theoretically be executed by a dedicated thread or process. Pretty much all backends, web servers, proxies, frameworks and even databases have to do all these steps and they all do choose to do it differently.
Grab my backend performance course performance.husseinnasser.com
0:00 Intro
3:50 What is a Request?
10:14 Step 1 - Accept
21:30 Step 2 - Read
29:30 Step 3 - Decrypt
34:00 Step 4 - Parse
40:36 Step 5 - Decode
43:14 Step 6 - Process
Medium article
/ the-journey-of-a-reque...
Discovering Backend Bottlenecks: Unlocking Peak Performance
performance.husseinnasser.com
Fundamentals of Backend Engineering Design patterns udemy course (link redirects to udemy with coupon)
backend.husseinnasser.com
Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon)
network.husseinnasser.com
Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon)
database.husseinnasser.com
Follow me on Medium
/ membership
Introduction to NGINX (link redirects to udemy with coupon)
nginx.husseinnasser.com
Python on the Backend (link redirects to udemy with coupon)
python.husseinnasser.com
Become a Member on KZread
/ @hnasr
Buy me a coffee if you liked this
www.buymeacoffee.com/hnasr
Arabic Software Engineering Channel
/ @husseinnasser
🔥 Members Only Content
• Members-only videos
🏭 Backend Engineering Videos in Order
backend.husseinnasser.com
💾 Database Engineering Videos
• Database Engineering
🎙️Listen to the Backend Engineering Podcast
husseinnasser.com/podcast
Gears and tools used on the Channel (affiliates)
🖼️ Slides and Thumbnail Design
Canva
partner.canva.com/c/2766475/6...
Stay Awesome,
Hussein

Пікірлер: 76

  • @hnasr
    @hnasr25 күн бұрын

    Fundamentals of Operating Systems course oscourse.win

  • @gneyhabub
    @gneyhabub10 ай бұрын

    Finally, someone who's going beyond just explaining the API of the libraries! Don't stop man, you're making great content!

  • @stormsake

    @stormsake

    10 ай бұрын

    Second this. Many others only copy paste codes without knowing what happens behind the scenes.

  • @CodeShode
    @CodeShode10 ай бұрын

    Listen at 1.75 speed.

  • @barebears289

    @barebears289

    10 ай бұрын

    2.0x

  • @rosshoyt2030

    @rosshoyt2030

    10 ай бұрын

    1.0x

  • @prerakhere

    @prerakhere

    9 ай бұрын

    Slow is smooth. Smooth is fast.

  • @adhilk2775

    @adhilk2775

    2 ай бұрын

    Thank you....

  • @shalabyx
    @shalabyx10 ай бұрын

    Amazing walkthrough 👏 I can’t imagine how this would look if you explain all this steps by using one use case! Anyway it’s just amazing 🌹

  • @hnasr
    @hnasr10 ай бұрын

    Grab my new course Discovering Backend Bottlenecks: Unlocking Peak Performance performance.husseinnasser.com

  • @shyampramanik780
    @shyampramanik78010 ай бұрын

    This is GOLD !! Thanks Hussein for this amazing content.

  • @pramod1591
    @pramod159110 ай бұрын

    Your channel is a gold mine of information

  • @mauriciotamez4047
    @mauriciotamez404710 ай бұрын

    There is so much knowledge here. ILYSM Hussein

  • @ahmetyasarozer
    @ahmetyasarozer10 ай бұрын

    Perfect content, as usual. Thanks Hussein

  • @prateek2159
    @prateek215910 ай бұрын

    I missed your long videos. This one was a fab. Please keep making more such videos

  • @user-ok4fx3kl6f
    @user-ok4fx3kl6f9 ай бұрын

    This is by far the best thing on internet! you're amazing!

  • @iamansinghrajpoot
    @iamansinghrajpoot7 ай бұрын

    I see lot of KZreadrs just scratch the surface and people comment you are the best. I like how thorough and detailed explanation you do.

  • @sohansingh2022
    @sohansingh202210 ай бұрын

    this helps me in my basics so much!

  • @gustavodeoliveira8316
    @gustavodeoliveira831610 ай бұрын

    you are a game changer. thanks for that man

  • @cumbi-mongo
    @cumbi-mongo7 ай бұрын

    Great content as always! Thanks a lot.

  • @hassanmunene5406
    @hassanmunene540610 ай бұрын

    Just last week we were doing an assignment on how to create a client-server architecture for a simple program That echo the requests from the client using sockets. We were using the c programming language and it was really interesting to learn how actually a server listens and accepts request and how it forks so as a to handle different clients while at the same time listening. This was what i needed to reinforce what i learnt and i felt really proud that i was actually understanding some concepts you were talking about. Im just a beginner in this field but i have so much fire and curiosity about the backend. I totally enjoyed this.!!❤

  • @othmanalyusifey356

    @othmanalyusifey356

    10 ай бұрын

    that makes sense , can i know where u get this assinement from ? is it from a course or the collage

  • @hassanmunene5406

    @hassanmunene5406

    10 ай бұрын

    @@othmanalyusifey356 yeah it's from college. The unit is called Network programming

  • @leoxvic4701

    @leoxvic4701

    8 ай бұрын

    ​@@othmanalyusifey356most likely a network engineering assignment for unix networking programming

  • @abc-ym4zs

    @abc-ym4zs

    3 ай бұрын

    Where to learn this socket programming cab u recommend any good channel and where to learn about cpu and OS please bro I am facing difficulty

  • @sonugupta147

    @sonugupta147

    3 ай бұрын

    @@abc-ym4zs there is something as linux programmer's manual document. This contains all the system calls provided by the linux/unix OS which you can utilise to interact with the kernel i.e. ask for resources like memory, I/O, networking etc.

  • @abdullahclementabdulshekur6736
    @abdullahclementabdulshekur6736Ай бұрын

    I'm transitioning into backend from frontend and i wanted to learn and understand high and low level concept before building projects. and your courses have been very helpful. The netowking, backend and database engineering concepts.. have been really helpful to me. I do have a request though, a course on systems design would be great. Keep doing the good work..

  • @VincentDBlair
    @VincentDBlair9 ай бұрын

    Great material

  • @timeisnow1100
    @timeisnow1100Ай бұрын

    Great video

  • @arthurmiller9103
    @arthurmiller910310 ай бұрын

    This session is conceptually loaded and well explained. Thank you 🙏

  • @sourav_singh_diaries
    @sourav_singh_diaries3 ай бұрын

    Crazy Good content 🔥

  • @aviadhaham
    @aviadhaham10 ай бұрын

    you’re an asset to the world

  • @dannyhd8301
    @dannyhd830110 ай бұрын

    Thank you .

  • @lakshaybhardwaj5923
    @lakshaybhardwaj592310 ай бұрын

    Thanks a lot for such amazing teachings. It has been really helpful to me.. You are the best!! However I have a question regarding this walkthrough.. How does this complete setup and 4 queues (SYN, ACCEPT, RECEIVE, SEND) behave when there are many concurrent HTTP requests vs when there are many web socket connections (or long lived connections like SSE ) ?

  • @pieter5466
    @pieter546610 ай бұрын

    To anyone watching this, I purchased and am partway thru 3 of Hussein's Udemy courses and they're great! Same quality walkthroughs but on a much wider variety topics. Only feedback would be: more evenly timed videos (some are 50mins..) and less digression off-current-topic.

  • @renanoliveira0
    @renanoliveira010 ай бұрын

    Thanks!

  • @karanyuvrajsingh4911
    @karanyuvrajsingh491110 ай бұрын

    Respect your cpu🫡

  • @giggleways
    @giggleways10 ай бұрын

    Watching this I released more dopamine than watching a Netflix movie. ♥

  • @fashionvella730

    @fashionvella730

    5 ай бұрын

    Same here i am just consuming his content at night like i am watching NetFlix

  • @ericstoppel4634
    @ericstoppel463410 ай бұрын

    ily Hussein, keep it up please. This is like steroids to my backend carreer

  • @RichardHumulock
    @RichardHumulock10 ай бұрын

    Hussein is such a bad ass

  • @RiversJ
    @RiversJ4 ай бұрын

    Great videos, i hopped from game dev doing lower levels where you didn't just need to understand the lower APIs but the hardware architecture to a point, in web dev you need to spend many times more effort to even just get a poorly explained abstraction of what the thing below you is doing much less a good lesson on the technology. Not everybody needs to be capable of lower lower coding, but I'm firmly of the opinion that understanding the layer below you is necessary to become truly good.

  • @mhmdshaaban
    @mhmdshaaban5 ай бұрын

    You are the best Hussein. I have a question as we keep accepting connections inside a single process it will open a new file descriptor where reading and writing happen there is always a limitation to the number of open files per process even though this number is configurable it is hard to determine what is the reasonable number.

  • @pajeetsingh
    @pajeetsingh10 ай бұрын

    You have to cover superconductor at room temp ongoing reports.

  • @adr420
    @adr420Ай бұрын

    bro is in love with computer science :)

  • @samirallahverdi4948
    @samirallahverdi49487 ай бұрын

    Couldn't imagine these process in containerized environment :)

  • @manindersingh5577
    @manindersingh557710 ай бұрын

    Hi sir can you tell me…if my computer is attacked with ransomware and photos and videos are encrypted…can the hackers use my photos and videos? Can they see them and import them?

  • @AwadA-ey7pn
    @AwadA-ey7pn7 ай бұрын

    I feel like a Staff level Software Engineer now 🎉🎉

  • @meassurendra
    @meassurendra10 ай бұрын

    Dude , great content. But please use some pictures, diagrams to drive message through. It gets very difficult to sit through after a while

  • @mehdi-vl5nn
    @mehdi-vl5nn10 ай бұрын

    what about non-block socket

  • @ryanseipp6944
    @ryanseipp694410 ай бұрын

    The io_uring part gets very interesting. Why call `accept` a bunch when you can have the kernel accept new connections automatically, and tell you about it. Why copy data on `recv` when you can have the kernel choose a buffer you've registered and tell you which one it chose. Even without these, that IO model is quite efficient when compared to epoll

  • @samhadi7972

    @samhadi7972

    10 ай бұрын

    It’s a game changer

  • @GuilhermeGavioli
    @GuilhermeGavioli10 ай бұрын

    Is there any book reference for the tcp / network part you mentioned on the video? To help understand tcp protocol better.

  • @gauravaws20

    @gauravaws20

    10 ай бұрын

    TCP Illustrated.

  • @GuilhermeGavioli

    @GuilhermeGavioli

    10 ай бұрын

    @@gauravaws20 By W. Richard Stevens?

  • @gauravaws20

    @gauravaws20

    10 ай бұрын

    @@GuilhermeGavioli yup

  • @florianvanbondoc3539
    @florianvanbondoc35394 ай бұрын

    The best bottleneck youtube channel :))))

  • @bashardlaleh2110
    @bashardlaleh211010 ай бұрын

    you're like the only arab guy I'm proud of 😁

  • @sauraabh
    @sauraabh10 ай бұрын

    Can I create a blog out of this video? I'll give you the credits

  • @tekforge
    @tekforgeАй бұрын

    Hey Hussein, I really love the great content you share and how you share it! I'm also a senior software engineer who started a YT channel a few years ago and have 2 Udemy courses that I would love to dedicate more time to them to share more of what I learned in my career. Yet, it takes me a lot of effort to create content with the quality I'm satisfied with. When I see inspiring content creators like you, I wonder if you produce your content as a side hustle or if it's your full-time job. I see how you reflect and analyze things in order to understand them deeper and share lessons, but I notice also that the pressure in our full-time job as software engineers often doesn't give us enough time to reflect, analyze then share knowledge about what we learned. I appreciate your feedback regarding your own experience as an engineer and content creator!

  • @usmanmaqsood5945
    @usmanmaqsood59453 ай бұрын

    Thank you for making things understandable for dumb developers like me :)

  • @IshwarJangid
    @IshwarJangid10 ай бұрын

    Starts at @04:00

  • @btm1
    @btm16 ай бұрын

    its called abstraction, not closing your eyes

  • @dannyhd8301
    @dannyhd830110 ай бұрын

    just when i thought i am good backend lol

  • @alisadeghi6410
    @alisadeghi641010 ай бұрын

    this video forcing me to write a simple backend framework to feel with my skin what is happening exactly

  • @AlhassanRaad
    @AlhassanRaad10 ай бұрын

    new

  • @orhn
    @orhn10 ай бұрын

    "Kenekşın"

  • @AlhassanRaad
    @AlhassanRaad10 ай бұрын

    hello

  • @vijaydhanakodi5591
    @vijaydhanakodi559110 ай бұрын

    This guy should speak with some energy.

  • @giggleways

    @giggleways

    10 ай бұрын

    I like the way he talks. it gives me time to think along the way.

  • @RichardHumulock

    @RichardHumulock

    10 ай бұрын

    He does? lol.He speaks naturally.

  • @nibblesnbits
    @nibblesnbits10 ай бұрын

    First!

  • @gradientO

    @gradientO

    10 ай бұрын

    17 year old account 💪

  • @arpmovies3609
    @arpmovies360910 ай бұрын

    It's useless knowledge, cause you will never have to use it or have to know to become backed developers. 😅😅😅😅 He just read a blog about a topic and thought 🤔 to make a video of it.

  • @RichardHumulock

    @RichardHumulock

    10 ай бұрын

    to be a good one you need to know it lol

  • @arpmovies3609

    @arpmovies3609

    10 ай бұрын

    @@RichardHumulock you are absolutely wrong. To be a good backend developer you need to know backend topics (db, concurrency, caching etc..) not os related topics which is a waste of time. It might sound cool all of this but trust me you will never have to use it in your life as a backend developer

Келесі