Deep Dive into HTTP Caching: cache-control, no-cache, no-store, max-age, ETag and etc.

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ธ.ค. 2024

ความคิดเห็น • 58

  • @SoftwareDeveloperDiaries
    @SoftwareDeveloperDiaries  2 ปีที่แล้ว +11

    Forgot to mention the "s-maxage" directive: it also indicates how long the response is going to be fresh, but it's only specific to public caches.

  • @spots2012
    @spots2012 ปีที่แล้ว +6

    The key nuance about must validate, is that an http response consists of both headers and body. With a validate request, the client still needs to make a request to the server, but the server can respond with headers only saying 'yup nothing changed ' and so the body does not need to be streamed.

  • @shivanshagarwal12
    @shivanshagarwal12 ปีที่แล้ว +4

    went through a lot of content none could explain as easily as you did, thanks for the great video :)

    • @SoftwareDeveloperDiaries
      @SoftwareDeveloperDiaries  ปีที่แล้ว

      Happy to hear that! :)

    • @WebdevBlizz
      @WebdevBlizz หลายเดือนก่อน

      But his explanations are not always correct, don't 100% rely on it.

  • @kondziorf
    @kondziorf หลายเดือนก่อน +3

    The no-cache explanation is wrong in the video. From the MDN: "The no-cache request directive asks caches to validate the response with the origin server before reuse." So it takes from cache when server says that it is ok to.

  • @joachimzayana1744
    @joachimzayana1744 6 หลายเดือนก่อน

    Please continue making video!
    Explanation are clear, introduced at the right pace, looking forward watching the others

  • @imtiazux
    @imtiazux 6 หลายเดือนก่อน +1

    Thank you so much. Everything are now clear like water. 👌

  • @shaheenns3113
    @shaheenns3113 2 ปีที่แล้ว +5

    The no-cache response directive indicates that the response can be stored in caches, but the response must be validated with the origin server before each reuse, even when the cache is disconnected from the origin server.
    It goes to the server only for validaiton right ?

    • @SoftwareDeveloperDiaries
      @SoftwareDeveloperDiaries  2 ปีที่แล้ว +2

      Exactly, only for validation to possibly avoid downloading the file.

    • @sahukaridharani728
      @sahukaridharani728 2 ปีที่แล้ว

      No store means?

    • @sKopheK
      @sKopheK ปีที่แล้ว

      exactly my point, but came here to get to know more about it 😂

  • @mahdibeldjoudi3269
    @mahdibeldjoudi3269 ปีที่แล้ว +1

    This video is underrated

  • @quannguyenhong6300
    @quannguyenhong6300 11 หลายเดือนก่อน

    Thanks for the clear and concise video !

  • @tech3425
    @tech3425 9 หลายเดือนก่อน +1

    Great vid. Still confused between must-revalidate and stale-while-revalidate

  • @akashagarwal6390
    @akashagarwal6390 ปีที่แล้ว

    awesome video, really liked the in-depth details, no bullshit.

  • @helloshouvik
    @helloshouvik 4 หลายเดือนก่อน

    Great explanation! I have a question though. What will be the proper setup for a WP site where u use a plugin to control browser, page & object cache + use a cdn at the same time (also if the cdn act as reverse proxy like cloudflare)?. It's pretty confusing for me, who handles what?

  • @fellainthewagon7166
    @fellainthewagon7166 ปีที่แล้ว +1

    today i god this question on interview but no answered. Now I know a bit more about caching via http header, thanks!

  • @nithathghm4347
    @nithathghm4347 ปีที่แล้ว

    Thanks! Really nice way to explain concepts 🙂

  • @PiyushGhosh-l4k
    @PiyushGhosh-l4k 4 หลายเดือนก่อน

    What's diff b/w reverse proxy and cdn here in this case ??

  • @slickchick8292
    @slickchick8292 ปีที่แล้ว

    This was so very helpful, thank you very much!

  • @mohamadal3k513
    @mohamadal3k513 2 หลายเดือนก่อน

    There is something wrong with your statement about the no-cache directive. You said something incorrectly. The no-cache directive's cache status can be HIT, but it will not always be MISS.
    When a request reaches the cache, it first checks with the server using an ETag to determine if the file is still valid and has not been modified. If the file is valid, the cache will send it to the client, and the status will be "HIT." If the file has been updated, the cache will retrieve the new version from the server, and the status will be "MISS."

  • @panzerdp
    @panzerdp ปีที่แล้ว

    A big THANK YOU!

  • @Pranavk-tc5sc
    @Pranavk-tc5sc ปีที่แล้ว

    thanks for the content✌

  • @aamiramin6112
    @aamiramin6112 ปีที่แล้ว

    So Informative. Thanks for sharing

  • @rimagerhard5047
    @rimagerhard5047 ปีที่แล้ว

    Thanks! Very nicely explained.

  • @wilfredomartel7781
    @wilfredomartel7781 19 วันที่ผ่านมา

    Good work! I have past nearly 3 days trying to clear cache from http sites in chrome browser. Now we have https and https still remain in browsers :(

  • @Teleschmiede
    @Teleschmiede 2 ปีที่แล้ว

    Happy hello from Berlin-Spandau.

  • @gabriel_bricage
    @gabriel_bricage ปีที่แล้ว

    Hey, Great video!
    I am learning how to create websites with html css and js. I don't know anything about php. To use no-store how can I write it in my code?
    Thanks

    • @SoftwareDeveloperDiaries
      @SoftwareDeveloperDiaries  ปีที่แล้ว

      Hey mate, I don't know much about PHP unfortunately. Are you using any framework?

    • @gabriel_bricage
      @gabriel_bricage ปีที่แล้ว

      @@SoftwareDeveloperDiaries no I use HTML, CSS and a bit of JS. I build from scratch. But I found the solution for my question so it’s good!
      Thanks man 💪🏼

  • @ihorbilobran4690
    @ihorbilobran4690 ปีที่แล้ว

    Thank you, man!

    • @SoftwareDeveloperDiaries
      @SoftwareDeveloperDiaries  ปีที่แล้ว

      Thanks for watching, buddy!

    • @ihorbilobran4690
      @ihorbilobran4690 ปีที่แล้ว

      @@SoftwareDeveloperDiaries Great and simple explanation. Before I found your video, I was reading HTTP caching MDN docs (and I understood nothing from that)

    • @SoftwareDeveloperDiaries
      @SoftwareDeveloperDiaries  ปีที่แล้ว

      @@ihorbilobran4690 those look very well structured but still hard to understand, you're right :D

  • @MajesticaYEH
    @MajesticaYEH ปีที่แล้ว

    Awesome!

  • @abirsheikh5300
    @abirsheikh5300 ปีที่แล้ว

    How do my browser know which server of CDN to request?

    • @SoftwareDeveloperDiaries
      @SoftwareDeveloperDiaries  ปีที่แล้ว +1

      Via a DNS lookup, which will eventually lead to the closest CDN geographically. Also keep in mind that the data is cached separately for every CDN server at every location, it's not magically distributed across all servers.

    • @abirsheikh5300
      @abirsheikh5300 ปีที่แล้ว

      ​@@SoftwareDeveloperDiaries thanks a lot 😊

  • @Sriram156
    @Sriram156 ปีที่แล้ว

    Would be nice if you add the nginx configs for the various items discussed in the video. :)

  • @gerogoya332
    @gerogoya332 ปีที่แล้ว

    Great content!
    I'm doing automation and have to check (by API) if an image has changed after selecting and saving a new one.
    I store the image etag before updating the image and then I check if the etag is the same.
    Is etag reliable for the purpose?
    Thank you so much, I'm new suscriber.

    • @SoftwareDeveloperDiaries
      @SoftwareDeveloperDiaries  ปีที่แล้ว

      Thanks mate! Interesting question. Since ETags are primarily about network caching, I would rather go for a more reliable way in case if you're using a database, meaning storing some kind of an image ID in the database that you can distinquish it by. If not, ETag should be enough, since a new one is created for each new resource.

  • @TuvRaz
    @TuvRaz 9 หลายเดือนก่อน +1

    I am more confused new than I was before

  • @laurassalias630
    @laurassalias630 2 ปีที่แล้ว

    Nice!

  • @WebdevBlizz
    @WebdevBlizz หลายเดือนก่อน +1

    Unfortunately there are many mistakes in your video.
    It is false that you should never store HTML files in the cache. Most onlineshops do this e.g. Magento 2 with Redis.But you should use no-cache. This directive instructs browsers to validate the cached HTML with the server before using it, ensuring that users receive the latest version while still benefiting from caching.
    The term no-cache in the context of HTTP caching is a bit misleading. It does not mean "do not cache at all". Instead, it means the browser must validate the cached content with the server before using it.
    no-cache basically means "don't use cached content without server validation."
    "It's always going to emit the cache and it's going to always miss."
    This is incorrect. With no-cache:
    The file is stored in the cache.
    On subsequent requests, the browser checks with the server whether the cached version is still valid.
    If valid, the server responds with 304 Not Modified, and the cached version is used.

  • @arknitosh
    @arknitosh 2 ปีที่แล้ว

    Very Informative video. Thanks!
    But can you please help me with the HTML code or .htaccess code? Also, How do I set the cache for 15 minutes?

    • @SoftwareDeveloperDiaries
      @SoftwareDeveloperDiaries  2 ปีที่แล้ว +1

      Happy to help :) To set the cache for 15 minutes you can use max-age=900.
      developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#response_directives