📣 Please check! This lecture is the third lecture in the Java Spring Complete Conquest series . Please check the Spring Complete Conquest roadmap of Younghan Kim, the youngest technical director of Woowa Brothers. ( Go to )
Everything is HTTP based
Nowadays, everything is transmitted via HTTP. Not only the HTML, images, videos, and files that we are familiar with, but also when apps and servers communicate via APIs, and also when servers communicate with each other, most of the time HTTP is used.
So mobile app developers, web front-end developers, and back-end developers all need to know and use HTTP. In particular, back-end developers use web frameworks or technologies such as Spring Web MVC, JSP, PHP, ASP.NET, Node.js, Python Django, and Ruby on Rails, and all of these web technologies are implemented based on HTTP .
Developers who are learning web technologies for the first time
If you study web technologies for the first time without properly understanding HTTP, it is not easy to understand the principles in depth. This is because the technologies assume that you are already familiar with HTTP and explain mainly how to use the functions. For example, if you first learn Spring Web MVC, you will see many functions and terms related to HTTP, but it is difficult to clearly understand why these functions are necessary and where and why these terms came from. Therefore, you will learn mainly how to use the functions rather than understanding them in depth.
Developers who use web technologies in practice
Even if you use web technology in practice and develop for a long time, you will continue to have concerns. Is it right to design API URLs like this? When should I use POST and when should I use PUT? What HTTP status code should I choose? You will continue to have concerns like these.
I want to learn the core HTTP content that is essential for practical development and establish a standard, but many Internet materials are scattered in pieces or contain incorrect information. However, learning from HTTP specifications or books on the market contains a lot of content that is not essential for practical work, and the amount of learning is burdensome.
Course Objectives
You will be developing on HTTP for your entire life. So, you should seriously learn and organize HTTP at some point. The learning objectives of this course are as follows.
You can understand the entire flow of HTTP.
We will explain the core contents that are essential for practical use.
To make it as easy to understand as possible, I will use many pictures and examples.
In this course, you will acquire all the basic HTTP knowledge necessary for practical work .
Lecture target
Backend Server Developer
Web frontend Client Developer
Mobile Frontend Client Developer
Dealing with web technologies All Developers
If you are a developer who uses HTTP technology, such as web or mobile app front-end or back-end, this course will help you understand HTTP in depth. Among them, it will be most helpful to back-end developers who design HTTP APIs and develop web applications that must provide them.
Lecture Structure
1. Internet network
The lecture first explains the Internet network.
Since HTTP ultimately operates on top of TCP/IP or UDP, you need to understand very basic Internet networks.
2. URI and web browser request flow
Clearly define the concepts of URI and URL.
And it explains how HTTP messages are transformed into TCP/IP messages through the web browser request flow, how they reach their destination through the network, and how an HTML response is received and rendered on the web browser. Through this, you will understand the entire cycle of HTTP and networks.
3. HTTP Basics
Learn about the basic operations and features of HTTP. In particular, learn in detail about the concepts of stateful and stateless and HTTP messages.
4. HTTP Method
First, let's design an HTTP API without any particular thought. We'll look at what problems there are and learn why HTTP methods are needed.
Learn various HTTP methods and build a foundation of when and how to use major HTTP methods such as GET, POST, PUT, PATCH, and DELETE.
5. Using HTTP methods
Learn the basic usage methods that are mainly used in practice. Learn how to send messages through HTML forms, how to send through APIs, etc. And learn how to properly design HTTP API URLs through examples. We also explain ways to overcome the limitations of theory and practice.
6. HTTP Status Code
Explains HTTP status codes. Learn which status codes are correct and what 2xx, 3xx, 4xx, and 5xx mean and how to use them.
7. HTTP Headers - General Headers
There are many headers in HTTP. Here, we will learn about representation, content negotiation, transfer method, cookies, etc. through examples and cases rather than simple functional explanations.
8. HTTP Headers - Cache
Learn the basics of HTTP caching. Learn why you need a cache, browser cache, proxy cache, conditional requests, cache invalidation methods, and more.
To be continued in the future Spring Complete Conquest Series
We are preparing a series that will allow you to completely master Spring. We will teach you practical know-how, focusing on core Spring functions used in actual practice, boldly omitting functions that are not used in practice or are outdated.
Objective: This course aims to complete all the web technologies required to develop web applications.
From Web Fundamentals to Practice: It contains a lot of content for practical development, but it is structured so that even developers without experience in web application development can adapt.
Java Web Technology Story: Starting with basic Java web technologies such as servlets and filters, we explain why Spring MVC was created.
Focused on practical examples: You will learn all the necessary steps for developing web applications with Spring in a natural way through examples, and we will teach you best practices in the field.
Conciseness: We boldly excluded old features that are not used in practice. We mainly explain the contents that are mainly used in modern practice.
I prepared for job hunting while listening to Mr. Kim Young-han's lecture, and as a result, I was able to successfully get a job at a mid-sized company.
I said last time that I dreamed of working with Mr. Kim Young-han, and every time I listen to the lecture, I think it can become a reality.
Thank you for leaving such a great lecture. I will work hard to keep up.
When I first heard the news of Younghan's new lecture opening, my first thought was, 'Why did the HTTP lecture come out first instead of Spring Web MVC?' It may be disappointing news for those who wanted to quickly study Spring Web MVC in the wild, but for those who prefer the scholarly approach like me and didn't know much about HTTP, I think it would be more helpful to properly organize HTTP through this opportunity to understand Spring Web MVC later, as Younghan said.
As expected, I was satisfied with this lecture as I watched and listened to the vast lecture materials and explanations that you prepared so that students could easily understand. Thank you for always giving great lectures.
Omnibus, thank you for being satisfied^^ In the Spring Web MVC lecture, I will explain based on the HTTP explanation. Then, you will be able to learn quickly.
Thank you for waiting.
Oh... I've been waiting for this lecture so long that I bought it as soon as it came out! I'm also watching the new spring lectures. Whenever I see Younghan, I always see his passion for programming, so I respect him a lot and want to emulate him.
I always get excited when I listen to a good lecture, and I feel so good about learning something new. I think it's common sense that HTTP or networks are really important knowledge for web developers. Thank you for providing such a good lecture, and I look forward to other spring lectures that will come out in the future.
Thank you for waiting like this^^! As you said, it is a really important basic for web-related development, so I thought this was more important than the Spring web lecture. Thanks to bow77 Rain, I also got the strength to prepare for the next lecture!
Instead of "Learn the prerequisite knowledge on your own", it should be "I will teach you, just trust me and follow me".
If Bang Jeong-hwan is a great person among children, isn't Kim Young-han a great person among Java backend developers?
Thank you always for creating valuable lectures.
First of all, thank you for making such a great lecture.!!! This time, I completed the http lecture well. I had a rough idea of http, but it was good to organize it so well. I am also waiting for spring web mvc, but I will wait slowly as well. You don't have to make it too quickly and release it quickly.!! Because I am always waiting for a perfect lecture!! ㅎㅎ Thank you again for always giving a great lecture!