I'm suing youtube for not giving me this good stuff sooner. Great channel, wish i would have found it earlier.
@hnasr5 жыл бұрын
Tickled Elmo haha poor youtube They are trying so hard though. You are here thats what matter. Enjoy the content! And what would you like to watch next? I keep a list of what content the community want me to make. Cheers!
@FordExplorer-rm6ew5 жыл бұрын
Bro I remember 3 years ago when I used to search this. Yt used to kind of suck. But over the last few years they've drastically improved their tech and programming learning.
@tomstravelingadventures4 жыл бұрын
Blame the KZbin algorithm!!
@sahej974 жыл бұрын
Seriously bro..
@elultimopujilense4 жыл бұрын
I was thinking the exact same thing. This content is on another level, way better than my college.
@Iakel3453 жыл бұрын
You are a good educator, you combine a great blend of lecture-like content, with practical implementation of theory in a follow through example. Thanks so much.
@pankajholariya83314 жыл бұрын
महोदय, मैं आपके शिक्षण का बहुत बड़ा प्रशंसक हूं। आप एक शानदार शिक्षक हैं सर। बहुत बहुत धन्यवाद .... :D
@Pepperbell1014 жыл бұрын
◡̈⋆🅷🅸(●’◡’●)ノ
@htwork6152 жыл бұрын
You are the greatest teacher Hussein. All these graphical stuff, the way of teaching, the words that you choose, your method, the topics... Every one of them just great, making my life easier. Thank you so much!!
@RedBeardedNinja3 жыл бұрын
Found your channel today, Been learning a lot more how things work in the Deeper IT world, Thank you for explaining it all in such great context and visual learning. I will share your channel with any who are also learning
@hnasr3 жыл бұрын
Thank you for the love ❤️
@Mohanad_mmn Жыл бұрын
Thank you man, I was here just to learn about Apache, and the moment I saw the video that long I was planning to skip, but it was actually fun watching the full video. It's wasn't boring at all. Keep it up!
@RidhimaMusic274 жыл бұрын
Awesome video, was searching for a video that gives proper knowledge on how servers work In detail. Got all my questions answered . Thank you!!
@hnasr4 жыл бұрын
Glad it helped!! 🙏
@jonathanduran29213 жыл бұрын
Awesome stuff as usual Hussein. I bought the data engineering course about a year ago on Udemy and still use it constantly as a reference in my day-to-day. Thanks a ton for the content!
@hnasr3 жыл бұрын
Glad it is helpful! I keep updating that course too. Enjoy Jonathan
@mahlodibogashu52113 жыл бұрын
I guess I'm the blessed one finding this at the right time ,keep up the good work sir your energy kept me through the video effortlessly.
@shubhankar31644 жыл бұрын
This just unlocked my brain on a whole new level. For ages, I had been trying to get knowledge on all this and it just felt like I was smashing my head in a wall... Thank you soo soo much!
@hnasr4 жыл бұрын
Shubhankar Singh my pleasure! I had the same frustration, until I decided to take a year and research, read and try out everything and summarize it.
@danyfedorov30294 жыл бұрын
@@hnasr Wow! Do you think the break was beneficial for your career? I'm thinking about doing the same, but it feels crazy because I actually have a great job rn
@ketankbc2 жыл бұрын
Im overwhelmed.. such a huge content to watch.. don’t know from where to start
@saiprajeeth4 жыл бұрын
was been waiting for an author like you, productive and funny at the same time.
@gerooq4 жыл бұрын
Man your videos are awesome. Extremely helpful - I love your emphasis on pros and cons of everything - and your personality just shines. Awesome stuff man. Definitely keep it up. Wish you happiness in your life.
@hnasr4 жыл бұрын
Thanks Farhan for your heartfelt comment 🙏 I am happy you are enjoying the content
@gerooq4 жыл бұрын
@@hnasr hell yeah I am 😂
@alexanderbambionaah38995 жыл бұрын
Oh my God. You are demystifying everything for me. Thamk you Hussein
@hnasr5 жыл бұрын
bambio naah Thank you for your comment! Very happy that the video is helping. Cheers 😊
@Carlos-iq4th3 жыл бұрын
This video is something that unluckily I didn't found in my language, anyways, lovely video!
@ankitjain82554 жыл бұрын
I think you have the greatest content and best topic selection criteria..just loved it..Wish best for you..
@hnasr4 жыл бұрын
Ankit Jain appreciate it Ankit! Thanks I talk about topics that particularly interests me. Glad you like the content do suggest what should I cover next
@mattiamaria12 жыл бұрын
I'd like you to make a video in which you give an overview of Apache http server, the installation process and the configuration files, just to understand how it works at a fundamental level. Thank you for your job anyway. You have my support 💪
@abdallahdhaou30655 жыл бұрын
Well done 👌 Very informative and well explained, I hope you make a video about varnish ( http accelerator) and redis ( caching db) and most important you use examples 😁 Keep it up my friend 😀
@hnasr5 жыл бұрын
Thanks Abdallah! These are great suggestions. Adding to list
@relentlessrock2 жыл бұрын
@@hnasr I would like to look into Redis, NOSQL, Mongo DB (Atlas) and Document DB videos too.
@kabilr18203 жыл бұрын
First time watching your video, Subscribed... , What an explanation!!! , Great video sir. You have answered all the questions in my mind regarding web server. Thanks a lot.
@naruto54373 жыл бұрын
so glad i found this channel...pretty awesome content
@beamertech1 Жыл бұрын
Great video for us noobs. Thanks man.
@virendrabhati66853 жыл бұрын
Greatly explain about Web server and TCP socket. Thanks again 👍
@andile59453 жыл бұрын
ahh, good stuff man. You are a legend!! ty
@ikechukwu1peter2 жыл бұрын
Great video, just what I am looking for.
@NikhilKumar-gw6kp4 жыл бұрын
Hello Hussein, apologies for this lengthy question, kind of two parter. Suppose i have 8 core machine as my server(linux) and i create 8 separate python processes(via shell script ), all running my flask web project. Then at a time the server will 8 serve separate requests?? Like multiprocessing i mean, not context switching. 2). If i have a single thread server, then if i get 100 requests at the sametime, then my server will one request only at a time and other requests will have to wait(though very minimal, given high performing machines nowadays ,nevertheless there will be some latency,right?)
@alexandermcalpine3 жыл бұрын
Great Video!
@PeterBrown2642 жыл бұрын
You are very good thank you very much .I am busy with node js and this video has made me learn alot of things Woww Brilliant God bless.
@rahuljain11100able4 жыл бұрын
never i had realized before how fun learning is. you have the best content and awesome explanation. i'm gonna watch every video of you :). just one request, can you please create some videos on docker and kubernetes please!!
@SakshamSharma-tr9fk3 жыл бұрын
Hi knowledgable people, I have one doubt @15:34. Please ignore any inconsistencies due to my lack of knowledge. So if our server is being hosted by C++ (i only know this language), and 1) I have not put any multithreading in the code that listens to request etc., a) Does that make the server "Blocking Single Threaded Server"? b) Does that mean if, while I am serving request from client1, if client2 also sends me a Get/Post/REST request, I'll not send them any response back? Does client2 know that their message has been received or would they not receive anything (from tcp point of view and request/response point of view) and keep waiting for any response and can timeout?? 2) I have coded it in a way that spawns a new thread to cater to (process) every get/post/REST request that I receive a) Does that make my server non blocking? as in it can accept many requests simultaneously, however, processing for them will be done by scheduling logic of threads and response will be sent accordingly? If anything is very vague kindly let me know, and I appreciate the help :)
@bhanuprakashrao146010 ай бұрын
16:50: Single-threded web server + docker combination where you spin up new containers will result in very inefficient use of resources. A new thread will consume lot less resources (both mem and cpu) than a new container (which has its own OS image running (however light weight it maybe, still lot compared to a thread) and many processes as part of that OS.) If the server is multi-threaded, then a lot of the overhead like OS processes will be eliminated, unlike in single threaded server running containers. So it's multi-threaded servers are better compared to single threaded, for serving same number of requests. But I'd like know if there are any other situations where single threaded is preferred over multi-threaded. Quoted a lot of obvious 😅
@jaykothari87984 жыл бұрын
Another amazing video. Thanks for detailed explanation to web servers.
@hussainlokhandwala67302 жыл бұрын
Really good stuff!!! I like your energy
@curiossoul Жыл бұрын
Informative content. i have a question on max connections and threads The tomcat defaults are maxConnections=10,000 and maxThreads=200 How does this work with say tomcat running on 8 core machine. We will never be able to serve 10K connections concurrently. So does it accept the connection and put it into waiting until one of 200 threads is free? Little hit of CPU would be used in accepting the connection as well right ? Also How would 200 threads work on 8 core machine. Woyldnt there be too much context switching.
@andrescastillo28635 жыл бұрын
Hi Hussein, The comments feed says there are two comments, but I don't see them. Thank you for showing an example of Express web server. It drives the point home for me when you use it in your other videos, such as the sidecar pattern and building a web api with PostgreSQL and Express.
@hnasr5 жыл бұрын
Andres Castillo thanks Andres, Thats how I learn too with examples.. glad you enjoyed the videos I too see 3 comments now no comments... weird
@hnasr5 жыл бұрын
Sort by newest shows the comments .. odd
@ChaitanyaBhardwaj897 ай бұрын
I have a question. At which part specifically did we tell our server to handle HTTP requests? Like why is not an FTP server? Or SNMP or POP? What am I missing here?
@ChaitanyaBhardwaj897 ай бұрын
I mean technically, and please correct me if I'm wrong, you didn't actually create a web server. It's more like an API or a web 'application' not a server. Plus you used express which is a web "framework"
@Mrvishalt4 жыл бұрын
Hi Hussein, are web servers required at all if we use CDN for caching static and use application server for dynamic content? Can TCP/IP connections be made directly with the application server itself, instead of first going through web server and then getting redirected to application servers as shown in many diagrams over the internet?
@hnasr4 жыл бұрын
Hey Vishal, CDNs are technically webserver since they do serve web content over http
@Mrvishalt4 жыл бұрын
@@hnasr Thank you so much for your quick reply, also, thanks a ton for sharing so much knowledge, appreciate it! About above, so, the application server can accept connections directly and server user request? can app servers even take web socket connections directly without having a web server in front of them?
@codingmonks60842 жыл бұрын
You are a mad guy. I love your madness
@darrenhorwitz18603 жыл бұрын
Keep your videos alive ! Lol . Such a good video
@pantherwolfbioz134 жыл бұрын
What's the raspberry pi thing? Do you need to buy one to do this or just install debian OS and try this for apache??
@mahmoodabdulla54995 жыл бұрын
Hussain.. You are awesome! Your topics are exactly what I'm always looking for!! But it would be better if you can make it max 15 minutes.. thank you 💙
@hnasr5 жыл бұрын
Mahmood Abdulla thanks Mahmood! Ill try to break down topics into digestible pieces for sure so videos become shorter. Thanks for the suggestion..
@tdias255 жыл бұрын
NOOOOOOOOOOOOO, KEEP IT THE WAY IT IS
@sandeepnegi42404 жыл бұрын
thanks for the video man this really informative
4 жыл бұрын
Hi man, @Hussein Nasser , just a question, when developing web page in django, am I actually developing a server also or is the server already there? If it is, which one is it?
@hnasr4 жыл бұрын
Django is a framework so yes you are building a web server from scratch with low level capabilities and more responsibility.. unlike using apache or caddy which is an out of the box webserver
4 жыл бұрын
@@hnasr so yes i looked it up. But in documentation for django they say when deploying its better to use smtn like apache.
@codetour5 жыл бұрын
Brilliant explanation. Well done
@hnasr5 жыл бұрын
Thanks ! Appreciate it 😊
@abdelrhmanahmed13783 жыл бұрын
so if we use containerize single threaded web servers , the number of concurrent connection we can handle will be the number of container we have right ?!
@ganjargingintahyudin97744 жыл бұрын
In this modern era, especially in containerization there are auto scaling feature in a container orchestration
@iashishhere4 жыл бұрын
Wow perfect explanation
@devgenesis64364 жыл бұрын
What happens with serverless like aws lambda..all this stuff goes again and again? As the lambda container gets destroyed
@charank78525 жыл бұрын
Hi ...i liked ur way of teaching, content.thanks for that ...and i have request for you that I am very confused with how Linux kernal manages resources like cpu memory. And what exactly theards , process and cores relation ...plz make a video ...thanks in advance.
@hnasr5 жыл бұрын
Thanks Charan! Spicy topic ! Be frank I know very little about deep OS concepts but that never stopped me before.. ill get to it in the future for sure! Im on database land these days
@charank78525 жыл бұрын
@@hnasr ok nasser.good day
@relentlessrock2 жыл бұрын
Loved it! Thank you. Purchased your Udemy courses. Hopefully lot more interesting content for learning purposes will continue to come.
@vimaljoshi29922 жыл бұрын
16:50 I think using docker containers will be beneficial as the threads will be isolated from the other processes
@bhanuprakashrao146010 ай бұрын
Beneficial in the sense of security? Do you mean single threaded servers + docker containers are better than multi-threaded servers(with their own scaling)? I guess, docker containers will result in inefficient usage of resources but it's worth it if they are bringing other benefits like scaling, fault tolerance etc.
@tanujgupta1433 жыл бұрын
If socket is a combination of IP Address and Port number(which are same for a webserver application running on port 80), how come web server is able to create a new socket for every new request?? Does socket also contain the IP/PORT Info of the client?? PS- Thanks for the awesome content and making my life a lot easier Hussein.
@ngneerin2 жыл бұрын
What's the difference between web server and application server. Is express on NodeJS web server or application server?
@hnasr2 жыл бұрын
Every web server is an application server but not every application server is a web server. I can have an application server running on my own custom TCP protocol.
@430-y5p4 жыл бұрын
Great! how does nonblocking single threaded servers deal with concurrency though? Do they send off the response function to another thread, handle the next request, then callback the function when its ready?
@hnasr4 жыл бұрын
The operating system takes care of scheduling the requests (TCP packets) to the the web server, if the thread is available it get served if the thread is not available it get queued until the thread is available.
@430-y5p4 жыл бұрын
@@hnasr so it handles it in the same way as a blocking single threaded... then youd want to unblock as many tasks during the api response as possible?
@ינוןאלבז-כ1ז3 жыл бұрын
Have you a video on the relationship between Apache and PHP?
@mohamedsaif19285 жыл бұрын
bro , i like you .. جزاك الله عنا كل خير
@hnasr5 жыл бұрын
تسلم عزيزي الله يخليك، your welcome! Enjoy the content and thanks for your comment
@azizas93664 жыл бұрын
loves your channel
@parasarora58694 жыл бұрын
Loved it !! 👍👍👏👏 ... I don't know much about load balancers but...can we create it in nodejs ?? 🤔
@mohamadelbastawesy11263 жыл бұрын
thanks hussein , nice effort .
@s8x.5 ай бұрын
is a web server the same as backend server or are they different?
@anjannarla45963 жыл бұрын
if we delete a folder in bin the occupied memory does not get freed you have a Mac any suggestion?
@brijeshkp20003 жыл бұрын
A series on cloud technologies please 🙏
@khalidben99402 жыл бұрын
Hussein Nasser your tutorials are amazing.If you by any chance know arabic could you please do some tutorials in Arabic this will help a lot of developers to grasp the concepts.
@hnasr2 жыл бұрын
I do have an arabic channel check it out kzbin.info
@nagendravarma84954 жыл бұрын
Java.net.socketexception.too many open files .. can't able to resolve the issue can you solve the problem if possible.
@bob-pk2ly5 жыл бұрын
Will be going through a lot of your videos. Thank you so much!!!
@hnasr5 жыл бұрын
Thanks! Enjoy the content and let me know if you have any suggestions or feedback so I can do better 😊
@TurboeZ72 ай бұрын
Nice bro.Keep up
@doktora92925 жыл бұрын
Man you are crazy. I like that. Very good way of presenting stuffs, tnx :)
@hnasr4 жыл бұрын
Thanks!!
@gotamp245 жыл бұрын
I am getting an error on windows machine while typing localhost on the browser: HTTP Error 404. The requested resource is not found.
@hnasr5 жыл бұрын
Gotam P that means your web server is running but it couldnt find the default index.html in the web server path. Which web server did you use?
@gotamp245 жыл бұрын
@@hnasr apache2 on ubuntu
@hnasr5 жыл бұрын
Gotam P great! Now go to /var/www/html and create index.html in that folder. Follow steps in 21:38
@glenfernandes52482 жыл бұрын
why havent you mentioned nginx here ? any perticular reason.
@JBettenay16 күн бұрын
Goated teacher
@yt.neerajkumar2 жыл бұрын
alert!! Because that's the only JavaScript I know... Kidding Guysssss. 🤣🤣🤣🤣Epic
@vivamedia59583 жыл бұрын
Thank you so much sir for these great contents. can I ask more video about thread, process and how they are related to hardware? is there any limitation about number of thread in web-server? is it right that any socket is equivalent to a file in memory? and BTW I saw in other tutorial that Nodejs is not a framework. it's some sort of run time environment for Javascript based on V8 chrome engine I guess. But unfortunately can't understand what does this exactly mean. thank you again for these awesome tutorials.
@Tlacoyo59a3 жыл бұрын
Very nice. Thank you
@FordExplorer-rm6ew5 жыл бұрын
Dude you rock. What do I do with 2 instances of mysql? Mysql that comes with my express apps(workbench) And Mysql that comes with apache (phpmyadmin) Have configured one to listen on 3306 like normal. The other on another port. . How does this affect prod tho? Thats my only concern these days l, is , how is this going to affect prod?
@hnasr5 жыл бұрын
I think I replied to this comment on another video, right? let me know if it make sense
@FordExplorer-rm6ew5 жыл бұрын
@@hnasr ok I'll check for it. Thanks for actually replying. You've been super helpful. Like, that's some meaningful stuff when someone takes the time to be helpful. I appreciate it very much @Hussein Nasser , I will find the question and let you know
@harshgupta94944 жыл бұрын
Hi Hussein, Please make some video on OAuth and other security stuff
@hnasr4 жыл бұрын
Its in the backlog 👍 great idea
@jithin_zac4 жыл бұрын
Great content.!, but I feel Nginx also deserves a mention in this video :D
@hnasr4 жыл бұрын
I forgot to mention it in this video so I spent 2 hours here .. 2 Hours NginX Crash Course + Bonus Content (Audio Fixed) kzbin.info/www/bejne/npTaXoGghM1rqJI
@TheBananaChan4 жыл бұрын
It is so unusual to find such a well-explained video on KZbin, thanks a lot ! I subscribe to your channel and I'm ready to watch your content ! :)
@hnasr4 жыл бұрын
Glad it was helpful! thanks for checking out the content of the channel!
@Vasily8774 жыл бұрын
Your content is really good. I like your channel. But... no offence bro. You shold work on your pronunciation (It is not bad but it should be excellent for you to be able to gain more new subscribers - your content deserves that). You should pronounce your consonants more clearly.
@hnasr4 жыл бұрын
HGd 1 thank you so much! None taken, working on my English is a continuous work.
@juligomez24932 жыл бұрын
I LOVE UR CHANNEL, I JUST REACHED IDK WHY! BUT IS AMAZING, DIAGRAMS, PERFECT EXPLAINED, COULD U MAKE CCNA COURSE ALIKES FOR BEGGINERS?, I would LOVE It, or a paid COURSE Ill pay It!
@henrymauricioespinozamonca39884 жыл бұрын
what does it mean "out of the box" in this context of web server?, awesome video btw!
@hnasr4 жыл бұрын
Thanks! it means a webserver that you install and use immediately without any configuration or code customization.
@mysackfresse52634 жыл бұрын
Awesome video, trying to host a tiktaktoe game, backend already done
@dibaliba4 жыл бұрын
17:19 httpd is the process name of Apache in OS, d mean daemon 😀
@hnasr4 жыл бұрын
👍👍
@trijit964 жыл бұрын
Good video, Can you make a comparison on Apache vs Nginx?
@hnasr4 жыл бұрын
TJ nice idea tj, I made a dedicated video about nginx. Need one for apache NginX Crash Course (Layer 4 & Layer 7 Proxy, HTTPS, TLS 1.3, HTTP/2 & More) kzbin.info/www/bejne/jXSVXpuEg6eKf6s
@Ting36244 жыл бұрын
Good video! Me like it!
@stevenalexander62624 жыл бұрын
I lost you at status code 418 XD
@rishabhsrivastava4362 жыл бұрын
I would prefer Multi-threaded operation
@ינוןאלבז-כ1ז3 жыл бұрын
Thanks bro
@أحمدكلش-ض3ع Жыл бұрын
الله ينور
@cheikhelghawthe88683 жыл бұрын
im alive,,,, Nice Voice :D
@webrevolution. Жыл бұрын
11:12 Was that a burp? Lol.
@MohamedAshraf-uc8zo2 жыл бұрын
thanks
@tomstravelingadventures4 жыл бұрын
Liked & Subscribed :)
@ashishyadav-tu2pd4 жыл бұрын
No doubt information u provided is good .....but u must pay attention to your way of delivering ...your content is related to learning some thing new and the way u speaks seems like you are describing a drama content ....must thing about it ....
@DanishKhan-hd9zd2 жыл бұрын
this video can be convered in just 20 min bro
@sparrowp22512 жыл бұрын
although the content is definetly good ,but too much distractions by streching words and giving those sound effects .for me not to offend u i kinda like stuff on point without any exageration .
@farouksallam17794 жыл бұрын
هو انت مصري
@hnasr4 жыл бұрын
بحريني
@merntech3 жыл бұрын
❤️❤️❤️❤️❤️❤️❤️
@bedtimestory11225 жыл бұрын
Good
@JayVeeDee3 жыл бұрын
Oh no! Not the Denial of Attack! Haha, jokes. good video :D