What is a Server? (Deepdive)

Sdílet
Vložit
  • čas přidán 4. 08. 2024
  • With this video I explain my ~17y/o self what a "Server" is. We look at server software and servers in datacenters to understand how the word is used.
    Chapters:
    00:00 - Intro to "What is a Server?"
    00:47 - Wikipedia Server Definition
    01:42 - Game Servers
    02:50 - Client and Server Communication
    04:30 - Web Servers
    05:10 - A Server is just a Program
    06:38 - A Server is just a Computer
    08:30 - Server Hardware
    10:10 - What is Server Software?
    11:54 - Servers are Everywhere
    14:00 - Related Terms and Thought Experiment
    17:04 - Outro
    =[ ❤️ Support ]=
    → per Video: / liveoverflow
    → per Month: / @liveoverflow
    =[ 🐕 Social ]=
    → Twitter: / liveoverflow
    → Instagram: / liveoverflow
    → Blog: liveoverflow.com/
    → Subreddit: / liveoverflow
    → Facebook: / liveoverflow

Komentáře • 403

  • @AJMansfield1
    @AJMansfield1 Před rokem +359

    Another fun example is a linux display server (like X11): it's a program that has a screen it can display things on and a mouse and keyboard it can read from; graphical programs then connect to it as clients via something like dbus to ask for those inputs and tell it what to display.

    • @emblemi6345
      @emblemi6345 Před rokem +22

      X11 clients usually connect via abstract unix sockets.
      Also if you run graphical programs on a rented 'server' over ssh, your desktop is the server here in X11 context. This is a typical master-slave setting where xorg-server is the master.

    • @peacefulexistence_
      @peacefulexistence_ Před rokem +3

      DBus is not involved in Xorg/X11. A client (eg. a window manager, a compositor, a status bar, or just a regular application) connects to the X11 socket/port and talks with the server (Xorg) using the X11 protocol, usually using either Xlib or XCB to abstract the communication. The protocol also facilitates IPC, using Window properties and other things, specified in ICCCM (overall communication), EWMH (communication between normal apps and the WM), or various other freedesktop specs, for stuff like clipboard, systray, embedding windows in each other, and more.

    • @billy.n2813
      @billy.n2813 Před rokem +1

      Thank you!
      I was always confused by this.

    • @Henry-sv3wv
      @Henry-sv3wv Před rokem

      x11 is the old stuff, wayland is the new

  • @MegaManNeo
    @MegaManNeo Před rokem +122

    Simplifying computer terms in easy explanations is something I am always up for.
    It's too easy to confuse people and make them lose interest (probably part of the reason why hubs, MODEMs and WiFi access points are combo devices nowadays).
    I'd welcome more videos like this.

    • @kristiyanivanov7414
      @kristiyanivanov7414 Před rokem

      Routers for the win! haha.

    • @Henry-sv3wv
      @Henry-sv3wv Před rokem

      why would i want 3 devices in 1 if i can pay more money for power bill when each one has its own power supply ...

  • @nickguerra8460
    @nickguerra8460 Před rokem +12

    Thank You! I have been a programmer for a few years now and these "basic" terms often have so many subtle complexities that videos like this help a lot. Please keep making videos like this!

  • @jona7674
    @jona7674 Před rokem +4

    Really enjoyed this kind of video! Please keep up the series. The gradual change from solid basic information to more technical details was really informative!

  • @Makbetjuz
    @Makbetjuz Před rokem +64

    I had quite a big struggle understanding what is a protocol and how are packets built. "Language that computers communicate" did not cut it for me. If you want to make a similar video I would love to watch a deep dive on this topic.

    • @hb20007
      @hb20007 Před rokem +4

      Btw, he made the video: czcams.com/video/d-zn-wv4Di8/video.html

    • @Makbetjuz
      @Makbetjuz Před rokem +4

      @@hb20007 Yeah I saw! Nice to know that viewer input is being considered.

    • @CallousCoder
      @CallousCoder Před rokem +2

      Just a serious question: “isn’t this taught in college anymore? A protocol is just a serious of steps that unify a process, so that there’s the same way of doing something and interoperability is guaranteed.” Creating a packet is of course specific to CS, and depends on where ik the OSI model you are implementing it.
      A TCP packet is different from for example a abstract HTTP protocol is an application protocol. For example IP is a network protocol and each are implemented differently. Network protocols themselves lay on top of data link protocols (basically describing how the data needs to be send into a network card, you have to Ethernet network cards, but also token ring or these days your DSL modem. Your NIC driver basically translates your network protocol (IP) into a data link protocol. And that hardware communicates again with a physical agreed upon protocol.
      So how to implement it really depends on where you are in your OSI stack. It can be as trivial as just reading whole lines or even single chats via stdin and stdout. To ask complex as actually toggling physical bit on and off in a set time. On my channel I have a video called “Fixing climate change the hacker way”.
      I reverse engineer a weather station protocol and spoof it using just and Arduino that toggled a single hit that enabled disables a little transmitter.
      That is the lowest level of protocol execution- just toggling single but on and off.

    • @jsonkody
      @jsonkody Před 3 měsíci +1

      protocol is EXACTLY that .. what the word mean. You made protocol by that you made up some rules how to write some information or do some actions.
      For example lets say "You need to knock on the door three times, then I shoud 'come in!' and then you may come in" and by agreeing on that we created a protocol, by those rules if you knock only two times I wont shout 'come in!' and you cant go in.
      Of course in real life you may just come in but then it's not by the protocol and unexpected things may happen .. lets update the protocol "If you just go in without knocking, I kick you in the butt" :D

  • @sergiojimenez4595
    @sergiojimenez4595 Před rokem +3

    Awesome video! Doing the videos that you wish you had when you were younger makes for a really interesting and usefull format. It is also motivating to see that you once also had essential misconceptions about certain "basic" topics and that there is nothing wrong with that. The worst thing that one can do is to not ask that "silly" question and remain ignorant. Keep it up!

  • @ahnospell44
    @ahnospell44 Před rokem

    This is a GREAT introduction to how it works, you left quite an awesome bit of 'your own research needed here' but explained amazing for someone coming into the world of IT!

  • @dudu8009
    @dudu8009 Před rokem

    you're really amazing, the video is quality made and the explanations are so understandable.
    thank you for helping the world learn and making it so enjoyable at the same time!

  • @borazan
    @borazan Před rokem +2

    Funny that I literally asked a professor this after class yesterday, his answer was "pretty much everything can be a server". I guess the confusion arises from the fact that it doesn't only refer to specific types of computers/software but to much more. Thank you for the deep dive, really appreciate it :)

  • @heyitsalec
    @heyitsalec Před rokem

    This was an awesome video! Proof that even the more simpler subject areas can be just as enlightening. Thanks for this!

  • @yassinsammy7359
    @yassinsammy7359 Před rokem

    finally a good explanation about servers, I had that question for a really long time, mostly because of all the ways people explain stuff, everyone explains it differently, and it becomes extremely difficult to understand what is what and which is which.
    Thanks for the video, and keep up the good videos they definitely help a lot.

  • @AwsmBuff
    @AwsmBuff Před rokem +1

    Really good work at covering this topic from different angles!

  • @fanden
    @fanden Před rokem

    This is awesome. I can´t tell you how often I catch myself not being able to truly explain the most simple stuff in IT after using it for +10years.

  • @paul1337x
    @paul1337x Před rokem +1

    As a long time windows and Linux administrator, I want to tell you that your video is awesome! 👍 Good explanations, even better illustrations and best of all, personally, metaphors.

  • @quentinlauterbach
    @quentinlauterbach Před rokem +1

    I really like the video format and the idea behind it therefore i would enjoy to see you explain more common words/concepts :)
    (like networking. Which was one of the main things i always wanted to know how it works until i had it in Uni)

  • @danielakhterov
    @danielakhterov Před rokem +5

    What a fantastic deep dive, thank you!

  • @jigerjain
    @jigerjain Před rokem

    You have an incredible approach of explaining details. Glad you made this ❤

  • @juliasteam2077
    @juliasteam2077 Před rokem +3

    Great video, looking at the meaning of a word sometimes works better than looking at the technical definition.

  • @ricp
    @ricp Před 2 měsíci

    This is so great! I love the level of detail you go into, thanks a lot!

  • @char8169
    @char8169 Před rokem +2

    This video was really helpful! There needs to be more explanations like this that people with less experience are able to understand.

  • @WillBosch-Vuononen
    @WillBosch-Vuononen Před 4 měsíci

    This video is perfect for someone like me: the one who has used computer for more than half of their life but still get confused with all the terms. Thank you so much!

  • @bananarambo8163
    @bananarambo8163 Před rokem

    Thank you master, you're really talented. Hope to see more of this deepdive series

  • @mipselled840
    @mipselled840 Před rokem +44

    how'd this get in my recommended? EDIT: I was just surprised an unlisted video got in my recommendation when it had only 2 views. I’m already subscribed and I watch all of LiveOverflow’s videos.

    • @lucutz_1
      @lucutz_1 Před rokem +17

      It is great content. That's why.

    • @ringzero3260
      @ringzero3260 Před rokem +2

      Why not?

    • @sakari_119
      @sakari_119 Před rokem +2

      This guy does hacking into minecarft and understanding how hacks work videos

    • @MirageX47
      @MirageX47 Před rokem +5

      Subscribe to him he's damn good, i learnt so much stuff from him back then

    • @spacemule1
      @spacemule1 Před rokem +2

      Quality

  • @user-xv6cj1gl8w
    @user-xv6cj1gl8w Před rokem +3

    2:31
    Exactly! As an ICT student, first thing i have been taught is "throw away the mindset that a server is anything special"
    being a "server" can be temporary, for example a client working as a minecraft server, there are purpose-built machines for it, but a server is just any host that
    shares their resources or service.
    the "status" of any host can be both client and server depending on what it is doing at the particular time

  • @Dymond_in_the_ski
    @Dymond_in_the_ski Před 3 měsíci

    Thank you for this video. I felt how you felt when you were 17 years old. Currently learning configuration management and I was experiencing some sort of mental block then i decided to break down terms. Especially the server / web server that i thought I already know the meaning of.
    I truly appreciate this video, your 17 year old self and this lady is happy.

  • @shoshysam6355
    @shoshysam6355 Před rokem

    Great video man! Keep up the good work!

  • @kiwi2257
    @kiwi2257 Před rokem

    These videos are absolutely brilliant. Cheers for all of this really great information.

  • @rikschaaf
    @rikschaaf Před rokem +94

    You also used the term service. If you want to tie that into the explanation, I would define it as this:
    A *_server_* is a *_program/application_* that *_provides_* a *_service_* by sending a *_response_* to a *_client_* application that sent a *_request_* , so that the client can then *_consume_* this response. What the request and the response contain depend on the service that the server provides.
    This application can be called a server, but it is also often called a service.
    The hardware can be called a server, but is usually not called a service, except in the context of Infrastructure As A Service (IAAS), where your hardware is managed for you by a 3rd party, e.g. an (other) company (like a mincraft server host) or even a different department within the same company (which makes it possible for a development team to run their program somewhere in the company, without having to manage those computers themselves). Here the service refers to the management and availability of those computers, not necessarily to the computers themselves.
    The term service is also used within the code of a program itself. For instance, some piece of code might need access to a database. To do this, it can call a service (another piece of code within the same program) that handles the database access. In this context you might also see the terms *_manager_* or *_repository_*

    • @NickKartha
      @NickKartha Před rokem +2

      Stop giving the rent owners more reason to ask for rent. Don't study his definition, kids. Not all of are Peter Parker, most of us are the tubbies from Wall-E.

    • @rikschaaf
      @rikschaaf Před rokem +11

      @@NickKartha wha? There's probably some comedy in here, but I am completely missing what you even mean...

    • @NickKartha
      @NickKartha Před rokem +1

      @@rikschaaf Peter Parker pays his rent by means of even self exploitation. When one says they are providing a service, this entails monetary compensation. There are businesses that thrive on providing you a server and some dirty cpanel experience in exchange for premium lunch money. These services should not exist in the modern world as we are moving to web3 and the metaverse with further p2p and ipfs resources. As tubbies, we the low grade consumer, can do nothing about this "democratization" that happens without our participation. Hope this explains it.

    • @solar9137
      @solar9137 Před rokem

      i agree

    • @Nelo390
      @Nelo390 Před rokem +2

      ​@@NickKartha you... don't want servers...
      and you think meta of all people will stop that?

  • @logiciananimal
    @logiciananimal Před rokem +16

    In order to do better data security with people I have to explain client/server computing approaches. It is always good to have a very simple and effective introduction to the topic. It looks like the video is promising in that regard. I'll let everyone know how it goes once I use it!

  • @pannas4069
    @pannas4069 Před rokem

    Nicely explained. Really good job!

  • @someperson9895
    @someperson9895 Před rokem

    Wow! Just when I started diving into networking and net security, too! Thank you, you've taught me so much.

  • @Shadowtrot
    @Shadowtrot Před rokem +7

    This video is great. I used to be confused about the term as well but the more I interact with it the more I learn that so many things in the "tech sphere" are things that I already knew and interact with daily and have some understanding of, just with slightly more different descriptions of their purpose or implementations. I kind of hate that computers are seen as this mysterious black box when so many aspects of them are just simple concepts we already know, but they're implemented in an unfamiliar way. I like to think about questions like this and answer them in a way that's more relatable to the general human experience, and when I was clicking on the video I was thinking to myself how I would answer the question, landing on the same initial answer as you, like a waiter/server at a restaurant that takes requests and provides a service or response in the form of food.

  • @Skyb0rg
    @Skyb0rg Před rokem +3

    I think it may also be useful to note a usage of sockets that doesn’t fit the behavior of “server client”, showing that the two are very different. Otherwise amazing video, and I can’t wait to see more.

  • @AmirHosseinHonardust
    @AmirHosseinHonardust Před rokem +1

    I'm a backend developer, and a good one at that. My job is to write web servers all day. Yet, most of the contents of this video were either new to me or I have just learned implicitly through experience. Very nice video!

  • @bean_TM
    @bean_TM Před rokem +1

    Last part was cool. Good video

  • @dominikeins
    @dominikeins Před rokem

    Amazing video! Thank you for putting complex things into digestible pieces

  • @user-ws7wh8kz8h
    @user-ws7wh8kz8h Před 3 měsíci

    Great Job. I'm new to all this, and you made it easy for me to understand.

  • @saggitariusA
    @saggitariusA Před rokem

    Nice explanation. I also had this question over server being referred to both program and machine. So this clears it up. Thanx

  • @franciscolopez2736
    @franciscolopez2736 Před rokem

    Have had this question on my mind for a while, this is perfect ❤️

  • @severtone263
    @severtone263 Před 8 měsíci

    Bravo! Best explanation yet! Thank you

  • @accumulator4825
    @accumulator4825 Před rokem

    Incredible explanation, thank you very much! Really needed this

  • @terryhorlick679
    @terryhorlick679 Před rokem

    I loved this video. I sort of followed along and was impressed with your reverse engineering. My computer knowledge is very rudimentary starting when I was an undergrad at U.C.S.D.! Back then we used a Burroughs B6700 machine which took up the first floor of Building A on Muir campus. I still remember (note I did not say fondly) punching cards as I built a compiler for my computer class.
    I learned a lesson from a fellow dorm student who figured out how to get control and breach the system. A “clever” line of text inserted onto all printout headers quickly lead the department to shut B6700 down until the student was apprehended and interrogated.
    This forced the implementation of security advances and one deserved expulsion. All his fellow students can now explain how that one was done since 50 years is far past the statute of limitations.
    Since you are familiar with Giesel you may be surprised that back in the first 10 years of UCSD it was known as “Central Library” which had no computing ability. All computation was there in building A at the “liberal arts college” Muir College.
    I suggest changing the coding a bit and boost the census numbers by multiplying the area counted by a factor of 10 or 100. Maybe you get more money for the English department if the Romance Novel stacks suddenly show 300 or 3000 visits instead of a daily census of 3!

  • @Shhluger
    @Shhluger Před rokem

    I am struggling every day with trying to understand the things related to programming I am giving up easily, such materials bringing back my willingness to try one more time. Thank you for excellent explanation.

  • @kiwiwelch3620
    @kiwiwelch3620 Před rokem

    It toke me a long time to understand its concept as well, thanks for validating me

  • @anamoly01
    @anamoly01 Před rokem

    The best thing i like about this video is that it starts as beginner and then impressively level up after 50% duration for most advanced concept too. 👏

  • @ekapam
    @ekapam Před rokem

    Well explained, I like this kind of videos, and I think we can simplify it as an Input and Output, no matter if there's an imperative or functional program, there are actions after any request from both sides. 👍

  • @Bchicken2
    @Bchicken2 Před rokem

    Great video, I'm a student experiencing the same question in my mind all the time. Thank you for the explanation!

  • @ivanstukalov9589
    @ivanstukalov9589 Před rokem

    This video approves that every though guy, who seems absolute expert is just an ordinary man with simple questions. But everyone can reach high excellence if he dont give exploring.
    I admire your content!
    Good Luck, Liveoverflow!

  • @prottentogo
    @prottentogo Před 5 měsíci

    man, you're really good at explaining things. got a little too confusing for me personally after the socket thing, but that's me.

  • @Filaxsan
    @Filaxsan Před rokem

    Incredibly done brother. Thanks a lot for sharing!

  • @nevinkuser9892
    @nevinkuser9892 Před rokem

    Amazing video man! Well done! It really explained a lot. I also love the analogy to a restaurant server. I will go install linux now. 🥳

  • @osbaldotheVtenman
    @osbaldotheVtenman Před rokem

    This is a fantastic video! Thank you soo much 🙏

  • @osaeljm
    @osaeljm Před rokem

    I liked this video, I went back in time….. really nice, remember those basic but essential concepts are always useful 🎉

  • @Zedoy
    @Zedoy Před rokem

    This was super helpful thanks so much!!! ❤️❤️

  • @JustJeris
    @JustJeris Před rokem

    Great video! Would love to see similar style explanation on network ports!

  • @user-hk9tm2gi4s
    @user-hk9tm2gi4s Před rokem

    So well explained !

  • @rickmens6110
    @rickmens6110 Před rokem

    wooowowowo this is so informative. Nice work keep it coming

  • @gurshehzadsingh5209
    @gurshehzadsingh5209 Před rokem +1

    Best video for server explanation on this planet. 🔥

  • @mohammadalaaelghamry8010

    Amazing as usual.

  • @ShaorongMa
    @ShaorongMa Před rokem

    This video really helps! Many thanks!

  • @paulla7429
    @paulla7429 Před rokem

    Great video, really cleared it up for me

  • @shadowcraftersr
    @shadowcraftersr Před rokem

    Thanks for the video. I know most of it already or had a good concept of it but still was helpful and definitely learned something

  • @headlights-go-up
    @headlights-go-up Před rokem

    I love the way you explain things.

  • @Jonathang5730
    @Jonathang5730 Před rokem

    Great Explanation! I also didn't know what a 'server' was for a long time. It's just computer, that's beefed up to stay online 24/7.

  • @tanmaybhayani
    @tanmaybhayani Před rokem +1

    More of this series please!

  • @thedra9ongod
    @thedra9ongod Před rokem +2

    yk what the first part where u say to think of a server like a restaurant waiter actually helped alot

  • @syedbarkath6960
    @syedbarkath6960 Před rokem

    Continue these types of videos... its very helpful

  • @bluefire9016
    @bluefire9016 Před rokem

    Absolutely love this video. I will no longer feel intimidated when I here the word server in the office.

  • @amjadcp4509
    @amjadcp4509 Před 10 měsíci

    The best explanation that I have heard ever about server:)

  • @mentaal.4066
    @mentaal.4066 Před rokem

    Amazing explanation!

  • @0xirakli
    @0xirakli Před rokem

    Great video really clears everything up

  • @lyn8964
    @lyn8964 Před 6 měsíci

    Very good video!!! Finally understand it :) 8:58 the right guy was you?

  • @uzumakiuchiha7678
    @uzumakiuchiha7678 Před 5 měsíci

    this was very good. thank you for making it more clear for me

  • @JayadityaSethi
    @JayadityaSethi Před 2 měsíci

    Fabulous, thanks for sharing!

  • @mrobvious6112
    @mrobvious6112 Před rokem

    Man.. I love this guy, he explains in a better way

  • @nieczerwony
    @nieczerwony Před rokem +1

    "There is no cloud, there is only someone's else computer ".
    I remember back in the day when we were using one PC to be a server.
    Today you can do amazing stuff with things like raspberry pi and really understand that server is essentially a computer.

  • @user-nb2yt4np5e
    @user-nb2yt4np5e Před 4 měsíci

    You've answered my question and I'm aware of the term server . Thanks much.

  • @jony1661
    @jony1661 Před rokem

    This is extremely relevant to my studies, thanks!

  • @AwsmBuff
    @AwsmBuff Před rokem +9

    With 19 I got really confused what a server is too. So thank you for uploading this to help others that are new in this field!

  • @mady3795
    @mady3795 Před 6 měsíci

    this is such great video, thank you so much.

  • @joshuadeleeuw
    @joshuadeleeuw Před rokem

    thanks alot for this video, this genuinly helped me (an almost 27 year old) out alot with naming my programs, now i can finally standardize my program namingscemes a bit more.

  • @nikhilanand354
    @nikhilanand354 Před 8 měsíci

    Nice Explanation sir !!!

  • @xfregas2682
    @xfregas2682 Před rokem

    this video is SO GOOD. I will send it to all my friends who begin to learn Computer science!

  • @cryptonative
    @cryptonative Před rokem

    My 15 years old self would have thanked you. There was thenewboston at the time but not many people were making videos about client server architecture.

  • @melvin6228
    @melvin6228 Před rokem

    I also asked myself the same question. My answer (super quickly): A server is a role that a program on a computer plays. It serves certain forms of data that the client is requesting. A client is also a role that a program on a computer plays. Aaannd now I'll watch the video :D

  • @cafecito6068
    @cafecito6068 Před rokem

    Loving this

  • @maureenmuiruri6591
    @maureenmuiruri6591 Před 4 měsíci

    Thank you for this, I was struggling to understand servers and clients definitions.

  • @CuriousAnonDev
    @CuriousAnonDev Před rokem

    this video was super amazing
    video ideas next:-
    on computer graphics
    also videos on how memory works, cpu works, computer architecture and organizations

  • @raqmet
    @raqmet Před rokem

    Great video!

  • @vectoralphaSec
    @vectoralphaSec Před rokem +1

    This video was not a waste of time. Honestly it would be great to get more videos on basic Computer Science topics.

  • @avimonnudash1762
    @avimonnudash1762 Před měsícem +1

    so humble, bless you

  • @itaybarok9405
    @itaybarok9405 Před rokem

    Great Video!

  • @case_sensitive
    @case_sensitive Před rokem

    More of these technical explanations would be great

  • @aze4308
    @aze4308 Před rokem

    Great video! Thanks so much!

  • @belabronson3926
    @belabronson3926 Před rokem

    Thx for the vid. When I was a youngster I also was a bit confused about what exactly is a server.
    Within Discord one also creates servers. One more example of using the word server ..

  • @LBmaster
    @LBmaster Před rokem +1

    Really nice. I would also have a few suggestions for such videos. When I was younger, I did not know what a GPU is or what it really does. I had my pre built PC, which was barely able to run Minecraft, because my GPU was pretty shitty. I also did not really know the difference between my private and public IP and how Ports work. I always hosted the Minecraft Server for my friends, but never understood how it really worked

  • @MrJrhzues
    @MrJrhzues Před 6 měsíci

    this is beautiful...humbly thank you.

  • @iBarnieBarnie
    @iBarnieBarnie Před rokem +2

    Thanks this is awesome!

  • @JustMe-gg7dy
    @JustMe-gg7dy Před rokem

    Nice explanation. Keep going.

  • @thomasqkelly
    @thomasqkelly Před rokem

    Loved the video