Learn how clients and servers negotiate HTTP compression, and how response compression works in the ASP.NET Core ecosystem.
- [Instructor] The HTTP spec allows the server to compress responses if the client supports compression. For applications that send large HTML or JSON payloads back to the client, this can reduce network traffic and increase response speed. If a client supports compression, it will set the accept and coding header on an outgoing request to let the server know what types of compression it can accept. If the server supports one of the encodings that the client can accept, it will return the compressed response and the content encoding header. Since network bandwidth is a limited resource, compression can be a great way to limit the size of the responses your application returns.
There are two ways to enable response compression in ASP dot net core. If you're using the recommended architecture of a web server like IAS, Engine X, or Apache, acting as a reverse proxy in front of Kestrel, you can configure compression at the reverse proxy layer. The proxy web server will take care of negotiating compression with the client, and compressing the outgoing response, when applicable. Your application just needs to send responses like normal. On the other hand, if you're directly serving your API from Kestrel, you can install the response compression package, and use it as middleware in your application pipeline.
This approach should only be used when you aren't handling compression at the reverse proxy layer, because servers like IAS and Engine X, are typically much faster and more efficient at compressing responses. In this project, we're assuming that the API will be hosted behind a reverse proxy, so we won't have to configure response compression at the application layer. Next, we'll look at caching responses, which does touch the application layer.
- REST vs. RPC
- Using HTTP methods (aka verbs)
- Returning JSON
- Creating a new API project
- Building a root controller
- Routing to controllers with templates
- Requiring HTTPS for security
- Creating resources and data models
- Returning data and resources from a controller
- Representing links (HREFs)
- Representing collections
- Sorting and searching collections
- Creating forms
- Caching and compression
- Authentication and authorization for RESTful APIs
Skill Level Intermediate
Deploying ASP.NET Core Applications (2017)with Nate Barbettini57m 57s Intermediate
1. REST API Concepts
2. Building a Basic API
3. Securing the API
4. Representing Resources
5. Representing Links
6. Representing Collections
7. Sorting Collections
8. Searching Collections
9. Forms and Modifying Data
10. Caching and Compression
11. Authentication and Authorization
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.Cancel
Take notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.
Notes are saved with you account but can also be exported as plain text, MS Word, PDF, Google Doc, or Evernote.