كل المواقع نشطة · uptime 99.99%
البروتوكولات

آلية التخزين المؤقت في HTTP Proxy

التخزين المؤقت من أقدم وظائف البروكسي: بدلًا من تنزيل المحتوى نفسه مرارًا وتكرارًا، يُحفظ نسخة منه ويُردّ على الطلبات اللاحقة محليًا. ومع انتشار HTTPS تقلّص نطاق هذه الوظيفة لكنه لم يختفِ تمامًا — وهو ما يزال مصدر توفير جدي في خط جمع البيانات الخاص بك.

التدفق الأساسي

شكلتدفق الطلب في بروكسي مزوّد بتخزين مؤقت
التدفقالعميلبروكسيالتخزين المؤقتخادم المصدريصل الطلبهل هو موجود في التخزين المؤقت؟إن لم يكن، اذهب إلى المصدراحفظ الردمرّره إلى العميلفي الطلب الثاني تعمل الخطوتان الأوليان فقط

عند تحقق إصابة في التخزين المؤقت لا يُذهب إلى الخادم المصدر إطلاقًا. وهذا مكسب من حيث السرعة وعرض النطاق والحمل على الخادم الهدف معًا.

من يحدد ما الذي يُحفظ؟

القرار يتخذه الخادم ويعلنه عبر ترويسة Cache-Control على النحو التالي:

التوجيهالمعنىسلوك البروكسي
publicيمكن للتخزين المؤقت المشترك حفظهيحفظ
privateليحفظه المتصفح وحدهلا يحفظ
no-storeلا يُحفظ إطلاقًالا يحفظ
no-cacheيمكن حفظه لكن يجب التحقق منه عند كل استخداميرسل طلبًا شرطيًا
max-age=3600يُعدّ طازجًا لمدة 3600 ثانيةلا يذهب إلى المصدر طوال المدة
s-maxage=600مدة منفصلة للتخزين المؤقت المشتركتُقدَّم هذه القيمة على غيرها
كثير الالتباس

no-cacheلا يعني "لا تحفظ إطلاقًا" — بل يعني "احفظ لكن تحقّق قبل الاستخدام". ومقابل "لا تحفظ إطلاقًا" هو no-store.

الطلبات الشرطية: 304 Not Modified

عندما تتقادم النسخة الموجودة في التخزين المؤقت لا يكون البروكسي مضطرًا لتنزيل المحتوى من جديد. بل يسأل الخادم: "هل النسخة التي لديّ ما زالت صالحة؟":

شكلالطلب الشرطي ورد 304
تحقّقبروكسيخادم المصدرGET /sayfa · If-None-Match: "abc123"304 Not Modified (بلا جسم)بضع مئات من البايتات فقطتُستخدم النسخة الموجودة في التخزين المؤقت

رد 304 لا يتضمن جسمًا؛ إذ تعود الترويسات فقط. وهذا يعني تقليص صفحة بحجم 500 KB إلى 300 بايت.

واستخدام هذه الآلية في خط جمع البيانات الخاص بك تكلفة عرض النطاق يخفّضها بشكل ملحوظ.

كيف أثّر HTTPS على التخزين المؤقت؟

عند إنشاء نفق CONNECT لا يستطيع البروكسي رؤية المحتوى — وبالتالي لا يستطيع تخزينه مؤقتًا أيضًا. ولأن الويب بأكمله تقريبًا انتقل إلى HTTPS فقد صار التخزين المؤقت الكلاسيكي في البروكسي عديم الوظيفة إلى حد بعيد.

شكلالتخزين المؤقت: HTTP وHTTPS
الأثرHTTP الصِّرفHTTPS (CONNECT)البروكسي يرى المحتوىنعملايمكنه تخزينه مؤقتًانعملايرسل طلبًا شرطيًانعملاتوفير في عرض النطاقمرتفعةلا يوجدحصته اليوممنخفض جدًاكله تقريبًا

ولهذا خرج التخزين المؤقت الحديث من طبقة البروكسي وانتقل إلى طبقة CDN والعميل.

بناء تخزينك المؤقت الخاص

إذا تعذّر استخدام التخزين المؤقت في البروكسي، يمكنك تحقيق المكسب نفسه داخل تطبيقك. وهذا فعّال جدًا في خطوط جمع البيانات:

شكلطلب شرطي قائم على ETag
Python — تخزين مؤقت بسيط للطلبات01import requests, json, hashlib, pathlib0203CACHE = pathlib.Path("onbellek"); CACHE.mkdir(exist_ok=True)0405def anahtar(url):06 return hashlib.sha1(url.encode()).hexdigest()0708def getir(url, session):09 dosya = CACHE / (anahtar(url) + ".json")10 basliklar = {}11 onceki = None12 if dosya.exists():13 onceki = json.loads(dosya.read_text(encoding="utf-8"))14 if onceki.get("etag"):15 basliklar["If-None-Match"] = onceki["etag"]1617 r = session.get(url, headers=basliklar, timeout=25)18 if r.status_code == 304 and onceki:19 return onceki["govde"] # trafik: birkaç yüz bayt2021 kayit = {"etag": r.headers.get("ETag"), "govde": r.text}22 dosya.write_text(json.dumps(kayit), encoding="utf-8")23 return r.text

هذه الطبقة البسيطة تمنعك من تنزيل الصفحات نادرة التغيّر مرارًا وتكرارًا. وفي الموارد المحاسَبة على أساس الـ GB مثل residential proxy ينعكس التوفير مباشرة على الفاتورة.

متى يكون التخزين المؤقت خطأً؟

التخزين المؤقت مناسب

  • صفحات المنتجات والفئات نادرة التغيّر.
  • البيانات المرجعية الثابتة.
  • الأعمال التي تسحب الصفحة نفسها أكثر من مرة في اليوم.
  • مرحلة التطوير والاختبار (يحافظ على الحصة).

التخزين المؤقت خطأ

  • تتبع الأسعار والمخزون في الزمن الحقيقي.
  • المحتوى المخصص.
  • الصفحات التي تتطلب جلسة.
  • أعمال SEO التي تتابع تغيّر الترتيب.
تنبيه

العمل ببيانات قديمة مخزّنة مؤقتًا قد يؤدي إلى نتائج أسوأ من عدم جمع البيانات إطلاقًا. وفي المجالات الحساسة للزمن مثل الأسعار والمخزون أبقِ مدة التخزين المؤقت قصيرة جدًا أو لا تستخدمه أصلًا.

الخلاصة

فقد التخزين المؤقت في البروكسي وظيفته بمعناه الكلاسيكي إلى حد كبير مع انتشار HTTPS؛ لأن البروكسي لا يرى المحتوى داخل نفق CONNECT. في المقابل ما يزال بناء المنطق نفسه في طبقة تطبيقك ممكنًا وبالغ القيمة. فالطلبات الشرطية القائمة على ETag تلغي حركة البيانات كلها تقريبًا في المحتوى نادر التغيّر. أما في البيانات الحساسة للزمن فينبغي تجنّب التخزين المؤقت. ولحساب الاستهلاك راجع مقالنا عن عرض النطاق يمكنك الاطّلاع.

الأسئلة الشائعة

01هل يستطيع البروكسي تخزين حركة HTTPS مؤقتًا؟

لا. ففي نفق CONNECT ينقل البروكسي بايتات مشفّرة ولا يرى المحتوى؛ وبالتالي لا يستطيع حفظه أيضًا. ولأن الويب صار كله تقريبًا HTTPS فقد فقد التخزين المؤقت الكلاسيكي في البروكسي صلاحيته إلى حد كبير.

02ما الفرق بين no-cache وno-store؟

تعني no-cache "احفظه لكن تحقّق منه قبل الاستخدام"؛ أما no-store فتعني "لا تحفظه إطلاقًا". وكثيرًا ما يُخلط بينهما رغم أنهما ينتجان سلوكين مختلفين.

03كم يوفّر رد 304 Not Modified؟

بما أن جسم الرد لا يُرسل إطلاقًا فلا يُنقل سوى بضع مئات من البايتات من الترويسات. وبالنسبة لصفحة بحجم 500 KB يعني ذلك النزول إلى جزء من ألف من حركة البيانات.

04هل ينبغي أن أبني تخزينًا مؤقتًا خاصًا بي؟

إذا كنت تسحب الصفحات نفسها مرارًا وتكرارًا فنعم بالتأكيد. وخصوصًا إذا كنت تستخدم residential proxy يُحاسب على أساس الـ GB، فإن التوفير ينعكس مباشرة على الفاتورة.

05هل يمكنني استخدام التخزين المؤقت في تتبع الأسعار؟

لا تستخدمه أو أبقِ المدة قصيرة جدًا. فبيانات الأسعار القديمة تؤدي إلى قرارات خاطئة وقد تكون أشد ضررًا من عدم جمع البيانات أصلًا.

المقالات والصفحات ذات الصلة

الخطوة التالية

عزّز بنية البروكسي لديك اليوم.

ابدأ خلال دقائق مع الباقات المدفوعة، أو جرّب أولاً قائمة البروكسي المجاني لدينا.

FREEPROXY.TR

إن كنت تبحث عن بروكسي مجاني فأنت في المكان الصحيح

منصة بروكسي شاملة تتيح لك عرض عناوين البروكسي المجانية المحدّثة، ومقارنة نوعَي بروكسي HTTP وSOCKS، وفحص اتصالات البروكسي بأدوات مجانية.