When IIS is used as reverse proxy for ASP.NET Core application it can alter the response. This post shows how to prevent one of such alterations - response compression.
Strona głównaUżytkownik
tpeczek | użytkownik
This post explores how the HEAD method is handled by ASP.NET Core and proposes solutions to some problems.
This post shows how Redis can be used to solve the problem of SSE or WebSockets broadcasting for ASP.NET Core applications behind load balancer.
This post shows how SSL Acceleration (Offloading) scenario can be supported in ASP.NET Core.
This post explores various approaches to concurrent requests limit.
This post explores subtle and undocumented difference regarding response compression and response buffering in ASP.NET Core depending on target framework.
A number of browsers support WebSocket per-message compression out of the box. This post shows how it can be used in ASP.NET Core.
This post focuses on Cross-Site WebSocket Hijacking vulnerability and how to protect against it.
WebSocket is the closest API to a network socket available in browser. This makes it probably the most flexible transport which a web application can use. That flexibility comes at price. From WebSocket perspective the message content is opaque. This means that client and server must agree on application subprotocol. WebSocket provides a simple subprotocol negotiation mechanism which helps in that task.
There is a number of Web APIs which allow measuring performance of web applications. The youngest member of that family is Server Timing API which allows communicating the server performance metrics to the client. This article shows how this API can be used in ASP.NET Core.
On of the hardest parts of getting an open source project into state which allows others to use it effectively is creating documentation. This post shows how you can generate documentation directly from source code by using DocFx.
Google's Certificate Transparency project is an open framework for monitoring and auditing SSL certificates. Starting April 2018 Chrome will require compliance with Certificate Transparency. Expect-CT Extension for HTTP will introduce a way to test the Certificate Transparency policy and this article shows how it can be used once it arrives.
ASP.NET Core comes with ready to use Cross Origin Resource Sharing support. The usage is very straightforward and nicely described in documentation, but what if there is a need to reconfigure the policy at runtime?
Recently I've been playing a lot with HTTP/2 and with ASP.NET Core but I didn't had chance to play with both at once. I've decided it's time to change that. Unfortunately the direct HTTP/2 support for Kestrel is still in backlog. Luckily Kestrel is not the only HTTP server implementation for ASP.NET Core.
The amount of transferred data matters. On one hand it often contributes to the cost of running a service and on the other a lot of clients doesn't have as fast connections as we would like to believe. This is why response compression is one of key performance mechanisms in web world.
In previous post I've shown how HttpClient can be extended with payload encryption capabilities by providing support for aes128gcm encoding. In this post I'm going to extend Aes128GcmEncoding class with decoding capabilities.
The "Encrypted Content-Encoding for HTTP" aims at providing standard solution for encrypting the contents of a HTTP message so that when the payload is stored, only someone with the appropriate key can read it. In this and next post I'm going to show how it can be used with HttpClient.
The web socket protocol is currently the most popular one for pushing data to browsers, however it's not the only one. The Server-Sent Events (SSE) is a very interesting alternative which can provide better performance for specific use cases. In this post I'm going to show it can be used with ASP.NET Core.
This is one of those "I had to explain this couple times already so next time I want something I can redirect people to" kind of post. What I want to write about is difference in behavior between using new() and DbSet.Create() for instantiating new entities.
This is a follow up to my previous post on HTTP/2 Server Push which deep dives into subject of client side caching and explores the Cache Digest proposal.