📣 Please check! This lecture is the third in the "Complete Java Spring Mastery" series . First, check out the Spring Mastery Roadmap from Younghan Kim, the youngest technical director at Woowa Brothers. ( Go to link )
Everything is HTTP based
In today's world, everything is transmitted over HTTP. We use HTTP not only for the HTML, images, videos, and files we're familiar with, but also for APIs, when apps communicate with servers, and even when servers communicate with each other.
Therefore, mobile app developers, web front-end developers, and back-end developers all need to understand and use HTTP. Back-end developers, in particular, use web frameworks and technologies like Spring Web MVC, JSP, PHP, ASP.NET, Node.js, Python Django, and Ruby on Rails, all of which are built on HTTP .
Developers who are learning web technologies for the first time
If you're just starting out with web technologies without a solid understanding of HTTP, it's difficult to grasp the fundamental principles in depth. This is because these technologies assume a strong understanding of HTTP and focus on how to use their features. For example, when you first learn Spring Web MVC, you'll encounter numerous HTTP-related features and terms, making it difficult to clearly understand why these features are necessary or where and why they came from. Consequently, you'll likely focus on how to use these features rather than developing a deep understanding.
Developers who use web technologies in practice
Even after years of working with web technologies, I'm constantly faced with questions. Is this the right way to design API URLs? When should I use POST and when should I use PUT? What HTTP status code should I choose? These are the questions I constantly face.
I want to learn the core HTTP concepts essential for practical development and establish a baseline, but online resources are often fragmented or inaccurate. However, learning from the HTTP specification or commercially available books often involves a lot of content that isn't essential for practical use, and the learning curve is daunting.
Course Objectives
You'll be developing on HTTP for your entire life. Therefore, you should seriously study and understand HTTP at some point. The learning objectives for 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 as possible to explain, I will use many pictures and examples.
This course will provide you with all the essential HTTP fundamentals you need for practical work .
Lecture target audience
Backend Server Developer
Web front-end Client Developer
Mobile front-end Client Developer
Dealing with web technologies All developers
If you're a developer working in a field that uses HTTP technology, such as web or mobile app frontend or backend, this course will provide you with a deep understanding of HTTP. It's especially helpful for backend developers who design and deliver HTTP APIs directly, developing web applications.
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.
It also explains how HTTP messages are transformed into TCP/IP messages, travel across the network to their destination, and receive an HTML response, rendering it in the web browser. This helps you understand the entire cycle of HTTP and networks.
3. HTTP Basics
Learn about the basic operations and features of HTTP. In particular, we'll delve into the concepts of statefulness and statelessness, as well as HTTP messages.
4. HTTP method
First, let's design an HTTP API without any specific requirements. We'll examine the challenges and learn why HTTP methods are necessary.
Learn various HTTP methods and build a foundation of when and how to use key HTTP methods such as GET, POST, PUT, PATCH, and DELETE.
5. Using HTTP methods
You'll learn the basic practical applications commonly used in practice. You'll learn how to send messages via HTML forms and APIs. You'll also learn how to properly design HTTP API URLs through examples. You'll also learn how to overcome the limitations of theory and practice.
6. HTTP status code
Learn about HTTP status codes. Learn which status codes are correct, and the proper meaning and usage of 2xx, 3xx, 4xx, and 5xx.
7. HTTP Headers - General Headers
HTTP has numerous headers. Here, we'll learn about representations, content negotiation, transfer methods, cookies, and more, through examples and case studies, rather than simply explaining their functions.
8. HTTP Headers - Cache
Learn the basics of HTTP caching. Learn why caching is necessary, browser caching, proxy caching, conditional requests, cache invalidation methods, and more.
To be continued in the future Spring Complete Conquest Series
We're preparing a series designed to help you master Spring completely. We'll focus on core Spring features used in real-world applications, boldly omitting obsolete or outdated features, and provide practical know-how.
Objective: This course aims to master all the web technologies required to develop web applications.
From Web Fundamentals to Practice: While it's packed with practical development material, it's also structured so that even developers without web application development experience 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: Learn all the steps required to develop web applications with Spring in a practical way through examples, and learn best practices from the field.
Conciseness: We've boldly excluded outdated features that aren't used in practice. We'll focus on the most current and relevant features.
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.
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.
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!
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.
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!