
في الآونة الأخيرة ، كانت هناك العديد من المقالات حول أوجه القصور في البرمجيات الحديثة ، في حين لا يحاول أحد تقديم حلولهم لتغيير الوضع. هذه المقالة هي الإجابة على بعض المقالات حول هذا الموضوع ، بالإضافة إلى أحلام حول متصفح مثالي. كيف يمكننا إعادة تصميم المتصفح وواجهة المستخدم وطرق التفاعل مع المواقع وتحسين البروتوكولات وتجربة المستخدم بشكل عام. إذا كان لديك أي ، حتى أكثر الأفكار جرأة حول هذا ، فأنا أقترح مناقشتها وربما وضع الأساس لإنشاء المتصفح المثالي. في نهاية المطاف ، سيتعين القيام بذلك عاجلاً أم آجلاً ، لأن الوضع في سوق المتصفح في الوقت الحالي ليس بهيجة على الإطلاق. وليست هناك مشكلة في أن المتصفحات الأخرى معقدة للغاية ويصعب اللحاق بها - يمكننا الذهاب بطريقتنا الخاصة ، وتنفيذ الأجزاء الضرورية فقط من المعايير ، وفي الوقت نفسه يمكننا تقديم ملحقاتنا غير القياسية. لا حاجة للجري وراء الآخرين ، دع الآخرين يركضون خلفنا. دع متصفحنا يتم إنشاؤه للناس ، وليس باسم المصالح التجارية لشركات اتحادات جيدة وغريبة ، والتي لم تكن ذات فائدة لفترة طويلة.

ماذا يجب أن يكون في متصفح مثالي؟
بحث
إذا قمت بإنشاء متصفح جديد ، فإن أول شيء يجب أن يكون هو البحث المحلي على كل شيء. من خلال علامات التبويب المفتوحة وذاكرة التخزين المؤقت والملفات التي تم تحميلها والكثير من المعلومات الوصفية في الداخل. يجب أن يكون البحث حسب الفهرس والعادي ، ويجب أن يكون المستخدم قادرًا على تحديد جميع الخيارات الممكنة ، بما في ذلك ترميزات المستندات (على سبيل المثال ، بحث جيد جدًا في Far).
ذات مرة ، وجدت في أحد المنتديات مفهومًا مثيرًا للاهتمام للخوارزمية. لم يكن هناك نقاش ، لذلك أغلقت علامة التبويب بسرعة ، ولكن المفهوم نفسه استقر في رأسي. بعد التفكير في الأمر في الخلفية ، قررت مشاركة أفكاري ... ولكن أين؟ نظرة سريعة على المنتديات التي كنت أعيش فيها عادةً - لم أجد شيئًا مثلها. محركات البحث لا شيء أيضًا ، لكن هذا ليس مفاجئًا - لم تتم فهرسة المنتديات على الفور. لقد بدأت بالتفتيش عبر سجل المتصفح - لم أجد أي شيء ، ولكن هذا ليس مفاجئًا ، نظرًا لأنه كبير الحجم ، فمن غير المريح استخدامه ، فقد فاتني شيء. لقد اكتشفت كل الصفحات تقريبًا - لم أجد شيئًا مثلها. لقد بدأت بالبحث عن رسائل في البريد ، في الرسائل ، حتى أسأل الناس - دون نتيجة. لقد بدأت بالفعل في التفكير في أنني كنت مسيطرًا على الزواحف ، المفاهيم الملهمة ، كيف قررت استخدام الأداة الأخيرة: البحث في ملفات ذاكرة التخزين المؤقت للمتصفح. وعلى الفور وجد المكان الذي كان يبحث عنه. اتضح أنه نظرًا لعدم إجابة أحد على موضوع المنتدى ، اعتقد المؤلف أنه كتب غباءًا ، وشعر بالخجل وحذف الموضوع ببساطة. وكنت أبحث عن هذا الموضوع البعيد لفترة طويلة ولم أتمكن من العثور عليه ، حتى أنهي نفسي.
مرة أخرى كنت بحاجة لتحديث ملف فيديو. كان الملف يسمى 1.mp4 (أعتقد أن العديد من هذه الملفات لديها الكثير). كانت ذات قيمة بالنسبة لي ، ولكن للأسف ، تبين أنها مكسورة. أين قمت بتنزيله؟ اضطررت لإعادة البحث عن تلك الكلمات الرئيسية الموجودة في الفيديو نفسه.
الجلسات
عند محاولة اكتشاف موضوع جديد ، يتم فتح عشرات علامات التبويب من تلقاء نفسها. رابط بعد ارتباط ولدينا قراءة لعدة أيام. علاوة على ذلك ، كل علامة تبويب شيء مهم يجب قراءته. ماذا نفعل؟ خاصة عندما يتراكم كل هذا أكثر فأكثر؟
يمكنك فقط إغلاق كل ما تراه والاعتماد على التاريخ ، كما يقولون في المستقبل ، إذا لزم الأمر ، سيتم العثور عليه. أو تفريغ جميع علامات التبويب في الإشارات المرجعية. أو حتى حفظ / طباعة الصفحات ليست مريحة للغاية ، ولكن لن يتم فقدان المعلومات الدقيقة الموجودة (ومع ذلك ، سيتم كتابة المعلومات حول حفظ المعلومات لاحقًا).
أو ربما حفظ الجلسة بأكملها كمشروع؟ أعطهم أسماء ذات معنى مثل "كنت أبحث عن نموذج لقارب" ، "تعلم البرمجة" وقم بتشغيل / إيقاف التشغيل حسب الحاجة؟ يحتوي كل متصفح الآن على ملف تعريف أو آلية جلسة ، ولكنه غالبًا ما يكون مخفيًا إلى حد ما ، مما يجعل من الصعب العثور عليه ، بل ويصعب استخدامه. ربما يكون المتصفح الوحيد الذي يتم فيه تطبيق هذه الآلية بشكل جيد هو متصفح Edge في أحدث إصداراته. مع جميع أوجه القصور في هذا المتصفح ، تم إنشاء هذه الآلية فيه بشكل مناسب قدر الإمكان وتسمح لك بعدم تجميع علامات التبويب ، ولكن من المناسب فرزها. بالطبع ، ليس هناك حد للكمال ، ولكن وجود هذا الخيار على الأقل أمر لا بد منه. والأفضل من ذلك ، أن تكون قادرًا على حفظ هذه الجلسات جنبًا إلى جنب مع ذاكرة التخزين المؤقت / محتوى الصفحات. ليس بالطريقة التي تفعلها المتصفحات الآن ، حيث تحفظ ذاكرة التخزين المؤقت في شكل ثنائي ، ولكن من أجل فتح 100 علامة تبويب حول موضوع جديد ، قم بحفظها في بعض التنسيقات المقروءة من قبل الأجهزة الأخرى (.html / .pdf) وتحميلها على هاتفك ، حيث يسهل قراءتها ، وربما بعيدة عن الحضارة.
الخصوصية
يجب على المستخدم تحديد المعلومات التي يرغب في مشاركتها مع الموقع. لا يجب أن أبحث عن مفاتيح وكيل المستخدم المختلفة ، يجب أن تكون هذه الوظيفة مضمنة في المتصفح نفسه. على سبيل المثال ، يعمل محرك بحث Google.com بشكل جيد إذا قدمت نفسك كروابط ، ولكن لا يظهر بحث فوري غير سار يأكل نص الإدخال.
أريد أن أكون قادرًا على:
* ضبط عرض الشاشة وارتفاعها (أي ، على الأقل 50000 × 50000 بكسل)
* عمق الألوان ، بغض النظر عن الإعدادات الحالية
* إضافة الموقع إلى موثوق به حتى لا تفسد ملفات تعريف الارتباط عند النقر فوق "مسح الكل"
* استبدل الخطوط على الصفحة ، مع تزويد الموقع بقائمة الخطوط التي يريدها
* تقديم وكيل مستخدم تعسفي ، ربما حتى عشوائي ، مأخوذ من ملف كبير من الخيارات أو مرتبط بموقع معين
* اختيار لغة المحتوى ومعرفة ما يتم نقله إلى الخادم ، وليس فقط "اللغة المفضلة" ، التي لا تزال غير معروفة ما الذي سيتم الكشف عنه
* عدد الرؤوس وتسلسلها ، بما في ذلك محاكاة الأخطاء المعروفة في المتصفحات الأخرى
وبشكل عام ، يجب تغيير كل شيء يمكن أن يكون بصمات الأصابع. أريد أن أحصل على هذه الفرصة.
الشيء المضحك هو أن المتصفحات القديمة لديها مجموعة من الإعدادات لهذا. على سبيل المثال ، لا يمكن للمتصفحات مثل الارتباطات و w3m و netsurf تعطيل المُحيل / وكيل المستخدم فحسب ، بل توفر أيضًا العديد من الخيارات المختلفة المثيرة للاهتمام حيث يمكنك ضبط سلوك المتصفح بدقة ، وكيف سيملأ هذه الحقول. في حين أن الإصدارات المستقبلية فقط من Firefox ستتعلم القيام بذلك ، وجزئيًا فقط ، دون منح حماية للمستخدم بنسبة 100٪ ، دون أي خيارات ، تحديد السلوك بدقة في ظل ظروف معينة فقط (ومع ذلك ، سنتحدث عن إعدادات وظروف الموقع).
السفن الطائرة
لفترة طويلة جدًا ، لم يدعم MSIE الوظيفة: ثابت ، تم توبيخه. وكما تظهر الممارسة ، من الجيد أنني لم أؤيدها. صحيح أن هذا لم يمنع الناس وقاموا بمحاكاة ذلك من خلال JS بقوائم القفز ، والتي نجت حتى يومنا هذا على ملايين المواقع.
اليوم ، يتم استخدام العناصر المتداخلة لكل شيء مفيد: نوافذ تسجيل الدخول بملء الشاشة التي تنبثق أثناء التصفح ولا يمكن إزالتها (facebook) ، المساعدين المنبثقة الذين يتبين أنهم روبوتات دردشة ، رسائل ملء الشاشة حول العروض الترويجية والهدايا ، كيف فزت بشيء ، أحيانًا ما يعرضون لي إعلانات (من تلقاء أنفسهم بدون إعلانات ، ولكن بدون زر إغلاق) ، ونوافذ منبثقة شفافة تمنعني من النقر على الصفحة (pornhub) ، والتأليه: يقولون لي إن عليّ تعطيل AdBlock ، وهو ما لا أملكه.
هل حاولت طباعة أي صفحة؟ ولكن غالبًا ما "أطبع" ملف PDF وأريد التغلب على أولئك الذين يقومون بعمل ملحقات منبثقة مثل "نستخدم ملفات تعريف الارتباط" أو "الأخبار العاجلة هنا" في مكان ما أعلى الشاشة أو أسفلها. حسنًا ، أو مجرد قائمة ثابتة في الأعلى وتذييل بسيط في الأسفل. لا ، حسنًا ، على الشاشة لا تزال لا تبدو شيئًا ، يمكنك تمرير الصفحة وقراءة ما تحظره بطريقة أو بأخرى. هل تعلم أن هذا الوحل مطبوع على كل صفحة؟ وطبع على رأس النص؟ وأنه لا يمكنك كشط الورقة ، على الرغم من أنها مطاردة ، لأن هذا الوحل يمنع جزءًا من المحتوى الذي لا يمكن قراءته بأي شكل من الأشكال؟ حتى الآن ، لا بد لي من كسر الأنماط أو حذف بعض القوائم المنفصلة من خلال مفتش العناصر / ublock ، فقط بعد ذلك يمكنني "طباعة" الصفحة. هذا مزعج إلى حد ما. ولكن إذا كانت هناك عناصر بسيطة يمكن التحكم فيها ، فلن يحدث هذا حتى!
ولكن داخل محرك المتصفح ، يمكنك اكتشاف متى يتداخل عنصر مع معلومات نصية و ... حسنًا ، على سبيل المثال ، قم بإزالته في مكان ما إلى الجانب. أو حتى كسر الأنماط ، معلنا أنها خطيرة. الكثير من الخيارات. يمكنك تقديم الصفحة كطبقات وإعطاء المستخدم بضعة أزرار "لقص" الطبقات العليا أو إعادتها ، كما حدث في بعض الألعاب أو المحررين ثلاثي الأبعاد - أريد هذه الوظيفة لسنوات!
إنه أمر مضحك ، ولكن بمجرد أن رفضت IE عرض علامة الوميض ، لكنها سمحت لـ JS بنقل نافذة المتصفح وجعل النوافذ المنبثقة غير المغلقة. اليوم ، حتى عرض النص في شريط الحالة أمر صعب بالفعل ، فمن الأسهل محاكاة ذلك. أقترح الآن أن أفعل شيئًا مع تداخل كتل النص ، فمن الممكن قطع هذه الوظيفة بطريقة أو بأخرى. وعليك قطع المزيد والمزيد من الميزات بحيث لا يمكن استخدامها على حسابها. نعم ، من أجل ذلك ، يمكنك كتابة متصفحك ، وإن كان ذلك دون مراعاة المعايير ، ولكنه ملائم لقراءة النص ، بالإضافة إلى البرمجة أقل.
لقطة الصفحة
يحدث أنه عندما تفتح صفحة بسيطة مع بعض النص ، في بعض الأحيان تنسى الأمر وتتركه معلقًا في علامات التبويب ، "لوقت لاحق" ، حتى لا تنسى. كقاعدة ، لا يوجد شيء خاص هناك. على سبيل المثال ، يخبرون كيفية زراعة الفراولة في البلاد ولا شيء على الإطلاق ينذر بالمشاكل.
بعد أن وصلت إلى الكمبيوتر بعد بضع ساعات ، لاحظت أن MOUSE CURSOR بالكاد يتحرك ، كل شيء في SWAP من المستحيل العمل على الكمبيوتر ، في رعب تفتح قائمة العمليات وتلعن (إذا كان يمكنك الانتظار حتى يتم رسم العملية). وهنا يتم إغلاق علامة التبويب فقط مع هذا الموقع البريء.
لتجنب ذلك ، كتبت ذات مرة مكونًا إضافيًا لمتصفح فايرفوكس ، بعد 5 ثوانٍ من تحميل الصفحة (حدث onload) ، استبدل setInterval / setTimeout / requestAnimationFrame بمكالمات فارغة لم تفعل شيئًا ، ولكنها فصلت المكالمات الحالية. في الأساس ، كنت سعيدًا. صحيح أن جميع أنواع العناصر التفاعلية ، مثل المفسدين المتكشفين ، توقفت أيضًا عن العمل ، نظرًا لعدم وجود المزيد من المؤقتات ، وأطلق فتح المفسد مؤقتًا للرسوم المتحركة. هل هذا سعر كبير؟ اضطررت إلى التخلي عن المكوّن الإضافي ، حيث لم أتمكن من إرجاع المعالجات لبعض الأحداث ، ولكن إذا كتبنا متصفحنا ، فلماذا لا؟
التنفيذ البديل: بعد 10 ثوانٍ من حدث onload ، نوقف JS بالكامل ، ونفرغ DOM ، ونترك فقط تلك الهياكل في الذاكرة اللازمة لعرض المستطيلات مع النص والجداول والصور. هذا كل شيء ، دع علامة تبويب الخلفية تكون مثل صورة تحتوي على نص ، لا شيء أكثر. بديل آخر: نعرض التخطيط بأكمله في عملية منفصلة ، ونحمل إحداثيات النص والصور فقط بعد التقديم ، كما كان في Opera Mini ، لذلك سيكون متصفحنا أكثر أمانًا.
الشيء الأكثر إثارة للاهتمام هو أنه يوجد بالفعل شيء مشابه في Opera الحديث ، ولكنه لا يعمل إلا عند التبديل إلى طاقة البطارية. أرغب دائمًا في الحصول على هذا الخيار للمواقع ، خاصةً المواقع التي أزورها لأول مرة. بشكل عام ، في أحشاء جميع المتصفحات الحديثة ، هناك العديد من الوظائف المفيدة ، ولكنها مشفرة ولا يمكن تكوينها من قبل المستخدم ، وهذا هو السبب في أن المتصفحات تفقد عمليا إمكانات هائلة.
تخزين المحتوى محليًا
أقول فكرة مليون دولار: تحميل الصفحة في 0ms. لا ، حتى إذا كان الموقع في ذاكرة التخزين المؤقت تمامًا ، فلن يتم فتحه حتى نرسل طلبًا ، وننتظر وقت الذهاب والعودة ، ونحلل الإجابة ، ونفعل الشيء نفسه مع جميع النصوص والأنماط المتبقية. وما الذي يمنعك من فتحه على الفور من ذاكرة التخزين المؤقت وفي الخلفية للتحقق من صحة المحتوى عن طريق إرسال الطلبات إلى جميع الموارد في الخلفية على الفور ، بينما في الخلفية ، باستخدام التخزين المؤقت المزدوج ، قم بتحديث البيانات في حالة حدوث تغييرات ، مثل إعادة رسم الصور وكتل النص فقط؟ قل ما كان بالفعل في IE وكان يسمى "العمل دون اتصال"؟ نعم ، لا يزال IE يحتوي على الكثير من الوظائف الرائعة والمثيرة للاهتمام ، ولكن أولاً ، لم تعمل هذه الوظيفة دائمًا ، وثانيًا ، لن نتمكن من تحديث الصفحة ، وفي حالتي ، سيتم إعادة رسم الصفحة تلقائيًا عند التحقق من صحتها.
لسوء الحظ ، على شبكة الإنترنت الحديثة ، لا يعمل التخزين المؤقت بشكل سيء فقط ، بل بالأحرى لا يعمل على الإطلاق. ولكن ما الذي يمنع الصفحات من حفظها على القرص؟ سيسمح هذا ليس فقط بفتح الموقع في حالة وفاته ، لحفظ بعض المحتويات المفيدة ، ولكن أيضًا لمراقبة ديناميكيات التغييرات في أسعار السلع أو على سبيل المثال ، للقبض على المحاورين أنهم قاموا بتغيير مشاركاتهم. بالطبع ، يمكنك حفظ الصفحات على القرص يدويًا ... ولكن كقاعدة عامة ، تتذكر هذا فقط عندما تحتاج إلى العودة إلى بعض الإصدارات القديمة ، ولكن لا يوجد شيء ، ولا يوجد أمل كبير في أرشيف الويب. في بعض الأحيان ، يمكنك التقاط محتوى من محركات البحث ، ولكنه لا يعمل دائمًا ، خاصة إذا لم تفعل ذلك على الفور. سيكون هذا مفيدًا بشكل خاص في الحالات التي يتم فيها تقسيم المحتوى بسهولة إلى عناصر مُدارة منفصلة ، ولكن المزيد عن ذلك لاحقًا.
بالطبع ، يجب أن يكون التخزين المؤقت في شكل اختلافات تدريجية (وإلا فلن يكون هناك مساحة كافية لكل شيء) ، مع التحليل الفكري للمعلومات غير المعروضة (لا توجد حاجة لتخزين الكود المتغير للعدادات) ، مع تمييز التغييرات ، مع اختيار الإصدارات القديمة مباشرة من شريط العناوين. يمكنك تخزين الصفحات التي تم تحليلها بالفعل كمجموعة من المستطيلات وإحداثياتها على الشاشة ، وبهذه الطريقة يمكنك تسريع العرض ، ويمكن تصغير الصور وتخزينها بتنسيق h265 ، وهو أفضل بكثير من صور jpeg - نحن نوفر مساحة. وإذا كنا قد بذلنا بالفعل الكثير من الجهد على ذاكرة التخزين المؤقت الإجباري ونبذه ، فلماذا لا نشاركه مع شخص آخر؟ واجهة المستخدم هي الشيء الرئيسي. لا يجب أن تكون الميزة فقط ، ولكن يجب أن تكون ملائمة للاستخدام: فتح إصدارات مختلفة من الصفحة ، وحذف أو حفظ إصدارات الصفحات ، والإعلان عنها كذاكرة تخزين مؤقت عامة ، وتحديد مجموعة من الصفحات وإلغاء تحميل النسخ المحلية من الموقع (الصفحات التي تمت زيارتها) ، افعل شيئًا مثل mht / pdf مع روابط العمل بحيث يمكن فتحها على الأجهزة الأخرى ، وليس فقط استقروا في مكان ما في المستودعات الداخلية للمتصفح ، كما يحدث في بعض متصفحات الجوال.
لتسريع تحميل الصفحة وحماية نفسك من عمليات حقن التعليمات البرمجية غير المتوقعة ، يمكن تحميل البرامج النصية المختلفة ، مثل jquery وما شابه ، المخزنة على شبكات CDN مختلفة ، مباشرة من القرص المحلي ، كما يفعل ملحق Decentraleyes. سيتم تنزيل الخطوط وحزم الرموز بشكل فوري. تعرف على المزيد حول ما هو موجود بالفعل:
addons.mozilla.org/en-US/firefox/addon/decentraleyes . بالطبع ، سيكون من الجميل إجراء عمليات حقن لشفرتك ، عن طريق القياس مع browser.js (ليس فقط بأيدي المؤلفين) أو Grease Monkey (فقط بدون أحصنة طروادة) ، بحيث يمكنك تغيير / إصلاح رمز المواقع. لا ، ليس العكازات على شكل مكون إضافي ، ولكن الدعم الأصلي ، والذي لن يتباطأ ، كما كان في الأوبرا. ولكن للأسف ، لا توجد الآن أدوات مناسبة لتصحيح رمز الموقع. ريتشارد ستولمان يطلق على مواقع "tivoizatsii" هذه ، ولكن سيتم كتابتها في القسم الخاص بتوقيعات الرمز.
نضيف هنا بعض ملفات sitemap.xml الافتراضية ، التي تحدد تقارب المقالات ، وصفحات التخزين المؤقت الاستباقي ، ورابطًا إلى متتبع لتبادل محتوى p2p ... ونحصل على موقع نسخ ذاتي يمكن حفظه واستخدامه محليًا ، والذي سيتحمل أي تحميل ولن يموت محتواه أبدا. ومع ذلك ، سنتحدث عن هذا ، وكذلك عن المواقع الموزعة.
توقيع الرمز
الكثير منا لا يفكر ، ولكن يمكن لأشخاص مختلفين تنفيذ التعليمات البرمجية في المتصفح ، مكتوبة تحت مختلف ، بما في ذلك التراخيص غير المجانية. وليس حقيقة أن المستخدم يوافق على هذه التراخيص. إنه مثل ممارسة الجنس دون موافقة مسبقة. من حيث المبدأ ، في معظم الحالات ، لن يحدث شيء سيئ ، ولكن قد تكون هناك فروق دقيقة. كتب ريتشارد ستولمان مقالًا ممتازًا بعنوان "Javascript Trap" ، بناءً على ذلك تم كتابة امتداد LibreJS:
en.wikipedia.org/wiki/GNU_LibreJS - هذا ما يجب أن يكون نقطة البداية في تفسير جافا سكريبت في متصفحنا!
إذا كان مؤشر الترخيص جزءًا من المعيار ، فستكون الحياة أسهل قليلاً ، ولكنها ليست كذلك. إذا قام مؤلفو الشفرة بتوقيعها بمفتاحهم العام ، فيمكنني على الأقل أن أثق في مؤلفين مختلفين ، ولكن لا يوجد ذلك أيضًا. كل ما تبقى هو تجزئة النصوص ، بما في ذلك أصغرها مخيطًا في الصفحة واطلب من المستخدم "السماح بذلك؟" لتشغيل كل منها ، والحفاظ على قاعدة بيانات للنصوص المسموح بها أو الممنوعة. شيء مثل مكافحة الفيروسات. ابحث أيضًا عن "فيروس" عن طريق التوقيعات ، ولكن بدلاً من محلل تجريبي - يشير إلى ترخيص وأسئلة للمستخدم. استنادًا إلى مثل هذه التجزئة ، لا يمكنك فقط حماية نفسك من التعليمات البرمجية الضارة ، ولكن أيضًا إنشاء نظام إصدار. إنشاء بنية أساسية حيث سيتم تشغيل الرمز الذي تثق به فقط! بعد كل شيء ، هل سئمت من محاربة النصوص البرمجية التي تقلب النص وتطلب منك تعطيل Adblock؟ كنت أعطلها ، ولكن ليس لدي Adblock ، ولا أثق في أنهم لن يطلبوا مني التبرع أو الاشتراك في عملية احتيال غدًا.
إذا لم تكن على دراية بالعمل الرائع لريتشارد ستولمن ، فإنني أوصي بقراءة:
www.gnu.org/philosophy/javascript-trap.ru.html (بالروسية).
تصنيف الموقع / مكافحة التصنيف
حاولت بعض المتصفحات ، مثل Opera ، لسبب ما إصلاح كل موقع بأيديهم ، مما يجعل التصحيحات عن طريق حقن رمز مخصص.
وبمجرد أن سئموا منها ، نعرف جميعًا النتيجة. على الرغم من أنهم فخورون بشكل مبرر بإنجازاتهم ، والتي تم تأكيدها في مختلف puzomerki ، أداء اختبارات الامتثال للمعيار.ولكن يمكن للمرء أن يذهب في الاتجاه الآخر: بدلاً من تصحيح شيء ما ، كتابة بريد إلكتروني لشخص ما ، باستخدام الاتصالات الشخصية وكل ذلك ، يمكن للمرء عرض نص التصحيح مباشرة أعلى الصفحة مع الكلمات "مؤلف هذا الموقع لا يلتزم بالمعيار ، ما يلي التعليمات البرمجية يمكن أن تصلح هذا الموقع. " رعشة تحدي IE فقط؟ لا مضاهاة ، بدلاً من ذلك منبثقة حمراء كبيرة حول مدى ملاءمة المؤلف (بالطبع ، دون حظر المحتوى). سيتجاهل العديد من المستخدمين هذا بالطبع ، ولكن يمكن لأي شخص أن يسأل مؤلفي الموقع السؤال: "لماذا يوجد الكثير من اللون الأحمر هنا؟" وسيخبر أصحاب الموقع كيف وفروا المال على المبرمجين. أو أخبر العميل أنه سيكون من الضروري وضع "Google Khroma العادي" ، والذي من المرجح أن يتركه العميل. إذا كان مثل هذا الموقع يعرض شيئًا مثل "location.href = 'http://google.com/" ،تعال إلينا مرة أخرى "- هذا أفضل ، لا تعبث مع هؤلاء الناس.يمكنك الذهاب إلى أبعد من ذلك: يتم عرض الصورة على الصفحة بحجم 100 × 100 ، ولكن في الواقع 500 × 500؟ رسالة منبثقة حمراء تحتوي على رسالة مفادها أن المؤلف غير قادر على تغيير حجم الصور. صورة ذات رسومات واقعية تنكمش في PNG؟ نافذة منبثقة حمراء لا يفهم المؤلف تنسيقات الملفات. الصفحة لا تحتوي على رابط للصفحة الرئيسية؟ نافذة منبثقة حمراء تحتوي على رسالة مفادها أن مؤلف الموقع لم يقم بالتنقل العادي.بالطبع ، لا يمكن دائمًا عرض النوافذ المنبثقة الحمراء. على سبيل المثال ، إذا كان من الممكن تحسين صورة PNG بشكل أفضل من خلال optipng ، فعندئذٍ يمكنك فقط عرض القليل من التحذير الأحمر ، كما تستنتج أدوات حظر الإعلانات. تقوم محسنات CDN المختلفة بفعل شيء مشابه بالفعل ، والذي يضغط الصور ويقلل الشفرة ، وحتى يحاول تصفية حقن SQL عند الإدخال. لكن كل هذا الفرح سيكون فقط إذا قام المؤلف بدفع المال وربط الخدمات المقابلة ، وماذا يجب على المستخدم البسيط أن يفعل؟ ويمكن لمستخدم بسيط أن يرفض ببساطة استخدام موقع منخفض الجودة ، ويجب أن يساعده متصفحه في ذلك.بالفعل ، يمكن اعتبار تقرير أداة حظر الإعلانات ، الذي يعرض أرقامًا رقمية ، نوعًا من مواقع مكافحة التصنيف. كلما كان التقييم أكثر مقاومة ، كلما كان على الموقع والكاتب أن يفعلوا شيئًا حيال ذلك. بالنسبة لبعض القيم ، يمكنك ببساطة عرض التحذيرات التي قد تكون زيارة هذا الموقع غير مرغوب فيها. علاوة على ذلك ، أعتقد أن المتصفح يجب أن يشارك النتائج التي توصل إليها مع المجتمع. يمكنك إنشاء تصنيف عالمي لكل موقع ، والتشبث بالأرقام المرغوبة لكل رابط ، حتى لا تذهب بطريق الخطأ إلى مكان ما حيث ينتظر المستخدم "تجربة سيئة". بالطبع ، لا يمكن أتمتة كل شيء. لذلك ، يمكنك إنشاء العديد من التقييمات ، والتي سيقود البعض منها الأحياء ، والتحقق يدويًا من الرمز ، والتحقق من تراخيصهم وجودة الرمز ، وجودة الموقع ككل. بالطبع ، يجب أن تكون الآلية لا مركزية ولا يسيطر عليها أفراد معينون.اسمح للمستخدم بتحديد الاشتراك الذي سيتم الاشتراك فيه.إعدادات الموقع الفردية
يجب أن يكون لكل موقع أو مجموعة مواقع إعدادات فردية خاصة به ، تشبه كيفية تكوينه في Opera القديم (حتى 12 إصدارًا شاملاً). يمكن تحسين هذه الآلية فقط.أولاً ، حدد المواقع ليس فقط من خلال المجال أو النطاق الفرعي ، ولكن أيضًا من خلال التعبير العادي في المجال. أو عن طريق عنوان IP المستلم لهذا المجال. على سبيل المثال ، لا أريد تنفيذ نصوص برمجية على مواقع / موارد من Yandex (انظر الأسباب أدناه) ، ويمكنني العثور على قوائم كتل عناوين IP التي تمتلكها Yandex وإيقاف تنفيذ التعليمات البرمجية غير الموثوق بها برفق. إنه بسيط وسهل. ولكن في الوقت الحالي ، أجد نفسي مضطرًا لحظر المجالات الفردية (لا أعرفها كلها!) ، أو إدخال جميع نطاقات العناوين في جدار حماية ، وهو أمر غير مريح للغاية ، أو رفع خادم DNS الخاص بي بعناوين قناع yandex * ، الذي تفعل في الوقت الراهن.ثانيًا ، حتى لا تنتج كيانًا ، يمكنك إنشاء ملفات تعريف أساسية ، مثل "موقع موثوق به" و "موقع عادي" و "موقع سيئ" و "مواقع من Vasyan" و "لـ Aliexpress" وتعيين إعداداتك لهذا الموقع أو ذاك . واعتمادًا على الملف الشخصي ، سيتم إرسال وكيل المستخدم الخاص به ، وتسلسل ومحتويات الرؤوس ، ودعم أو تحميل الأنماط والخطوط والنصوص وكل شيء آخر يمكن تكوينه أو دعمه. حتى لتحديد ما إذا كان من الممكن اعتراض النقر بزر الماوس الأيمن ، بأي دقة لبدء المؤقتات أو ما إذا كنت تريد تشغيل الرسوم المتحركة والأصوات (لسبب غير معروف ، يظهر طلب MIDI على AliExpress). يمكنك أيضًا توفير الإعدادات التي تتغير بشكل عشوائي ، مثل قيم وكيل المستخدم العشوائية من قائمة كبيرة أو وكيل تعسفي لموقع معين (المزيد عن هذا لاحقًا).انسخ والصق
يبدو أن ما يمكن أن يكون الوظيفة الأساسية في البرامج التي تعرض النص؟ العمل مع اختيار النص / نسخ / لصق بالطبع!للأسف ، حتى مع وجود مشاكل اختيار بسيطة تبدأ بالفعل. هل حاولت تسليط الضوء على الرابط؟ في المتصفح ، في البريد ، في الدردشة؟ وكيف هي؟ في مكان ما ، يبدأ الرابط في السحب ، في مكان ما تنقر عليه ، حتى إذا لم تقم بتحرير الزر ، وفي مكان ما تحتاج إلى التصويب على الفجوة المليمترية لتتمكن من تحديده. اختيار الصور هو يانصيب منفصل ، وأحيانًا لا يمكن القيام بذلك على الإطلاق ، إلا بالضغط على تركيبة القراصنة السرية CTRL + A. خطوة إلى اليمين واليسار - وقد اخترنا الصفحة بأكملها ، وليس الفقرة التي استهدفناها.أو قد لا يبرز النص على الإطلاق ، مما يخلق وهم زر الماوس المكسور. حتى لو استهدفنا وتمكننا من تحديد النص ، فليس من الحقيقة أنه عند النقر بزر الماوس الأيمن لن نحصل على تحذير رائع مثل "نص هذه الصفحة محمي بشكل رائع". أو لن يظهر شيء على الإطلاق ، حيث تعلمت المتصفحات كسر هذه البرامج النصية تلقائيًا. أو لن يتم إرسال طلب إرسال تقرير عن خطأ مطبعي على الصفحة. أثناء قراءة النص ، غالبًا ما أقوم باختياره بالماوس لسهولة الإدراك ، ومثل هذا الوحل يثير حنقني بشكل لا يصدق.الإدراج أسوأ من ذلك. هل سيتم حفظ التنسيق أم لا؟ في بعض الأحيان يعتمد الأمر على ما إذا كنت تستخدم مفتاح اختصار أو تستخدم "عجلة" - سلوك مختلف ، لإجراء واحد على ما يبدو. هل ستكون هناك فجوات في ما يتم إدراجه في تطبيقات الطرف الثالث إذا لم تكن هناك مسافات بين الكتل؟ وأحيانًا لن تتخلص من التنسيق: تقوم بلصق النص المنسوخ داخل الصفحة ، على سبيل المثال ، داخل الحرف المكتوب ، وتصبح الفقرة المكتوبة فجأة غامقة و / أو تتحول إلى اقتباس.آخر صيحات الموضة: استبدل محتويات الحافظة. لقد نسخت النص عن القطط ، وقمت بلصقه على مضض في الدردشة و ... قاموا بتجريف الحظر ، لأنه مع النص المطلوب ، تم إدراج إعلان للمورد ، حيث تم نسخه. بالطبع ، يجب أن تكون حذرًا ودقيقًا ، وأن تشاهد ماذا وأين ترسل ... ولكن من ناحية أخرى ، لماذا تسمح أدواتي لعرض النص لأنفسهم بالتصرف بهذه الطريقة؟التخزين الموزع
يعد التخزين المؤقت المحلي للمحتوى الذي تحدثنا عنه سابقًا جزءًا فقط من احتياجات مستخدم الويب الحديث. الجزء الثاني المهم من المشكلة هو التخزين المؤقت للمحتوى على الخادم ، في الطريق إلى العميل على شبكات CDN مختلفة وما شابه ذلك. في الواقع ، قد تواجه المواقع الصغيرة حقيقة أن الأمر يتطلب الكثير من حركة المرور لتقديم ملفات ثابتة بشكل أساسي. في كل مكان. وليس لديهم أي خيار فعليًا سوى إطعام CloudFlare الخبيث بحيث يوفر ذاكرة التخزين المؤقت الموزعة.CloudFlare نفسها لديها تكنولوجيا RailGun مثيرة للاهتمام: www.cloudflare.com/website-optimization/railgun- هذا عكاز رائع يسمح لك بتخزين ذاكرة التخزين المؤقت غير القابلة للتخزين المؤقت ، والتي لا تساعد فقط في تخزين الإصدارات القديمة من الصفحات ، ولكن أيضًا تجعل الاختلافات معهم وإرسال الاختلاف المعاد بناؤه بالفعل من خوادمهم. وبالتالي ، اتضح أنه يمكنك تحديث الصفحة بحزمة بيانات واحدة فقط من 400 بايت (الرقم مأخوذ من الوصف) ، ويمكن للخادم الأصلي أن يستضيف حتى على الهاتف (في الواقع ، هذا ليس كذلك). ولكن لمثل هذا الشيء عليك أن تدفع ، من 200 دولار شهريًا ، وهو مبلغ كبير جدًا للمواقع الصغيرة.أوه ، وإذا كان من الممكن تقسيم المحتوى إلى عناصر صغيرة يمكن إدارتها ... ولكن نعم ، المزيد عن ذلك لاحقًا. في حين أن هناك عكازات مثل فرق و cloudflare مع Railgun.لكن نظام ملفات IPFS المقسم موجود بالفعل. وهناك ZeroNet ، التي تتيح لك الآن ، خارج الصندوق ، استضافة مواقع الويب بطريقة موزعة. يمكنك محاولة تنزيل العميل والنظر في هذه الشبكة غير العادية ، والتي لا تحتاج إلى خوادم!ومع ذلك ، لا يوجد شيء جديد هنا. منذ حوالي 15 عامًا ، كان لدى مواقع الويب الشهيرة عميل سطح مكتب خاص بها (وأحيانًا أكثر من واحد) وقليلًا من توزيع سيل في المجموعة لذلك. واليوم توجد بشكل أو بآخر ، على سبيل المثال ، تطبيق WikiTaxi ، الذي يسمح لك بإبقاء ويكيبيديا في جيبك. وأتذكر أيضًا شيء مثل AportExpress ، حيث كان هناك محرك قالب كامل وقوالب Aport الأصلية من الخادم ، والتي جمعت صفحات على العميل.الشبكات المحسنة
هل يمكنك أن تتخيل أنه في بعض الأحيان يدخل الأشخاص إلى الشبكة من خلال أجهزة مودم GSM مختلفة ، حيث يتم قطع السرعة المنخفضة بالفعل بسبب ظروف استقبال الإشارة السيئة / شروط العقد السيئة؟ وهناك مواقع مثل imgur.com/a/XJmb7 حيث توجد أشياء جميلة جدًا ، لكن وزن الصفحة نفسها ، بما في ذلك جميع الرسومات ، يتجاوز عشرات الميغابايتات. المشكلة الوحيدة هي أنه لا يمكن عرض هذه الصفحات بمثل هذا الاتصال.اليوم ، يحاول المتصفح تحميل جميع الصور في نفس الوقت ، مما يبطئ تحميل كل منها (لهذا لا يزالون يقومون بعمل مجموعة من المجالات الفرعية لتجاوز الحدود على عدد الاتصالات). بعد مرور بعض الوقت ، يحدث انتهاء المهلة ويقوم الخادم ببساطة بإغلاق الاتصال ، ويترك لنا صورًا مكسورة ، وهي جيدة إذا كانت مفتوحة على الإطلاق. إذا ضغطت على F5 ، فحينئذٍ سيكون هناك رسم (لإلغاء التنزيل وعرض ما تم تحميله بالفعل) ، ثم سيتم التنزيل من البداية ، دون استئناف الصور الفردية. وكثيراً ما لاحظت أن المتصفح "يقوم بتنزيل" الصفحة أو الملف أولاً بسرعة 50 كيلو بايت / ثانية ، ثم بسرعة 20 كيلو بايت / ثانية ، ثم 3 كيلو بايت / ثانية؟ هذا يعني أن سرعة التنزيل الحقيقية لسبب ما أصبحت تساوي 0 بايت / ثانية ، وقطع الاتصال والبدء مرة أخرى محفوف بصعوبات كبيرة ،حتى إذا كان من الممكن تنزيل الملف تقنيًا.ولكن يمكن لخادم الويب إنشاء ملفات سيل للإحصاءات وتوزيعها في الوضع التلقائي ، مما سيسمح بتنزيل الملفات وإزالة الحمل من قناة الشبكة! في جوهره ، يعد ملف التورنت مجرد قائمة من الاختبارية التي تسمح لك بتنزيل ملف من موقع عشوائي والتحقق من صحة التنزيل. وبالتالي ، يمكن بسهولة تفريغ حتى الصور غير المكتملة ، حتى مع المحاولة الخامسة ، لحل مشكلة الإصدار والتحقق من ذاكرة التخزين المؤقت بدقة.ونظرًا لأننا نعطي العميل بيانات وصفية حول الملفات ، يمكننا تصميم الصفحة بأكملها على أنها "توزيع واحد كبير" في شكل حزمة بيانات واحدة ، والتي سيتم من خلالها عرض معلومات حول الصفحة بالإضافة إلى ملفات الصور والأنماط والصفحات المرتبطة وغيرها المراجع (بما في ذلك "التوزيعات" الأخرى) ، وهي نوع من خرائط المواقع الثنائية الصغيرة. سيسمح لك هذا بالتخزين المؤقت / التخزين المؤقت للمواقع بشكل أفضل ، وتحميل جميع الموارد بشكل أسرع ، دون انتظار تحميل الصفحة أو النصوص البرمجية بالكامل ، وحتى تحسين المواقع للأشخاص ذوي الإعاقة من خلال تقديم التنقل المتقدم للصفحة. أو لا تقم بتنزيل أي عناصر مرة واحدة ، على سبيل المثال ، رموز Apple على نصف الشاشة أو الكثير من مقاطع الفيديو.لسوء الحظ ، يحاول المطورون الحديثون التعامل مع هذه المشاكل بطريقتهم الخاصة ، دون توفير الإعدادات وتنفيذ كل هذا بأيديهم ، أي "كيف ستسير الامور." على سبيل المثال ، تحميل الصور / مقاطع الفيديو من خلال مجموعة من JS ، والعديد من المجالات ومعالجة التمرير للصفحة ، وهذا هو السبب في أنه لم يعد من الممكن التمرير السريع للصفحة إلى "الصفحة العاشرة" ، الأمر الذي يثير حفيزي كثيرًا. لحسن الحظ ، بدأ بعض البائعين الرئيسيين مثل Xiaomi في محاربة هذا ، وسألوا في كل مرة ، "هل تريد تشغيل الفيديو؟ قد يتم فرض رسوم إضافية على ذلك! "، ولكن حتى الآن من المستحيل إعداد حظر تلقائي على مثل هذه العار ، ولا تزال هناك طرق عديدة للتغلب على المطور.إذا كنا قد تطرقنا بالفعل إلى المواقع التي لا نهاية لها مع التمرير اللانهائي ، فإننا نود أن نلاحظ: لا يوجد شيء يمنع المستخدم من عرض الهيكل العظمي الفارغ للتغذية العملاقة بأكملها حتى يتمكن من التنقل بسهولة وتحميل المحتوى ديناميكيًا. لكن لا أحد يفعل ذلك.تنزيل المواقع
لنفترض أنني وجدت موقعًا يحتوي على أدلة زراعة الفراولة. أعجبت ، وتحمست للفكرة ، وذهبت إلى الكوخ و ... وبعد أن واجهت مشاكل ، أدركت أنني اضطررت إلى تحويل كل صفحة إلى PDF ، وبعد ذلك فقط انتقل إلى الكوخ. لماذا بصيغة pdf؟ نعم ، لأن الصفحات الحديثة لا تريد حتى حفظها بشكل صحيح بالمناسبة ، وما تبقى ليتم عرضه عند فتح HTML المحلي وأين تفرز ملفات تعريف الارتباط يمكن تخمينها فقط.
ولكن في الأيام الخوالي ، كان بإمكاني أن آخذ Teleport Pro وأضخ الموقع بالكامل بالفراولة ، وأصبه على هاتفي وأذهب بهدوء إلى المنزل الريفي! سيتم ضخ جميع الصور ، وسيتم ربط جميع الروابط ، وسيعمل كل شيء تقريبًا. حتى أن هناك مواقع بها مواقع تم تحميلها بالفعل - وهو أمر لا غنى عنه للتعلم في تلك السنوات ، بالإضافة إلى محركات البحث على JS التي عملت بشكل صحيح في المتصفح!
ولكن ماذا سيحدث اليوم إذا حاولت القيام بذلك؟ أنا في انتظار اكتشاف أن صفحات المواقع الحديثة ديناميكية ، تحتوي كل صفحة على آلاف عناوين URL ويمكنني تنزيل ثلاث صفحات بسهولة 10000 مرة ، وربطها بعناية ، وعندما أتصفح الصفحة المطلوبة ، لن أحصل عليها إذا تم تنزيلها (من خلال مسار 50 رابطًا ، والذي يجب أن أذهب إليه تمامًا كما فعل الكرسي الهزاز).
وإذا كنت تريد حقا؟ في هذه الحالة ، نأخذ محلل الموقع ونكتبه اليوم ، ونختار المحتوى (عن طريق النظامي أو xpath) ، وبطريقة ما نعيد ربطه باستخدام البرامج النصية محلية الصنع ، ونرفق فهرسًا من القرف والعصي ، وربما حتى محرك بحث بسيط. كل هذا يستغرق من يوم واحد حتى تشعر بالملل. يمكنك فقط حفظ النص في Word وقسم في حقيقة أن كل شيء يتم إدراجه باللون الأحمر Impact ويذهب الترميز إلى حد أنه من المستحيل النظر إليه. يمكنك تشغيل مسجل الفيديو والتمرير عبر الصفحات - وهو خيار أقل تكلفة في الوقت المناسب ، على الرغم من أن هذا السجل سيثقل كثيرًا ، ولكن في عصرنا هذا لا يثير القلق كثيرًا.
عند هذه النقطة ، يجب أن أكتب أنه في متصفح مثالي ، أحتاج إلى وظيفة ضخ المواقع ، حتى أتمكن لاحقًا من نقل المحتوى بسهولة إلى الهاتف أو أي جهاز مستقل آخر *. ولكن مع مراعاة ما سبق ، للأسف ، هذا مستحيل. ولكن إذا تم تقسيم المحتوى الخاص بنا إلى عناصر صغيرة يمكن إدارتها ... لكن للأسف. لذلك ، يجب أن يكون المتصفح الحديث ، بالإضافة إلى كل ما سبق ، قادرًا ليس فقط على تحليل هذه العناصر نفسها ، ولكن أيضًا تخزينها في قاعدة بيانات محلية وإصدار وأن يكون نوعًا من نظام إدارة المحتوى الصغير.
ولا تعتقد أن المواقع الحديثة ، من حيث المبدأ ، لا يمكن تفريغها. على العكس من ذلك ، يأتي static في الموضة مرة أخرى ، حتى أن هناك مشاريع مثيرة للاهتمام وشائعة مثل
github.com/jekyll/jekyll لتوليد الإحصائيات. فلماذا لا توزع "مصدر" الموقع؟
إخلاء المسؤولية: يستخدم Teleport Pro هنا فقط كأكثر البرامج المعروفة لضخ المواقع ، وهو ليس إعلانًا أو حنينًا أبدًا ، وأنا شخصياً لم يعجبني ذلك بسبب مجموعة من الملفات المؤقتة وعدم القدرة على تحليل جافا سكريبت بشكل صحيح. كان اختياري هو الروك الآخرين ، غير المعروفين على نطاق واسع ، مثل webzip ، الذي على الرغم من أنهم احتاجوا إلى مجموعة من الموارد ، أدرجوا الإعلانات في الصفحات ، لكنهم ضخوا المحتوى بشكل صحيح وكامل.
محتوى الوسائط
مثل العناصر المدارة الصغيرة التي تتحول إلى مترابط لا يمكن السيطرة عليه ، يقوم مؤلفو الموقع بعمل أدوات بدائية لعرض محتوى الوسائط. ببساطة ، يحاول كل موقع عرض فيديو من خلال مشغل الويب الفريد الخاص به. الفريد هناك ، بالطبع ، هو الشعار ومواطن الخلل.
لا ، ذات مرة كنت أفتخر أيضًا بإمكاني كتابة مشغل ويب رائع على ومضة ، وسأفعل ذلك في 20 سطرًا فقط! أنا رائع ، يمكنني فعل أي شيء! مع تقدم العمر ، بدأت أطرح الأسئلة:
1. كيف تحريف السطوع / التباين في ذلك؟ والتطبيع الديناميكي؟
2. كيف يمكن التبديل إلى وضع ملء الشاشة؟ وإذا لم يكن هناك زر ، لأنهم نسوا رسمه؟
3. كيف تسرع محاضرة مملة بـ 3 ساعات؟
4. كيف تحريف التعادل؟ بالكاد يكون المحاضرون مسموعين ، حتى إذا قمت بفك مكبرات الصوت
5. كيف أقطع هذه القطعة وأرسلها إلى صديق؟
6. كيف أعود بسرعة ، لبضع ثوان ، دون توجيه الماوس إلى شريط صغير؟
7. كيفية جعلها تعطي أكثر من 15 إطارا في الثانية؟
يحاول بعض البائعين بالفعل حل هذه المشكلة. تكمن المشكلة في شكل منتجات بدائية محلية الصنع ذات ميزات أساسية. على سبيل المثال ، في Opera يمكنك "تقشير" المشغل من الصفحة وإدارته بشكل منفصل. هناك youtube-dl ، الذي يسمح لك ليس فقط بتنزيل مقاطع الفيديو من مجموعة من الخدمات ، ولكن أيضًا الحصول على رابط بحيث يمكنك وضعه في مشغل عادي ، على الأقل في VLC. هناك أيضًا StreamLink و MPV ، جربها ، بالتأكيد ستحبها أكثر من اللاعبين العاديين.
ولكن يمكننا المضي قدمًا بتطبيق جميع المبادئ المذكورة أعلاه على الوسائط المتعددة. إذا كان هناك شيء يريد فقده ، فإننا نطلب من المستخدم ، ثم ننزله ، ونخزنه مؤقتًا محليًا ، ونفك تشفيره وعرضه - تمامًا مثل أي متصفح آخر. ولكن نظرًا لأننا نتفهم أن المتصفح ليس تطبيق وسائط متعددة ولا يمكنه تلبية جميع الطلبات ، فيمكننا عرض زر قريب يعمل على تشغيل مشغل عادي بالمحتوى المعروض. دعونا نثق بالمهنيين والمعجبين الذين قضوا ساعات طويلة من حياتهم في هذا. الأشخاص الذين يعيشون الموسيقى أو الفيديو ، وليسوا مجبرين على إرفاق مشغل بالموقع مقابل 20 دولارًا في الساعة.
حتى لا ينقطع الاتصال بمصدر الفيديو ولا يتم تنزيل الفيديو مرة أخرى ، يمكننا فتح خادم وكيل محلي ، كما يفعل عملاء التورنت ، مع إعادة حزم دفق الفيديو على الطاير ، والذي نستخدمه لتوزيع الفيديو على تطبيق خارجي ، وعندما يصل الطلب - جزء من ذاكرة التخزين المؤقت ، وجزء آخر سيتم تغذيته في الوقت الحقيقي ، وفقًا لطلبات التطبيق وقدرات الموقع. وبالمثل ، يمكن حفظ أي فيديو / صوت بسهولة كملف ، حتى لو كان في الأصل بثًا مباشرًا أو نصوصًا وملفات مصدر وسائط تم إنشاؤها ديناميكيًا على هذا النحو لم تكن موجودة حتى. ولا تحتاج إلى البحث عن روابط مباشرة في مكان ما في أحضان الصفحات ، أو مكافحة عمليات إعادة التوجيه أو تضمين المدفعية الثقيلة في شكل تسجيل فيديو من الشاشة - يجب أن يكون المتصفح للمستخدم ، وينجح المستخدم ، ولن يزعجه أحد. ربما يكون أصعب شيء هنا هو الحقن في عملية الفلاش. لكن دورة حياتها تنتهي ، لأنه في كثير من الأحيان لا ينبغي تحديثها.
تصفية المحتوى غير اللائق
إذا كانت الكلمات المتعلقة بتصفية المحتوى غير المرغوب فيه عادة ما تتبادر إلى الذهن فقط المواد الإباحية أو الإعلانات المتطفلة ، ولكنك واجهت مشكلة في أي موقع تقريبًا عندما يكون من الأفضل عدم رؤية هذا المحتوى أو ذاك. تذكر كيف قمت بالزحف عبر مواقع مختلفة ، واستخراج كيلومترات من نتائج البحث بنتائج مماثلة. أو ليس من نفس النوع ، لكنك حاولت العثور على شيء مختلف بين مجموعة البيانات؟
على سبيل المثال ، على موقع يحتوي على عمل / مستقل ، يمكنك غالبًا أن ترى أن شخصًا ما يحتاج إلى كتابة مقال ، ولكنك لا تفعل مقالات ، تمامًا كما لا تكتب في JS أو PHP ، لكنك غالبًا ما تأخذ كل هذه المشاريع وترميها خارج نتائج البحث إنه أمر مستحيل ، بالإضافة إلى الاعتماد على الفئات - لا أحد يشير إليها عادةً. أم أنك تبحث في موجز أخبار ، وبعد تحطم طائرة أخرى ، لا تعرف إلى أين تذهب من الأخبار حول الطائرة ، خاصة إذا كان هناك أقارب هناك ويؤذيك؟ حصل بعض الأشخاص على بعض التعبيرات من المألوف والمشاهير ، أو حتى الاتجاهات فقط ، مثل المغازل أو البوكيمون ، ونتيجة لذلك ظهرت حتى المكونات الإضافية الخاصة للمتصفح ببساطة لأنها لا ترى ذلك. ومن لا يرغب في إضافة بعض "الأصدقاء" إلى القائمة السوداء حتى لا يشاهدوا مشاركاتهم مرة أخرى؟ وما زلنا لا نرى الأخبار حول وحيد القرن القيء بإعلانهم الوقح ، المغطى باختبار برامج مفتوحة المصدر ومساعدة مجانية للمجتمع ...
الشيء المضحك هو أن أي عميل بريد إلكتروني تقريبًا يحتوي على فلاتر غنية لفرز / حذف البريد العشوائي تلقائيًا ، ولكن لا يوجد موقع إلكتروني تقريبًا لديه مثل هذه الوظائف. إذا تم قطع المحتوى الخاص بنا إلى عناصر صغيرة يمكن إدارتها ، فيمكننا التصفية / التمييز حتى لا نضيع وقتنا في شيء لا يهمنا بشكل واضح. ولن أضطر إلى كتابة محللات لبعض المواقع التي حذفت 90٪ من المحتوى وزودتني بضغط على شكل 10٪ المتبقية بالصيغة التي احتاجتها. وليس 10 عناصر في الصفحة.
1000 قطعة على الأقل. قد يكون من الممكن استخدام برامج قراءة RSS ، لكن خدمة RSS / Atom بعيدة عن كل مكان ، خاصة أنها ليست كافية في نتائج البحث.
عناصر صغيرة يمكن التحكم فيها
إذن ما هي هذه العناصر الصغيرة والقابلة للإدارة في الموقع المذكورة سابقًا؟ لتسهيل الفهم ، دعنا نتخيل ملف json ثابتًا يحتوي على بعض المعلومات. أو XML ، أو قاعدة بيانات SQLite ، أو ملف XLS ، أو محرك نص CSV ، أو شيء لم يولد بعد ، ولكنه بالضرورة ثنائي ومضغوط وتكنولوجيا النانو ... وداخله هناك قطع صغيرة من المعلومات. صغيرة لأنها وحدات منطقية غير قابلة للتجزئة. يمكن أن يكون هذا رابطًا في لوحة التنقل ، أو مقتطفًا لوصف المنتج ، أو المنتج نفسه مع جميع الخصائص ، أو تعليق مستخدم ، أو حتى مقالة كاملة. يمكن أن يكون أيضًا بعض أدوات الموقع المنفصلة: حقل البحث ، سلة الطلبات ، حقل تسجيل الدخول / razlogin.
تُدار لأنه ، على عكس وحدة متجانسة عمياء ، يمكننا إدارة هذه البيانات: تحديد البيانات الصحيحة ، وفرزها ، وإخراجها بالترتيب المباشر والعكس ، وتصفيتها أو تزيينها ببياناتنا ، وإنشاء meshas التي تسبب الكثير من الضوضاء في الوقت المناسب. يحتوي كل موقع تقريبًا على قاعدة بيانات تدير SQL. وراء SQL توجد النظرية العلائقية والجبر الارتباطي والعديد من طرق إدارة المعلومات. وسأوضح قليلاً كيف يمكن إدارة المعلومات ، وكيف يعطينا القليل من مؤلفي المواقع ، على الإطلاق.
على سبيل المثال ، أحاول العثور على عمل رائع جديد في مجال demoscene. أذهب إلى
pouet.net ، وكزة Prods ، ثم ... من ناحية ، أريد فقط عملًا رائعًا ، لذلك أقوم بفرز العمل حسب عدد لويس. في المقام الأول أرى المفضلة fr-041: الحطام ، بالإضافة إلى الأعمال الأخرى التي رأيتها أكثر من مرة. ولكن اريد شيئا جديدا! كزة يعني ذلك في تاريخ الإصدار ، هنا هو فقط جديد. ولكن من هو الأفضل؟ كيف يمكنني الجمع بين فردين؟ أو على الأقل قم بالاختيار حسب الفترة الزمنية للنموذج "للأشهر الستة الماضية" ثم فرزها فقط؟ للأسف ، لم تتح لي الأدوات للقيام بذلك. ولكن يمكن تمثيل كل عمل في ملف JSON الخاص بنا كعنصر من مجموعة الأعمال ، استنادًا إلى مخطط البيانات ، يمكن لمتصفحنا أن يرسم عناصر تحكم مستقلة عن مؤلفي الموقع ، حيث نختار اختيارات لمتعتنا.
مثال آخر: نعلم جميعًا أن البحث أفضل من Google ببساطة غير موجود. لكن في بعض الأحيان يعتبر نفسه ذكيًا جدًا لدرجة أنه يلقي عبارات كاملة من طلب البحث ، ويترجمها إلى لغات مختلفة ويظهر ما يعتبره أكثر فائدة. لست بحاجة لذلك. أين يوجد مربع الاختيار "توقف عن أن تصبح ذكيًا ، أنا المسؤول هنا"؟ في السابق ، كان يتألف من الترتيب الصحيح
للاقتباسات والإضافات ، والآن يقع في
bing.com - يتم تشغيل بحث أكثر بدائية على الفور ، ولكنه يبحث عن ما أحتاجه بالضبط ولا يحصل على ذكاء ، ولا يتجاهل كلماتي الرئيسية ، ولا يتجاهل شروط الطلب. إذا وجد شيئًا على الإطلاق ، ولكن إذا لم يجد شيئًا ، فسيقول هذا بصدق ، ولا يحاول أن يأتي بشيء من نفسه. في هذه الحالة ، إذا تم إعطاؤنا عناصر صغيرة يمكن إدارتها ، فيمكننا بسهولة دمج نتائج البحث من كلا محركي البحث في خلاصة بحث واحدة ، لذلك سنحتاج فقط إلى ربط 2 من نفس النوع.
في كثير من الأحيان ، تكون نتائج البحث على المواقع الفردية مزدحمة بالرسائل غير المرغوب فيها أو إعلانات مماثلة ، أو ببساطة أوصاف ملتوية لشيء ما. على سبيل المثال ، يمكن أن تحتوي بلوزة واحدة على 20 خيارًا للألوان - سيتعين علي التمرير بالكامل عبر كل هذا بعيني. وفي أفضل الأحوال ، يمكنني فقط إزالة بعض فئات السلع أو عرض الإعلانات من شخص ما ، ولكن هذا غير مريح للغاية ، وكثيرًا ما لا يتم توفير هذه الوظيفة. إذا كان لدينا عناصر صغيرة يمكن التحكم فيها ، يمكنني فقط تصفية البائع المهمل ، أو حتى تحديد ملابس اللون المطلوب على الفور.
العودة إلى الفرز مرة أخرى. كما هو الحال في البحث عن demoscenes الجميلة ، عند البحث عن السلع في المتاجر عبر الإنترنت ، غالبًا ما تكون هناك العديد من المعلمات ذات أهمية ، ولكن يمكنك فرز نتائج التحديد بواسطة واحدة فقط. إذا أمكن ذلك على الإطلاق. هذا يؤثر حتى على أكبر طوابق التداول. إذا أعادوا بيانات أولية ، فسيكون من السهل جدًا التعامل معها. من الناحية العملية ، تحتاج إلى فتح 50 صفحة ومقارنة أوصاف المنتج يدويًا ، وإلقاء النقود المعدنية على أمل أن تنجح عملية الشراء. لا توجد مخططات احتيالية عند إضافة مشط مقابل 1 دولار إلى الدفعة كملحق ، ولكن في الواقع الحد الأدنى للتكلفة هو 10 دولارات. هناك طرق أكثر إثارة للاهتمام. عندما اشتريت أول جهاز لوحي ، قمت بضخ أوصاف 15000 منتج وطرود منها بشكل منتظم بحثًا عن الكلمات الرئيسية التي احتاجها - لقد كان بطيئًا جدًا ، لكنني وجدت حبي (كان U9GT2).
ولكن دعونا نعود إلى الفراولة. أو بالأحرى إلى الموقع مع كتيبات عن زراعة الفراولة.
تخيل أن التعليمات الخاصة بزراعة الفراولة هي مورد (لا يزال في شكل ملف json ، من أجل البساطة) ، والذي يمكن طلبه بشكل منفصل ، والذي يوجد فيه ترميز دلالية (سيخبرنا بالصفحات التي يشير إليها ونوع الروابط). لا يوجد التنقل ، قمم أفضل النصائح أو التعليقات من المستخدمين الآخرين - مجرد محتوى نقي. حسنًا ، يمكن أن يكون هناك أيضًا قمم وتعليقات ونصائح في مكان قريب ، ولكن الشيء الرئيسي هو أن هذا ليس في شكل مترابط ، يمكنك تحديد أنواع البيانات المطلوبة بدقة. بالطبع ، سيتم إضافة الإعلانات والنصوص البرمجية بالتأكيد هنا ، ولكن المزيد عن ذلك لاحقًا. في الوقت الحالي ، نعتقد أن لدينا محتوى نقي ، مباشرة من قاعدة البيانات (أو حتى من محرر المحتوى). من السهل تفريغها ، وطيها ، وفهرستها ، ناهيك عن سهولة التخزين المؤقت وتسليم المحتوى. يمكن استخدام هذه العناصر في التخزين المؤقت المسبق على كل من CDN وفي المتصفح ، وإنشاء حزم مجمعة بمحتوى للضغط والتحميل الفعالين (حتى لا تسحب كل زر بشكل منفصل لـ 50 بايت) ، للإصدار والأرشفة. يمكن التواء هذه البيانات وتحويلها في متصفح لفترة طويلة دون أي تحميل على الخادم ، يتم تشغيلها لفترة طويلة مع أنواع واختيارات مختلفة. الشيء المضحك هو أن هذا هو بالضبط الطريقة التي يتم بها تخزينها في قواعد البيانات داخل نظام إدارة المحتوى. ولكن كل هذا يتم تغذيته من خلال "monolithizer" ، الذي يطبع البيانات في HTML متجانسة ، والتي يصعب العمل معها.
يمكنك جعل العديد من الميزات المثيرة للاهتمام مع هذه البيانات في متناول اليد. على سبيل المثال ، يمكنك تحليل المنشورات في المنتديات وتخزينها مؤقتًا ثم مشاهدة المشاركات المحذوفة.
أين هذه العناصر الصغيرة؟ ما هو موجود بالفعل؟
من الصعب تصديق ذلك ، لكن محاولات فصل المحتوى عن عرضه كانت موجودة لبعض الوقت. كانت العلامة الأولى هي RSS ، التي تقوم بعمل ممتاز في توصيل القصاصات. يتطلب Yandex.market إلغاء تحميل المتاجر بتنسيق XML خاص يحتوي على الأسعار والصور والمعلومات حول الشركة المصنعة وحتى التسليم. تحتوي المواقع الأخرى على تنسيقات تحميل خاصة بها ، على سبيل المثال ، يستخدم Google Merchant RSS2.0 المعدل قليلاً ، ولكن بشكل عام يمكن قراءة هذه التنسيقات وعرضها اليوم.
إذا كنت تتعمق في الأحلام ، فهذا يعني أن جميع أنواع الأوبرينغرات وتنسيقات microformats ، وقد تمت إضافة الكثير إلى HTML5 ، ولكن للأسف ، فإن الاعتماد على هذا أمر صعب اليوم. من ناحية أخرى ، تحتوي العديد من المواقع بالفعل على ترميز دلالية ، لذا فإن رفض قراءتها أمر غبي.
يمكن للمرء تبادل XML أو JSON مع مجموعة من الحقول المسماة وشبه القياسية. يمكنك حتى تبادل قواعد البيانات نفسها بتنسيق SQLite أو إنشاء تحديدات صغيرة فيها. الشيء الرئيسي هو أنه يجب أن تكون هناك بيانات نظيفة ، بدون أي رمز (المزيد عن ذلك لاحقًا).
من أين تحصل على السعادة؟
في البداية ، حتى يفهم المطورون مزايا الطريقة الجديدة للتفاعل ، سنحتاج أنفسنا للحصول على سعادتنا. ببساطة ، أقترح تحليل المواقع وتمزيق تلك الكيانات التي نحتاجها. يمكنك القيام بذلك باستخدام xpath أو محددات CSS العصرية أو التعبيرات العادية القديمة الجيدة. نعم ، ستحتاج إلى كتابة المحلل اللغوي لكل موقع على الإنترنت. للوهلة الأولى ، هذا عمل عملاق بنتيجة غير قابلة للتحقيق ، ولكن هل هو كذلك؟
حتى الآن ، هناك العديد من المشاريع التي تتخصص في تحليل المواقع. بعض ، مثل Octoparse ، لا تتطلب أي معرفة تقريبًا ، ويتم تحديد الكتل الضرورية باستخدام الماوس. بالإضافة إلى خطة "الزحف" يتم تعبئة الموقع بالماوس. هذا يعني أن حد دخول "البرمجة" سيكون منخفضًا للغاية ، حتى ربة المنزل يمكنها أن تصنع محللها الخاص إذا أرادت. إذا كان المحلل اللغوي ضعيف الجودة أو توقف عن العمل ، فسيعرض المتصفح الصفحة كما هي ، حتى يكتب شخص آخر محللًا جديدًا.
هناك أيضًا مشاريع أقرب تعمل اليوم. على سبيل المثال ، هذه هي ميزة العرض الفوري في Telegram. لقد كتب الناس بالفعل العديد من المحللين الذين يتجاوزون المواقع الشهيرة ويتم تحليل المحتوى النظيف فقط. وعندما ينشر شخص ما رابطًا لمثل هذا الموقع في Telegram ، يظهر زر البحث الفوري. إذا قمت بالضغط عليه ، سيصل فقط محتوى نقي ، بدون إعلانات ونفايات أخرى. لن يستغرق الأمر سوى بضع كيلوبايت من حركة المرور والذاكرة للتنزيل ، بدلاً من ميغابايت من حركة المرور وجيجابايت من الذاكرة ، كما هو الحال مع المتصفح.
يتم تنزيل مثل هذه الكمية الصغيرة من البيانات على الفور ، ومن هنا جاء اسم الميزة - العرض الفوري. إذا تعطل المحلل اللغوي ، فهذا يعني أن متعقب الأخطاء ومجتمع جاهز لكتابة محلل جديد ، والذي سيتم التعامل معه من قبل محرر مناسب. لذلك إذا كان شخص ما لا يستطيع أن يؤمن بإمكانية مثل هذه الفكرة ، حتى يرى هو نفسه بأم عينه - نرحب.صحيح أن مهمتنا ستكون أكثر تعقيدًا بعض الشيء ، فبالإضافة إلى عرض نص المقالات ، نحتاج أيضًا إلى عرض الخلاصات بالمقالات ، والتنقل بين أقسام الموقع (المقالات والمنتدى والمتجر - كل هذا لا ينبغي إزعاجه في خلاصة واحدة). من الضروري ليس فقط استخراج ما هو مطلوب من الصفحة ، ولكن أيضًا لتحديد الجداول التي سيتم ترتيبها عليها. على سبيل المثال ، أحب حقًا قراءة التعليقات ، وإذا تم سحب الأخبار أو المقالة الرئيسية فقط ، فستصبح قيمة المورد أقل بالنسبة لي. على سبيل المثال ، اعتدت مشاهدة Youtube من خلال SkyTube والعثور على الكثير من التعليقات الجديدة والمثيرة للاهتمام ، ولكن التحول إلى NewPipe بقيت بدونها. وتعاني نفس مجموعة المحللون مثل youtube-dl من هذا. وإليك كيفية تصنيف المحتوى الناتج إلى أرفف - هذا سؤال كبير ، لن تتمكن كل ربة منزل من تصميم هيكل قاعدة البيانات. السؤال الأكبر هوكيفية التنقل في مثل هذا المحتوى. ما هو الرئيسي وما هو الفرع؟ منذ سنوات عديدة ، كتبت بالفعل محللًا عالميًا مع الاستدلال ، لذلك قطع المحتوى الرئيسي ، ولم يتبق سوى التعليقات ، لأنني اعتقدت أن التعليقات هي الشيء الرئيسي.بل إنه من الأصعب فهم ما يجب فعله بالبيانات المستلمة وكيفية عرضها. يتبادر إلى الذهن هنا الأساليب الحالية فقط: قوالب HTML و PHP و SQL. وإذا كانت المتصفحات على NodeJS تعمل بالفعل ، فلماذا لا تضيف PHP إلى المتصفح لإحدى الميزات؟ أنا لست من محبي هذه اللغة ، ولكن الحد الأدنى لإدخالها هو الحد الأدنى ، وحيث لن يكون من الممكن القيام ببعض النماذج البسيطة ، سيتمكن الناس من البرمجة بها (أو أي لغة أخرى ، انظر أدناه). شيء مثل هذا الجيل من الصفحات يذكرني بـ Aport Express القديم - وهو برنامج صغير من محرك البحث Aport ، والذي كان يشارك في مهمة عرض نتائج البحث مباشرة على العميل ، مما يقلل من حركة المرور على الطلب الهاتفي المستخدم في ذلك الوقت. إذا أراد شخص ما الانغماس في التاريخ ، فيمكنك القراءة على web.archive.org/web/20010124043000/http: //www2.aport.ru: 80 / aexpress / ، وتنزيله على web.archive.org/web/20040627182348/http : //www.romangranovsky.narod.ru: 80 / aexpress.exeلافتات وتتبع
لا ، الإعلان نفسه لا يزعجني بعد الآن: على مدى سنوات التواجد في الشبكة ، طورت عمى لافتة ، والذي يتكون من حقيقة أنني ببساطة لا أرى الكتل في "الأماكن البارزة" ، بالإضافة إلى الكتل المكتوبة ببعض الخطوط غير القياسية أو ببساطة بأحرف كبيرة. في بعض الأحيان يتعلق الأمر بالسخرية - لقد كنت أبحث عن أزرار "التسجيل" أو "التنزيل" أو "الموضوع الجديد" لفترة طويلة ، نظرًا لأنها كبيرة وملحوظة ، لكنني لا ألاحظها. في بعض الأحيان حتى يرسلون لي لقطة شاشة بزر محاط بدائرة. وهي ليست مسألة حركة أو سرعة. اليوم هذه مشكلة أمنية ، لأنه أولاً ، إعلانات البانر هي رمز ** قابل للتنفيذ ** ، مما يعني أنه ليس فقط تسرب للبيانات الشخصية لما يسمى بـ "الاستهداف" وتتبع كل شيء ، ولكن في الحقيقة إنها مجرد فجوة أمنية ،يمكنك من خلاله ملء مفسد أو عامل منجم فقط. إذا كان من الممكن في وقت سابق القول "لا تذهب إلى المواقع الإباحية وكل شيء سيكون على ما يرام" ، فإن "الموقع الإباحي" مدمج الآن في كل موقع تقريبًا وفي كل صفحة.لكن المتتبعين يعطيني ألمًا خاصًا ، علاوة على ذلك ، النشطاء الذين يعملون على الصفحة باستمرار. يمكنني أن آخذ Yandex.Metrica كمثال على هذا الوحل ؛ كل شيء كان بطيئًا بشكل لا يطاق منه. كان الأمر يستحق حظر جميع نطاقات ياندكس وكانت حياتي مليئة بالسعادة ، حيث توقفت المواقع فجأة عن الكبح حتى أنني توقفت عن التفكير في ترقية الحديد. حظر نطاق Yandex هو أول شيء أفعله عندما أقوم بإعداد نظام لشخص ما. لا يفقد الأشخاص أي شيء على الإطلاق ، ولكن سرعة التصفح تزداد حسب الحجم.الحل بسيط للغاية: القدرة على تحديد "المجالات الصديقة" للموقع وإيقاف الطلبات لكل شيء آخر. لذلك يمكنك قطع الإعلانات باستخدام سياسة الطلب أو ما يعادله ، والتي ، على عكس القواطع على شكل AdBlock ، ستعمل على كل موقع تقريبًا ، ولن تتطلب اشتراكات ، وستساعد حتى إذا تم اختراق الموقع ووضع مجموعة من التعليمات البرمجية الضارة عليه.أسمع صرخات هناك أن قطع الإعلانات يقلل من دخل المؤلفين؟ لا تنس أنه لفترة طويلة لا أحد يدفع لعرض اللافتات. من غير المجدي عرض إعلانات _me_ ، فهي تنفق حركة المرور وحركة الخادم فقط ، لكنها لن تجلب فلساً واحدًا للمؤلفين. ولكن هذا يمكن أن يجعلني غاضبا فقط. في وقت ما ، كتبت مجموعة من الأدوات المساعدة لمواقع مميزة بشكل خاص.إذا كنت تتعامل مع جمع / تسرب البيانات الشخصية ، وكان المستخدم غاضبًا في نفس الوقت ، فأنا أوصي بتثبيت شيء مثل امتداد AdNauseam الرائع. ربما الملحق الوحيد لحظر الإعلانات التي حظرتها جوجل. جوهر هذا التمديد بسيط للغاية: فهو ينقر على كل عنصر ليتم حظره في الوضع المخفي ، أي بدون إظهار أي شيء للمستخدم. يحصل المعلنون على نقراتهم التي طال انتظارها ، كل ما يحلو لهم. وإذا نقرت على كل بانر ، فسيتم خلط البيانات الشخصية المتسربة مع مجموعة من القمامة ، لأنها لن تتوافق مع التفضيلات الحقيقية للمستخدم. يصبح الاستهداف والتتبع عديم الفائدة. ملحق جيد جدا. وفكرة رائعة.الإعلان (الملف الشخصي المستهدف)
تدين؟ أقترح! نعم ، أنا أدين ممارسة جمع البيانات المستهدفة ، خاصة بمساعدة المراقبة والحيل السيئة المماثلة (بالنسبة لي). لماذا لا تدخل بيانات الاستهداف مباشرة في المتصفح؟ سأخبرك بكل شيء عن نفسي ، ولست بحاجة إلى أي مراقبة والفيروسات:الجنس: ذكرالعمر: 55 سنةالتعليم: الثانوية الخاصةالهوايات: مشعرات ، بدسم ، خنثى ، أجهزة العفة ، التحكم في التنفس قناع الغازالإقامة: Klyuchi (مستوطنة) في Ust -Camchatsky District of Kamchatka Kraiآخر فحص في المتجر: 28 روبل (رغيف خبز)الحالة المالية: لا يوجد مال ، أعيش على بدل وفي حديقتي الشخصيةالموقف من المنتجات المجانية:أكتب تعليقات سلبية عنهم ، وأضع Coke.الملف الشخصي على الشبكات الاجتماعية: لا توجد ولن تكونبطاقة الائتمان: لا يوجد ولنأتطلع إلى العروض التي يمكنني استخدامها ، مع مراعاة ملفي الشخصي.أفهم جيدًا أن الناشرين بحاجة إلى كسب المال بطريقة أو بأخرى والبقاء على قيد الحياة في أوقاتنا الصعبة من خلال شراء طائرة أو فيلا أخرى ، لكنهم بحاجة أيضًا إلى فهم المستخدمين الذين يشعرون بالانزعاج من الإعلانات التي لا يمكن الوصول إليهم على أي حال. كما أفهم جيدًا تمامًا أنه لا يمكن قطع جميع الإعلانات ، لذلك أنا مع الإعلانات المستهدفة ، التي يسهل تقديم ملفها الشخصي. ولا لافتات.أريد أيضًا آلية تقييم المستخدم للإعلانات المسربة. على سبيل المثال ، أفتح مقطع فيديو على Youtube ، قناة كريوسان الحبيبة ، وفي مرحلة ما يبدأ Creosan نفسه في الحديث عن بعض الكازينوهات هناك. يسعدني أن أسلط الضوء على المنطقة من خلال الإعلان وأنشر البيانات في هذه المنطقة على أنها "إعلان" بحيث يتمكن المستخدمون الآخرون لاحقًا من تخطي مثل هذا الإعلان. في بعض الأحيان يتم العثور على الإعلانات في نص المقالات نفسها ، والمقالات ككل عبارة عن إعلانات مقنعة. من غير اللائق بالنسبة لي أن أقرأ مثل هذه المقالات ، لذلك أود بكل سرور أن أضع عليها علامة "إعلان".المدمج في دعم الوكيل / VPN
لسوء الحظ ، يقرر بعض الأشخاص الأغبياء بالنسبة لي ما إذا كان بإمكاني استخدام هذه الخدمة أو تلك ، وهم يفعلون ذلك على أساس البلد الذي ولدت فيه / أعيش فيه. وليس فقط المواقع (نظرة حزينة تجاه Google Play). على سبيل المثال ، لا يمكنني استخدام Spotify إلا إذا كنت أعيش في الولايات المتحدة الأمريكية ، ولكن يمكنني استخدام خدمة Advcash إذا كنت لا أعيش في الولايات المتحدة الأمريكية. بالطبع ، إذا كنت محظوظًا عند الولادة ، فليس من الضروري الخضار في بلد متخلف ، من الناحية النظرية يمكنك الذهاب إلى البلد الصحيح ، لكنني لا أعرف كيف أعيش في بلدين في نفس الوقت.الحل: آلية VPN مدمجة ، ويجب تكوينها بالكامل لكل موقع على حدة. بالنسبة لشخص ما ، سأكون ألمانيًا فقط ، وشخصًا أمريكيًا ، وسأجري عمليات شراء من البلد الذي يتم عرض أسعار أقل له.لماذا لا تشتري VPN عادي وتستخدمه ، لماذا تسحبه كله إلى المتصفح؟ بعد ذلك ، يمكن للمستعرض فقط فصل موقع واحد عن آخر ، مع فصل كل علامة تبويب. إذا قمنا بتوجيه كل حركة المرور عبر نظام VPN ، فسوف نحتاج إلى التبديل باستمرار ، أو في بعض الأحيان التقاط قطع الاتصال والحظر ، إذا نسينا القيام بذلك.الإضافات
في بعض الأحيان يأتي المحتوى المقطوع إلى البلاط. على سبيل المثال ، يمكن أن تكون خرائط الأقمار الصناعية أو الصور الفوتوغرافية. من حيث المبدأ ، يمكن اختياره من المتصفح اليوم ، ولكن ما هي الخطوة التالية؟ مشاهدة البلاط الفردي غير مريح. الغراء؟ ماذا وكيف؟ بالطبع ، يمكنني كتابة ملف القوة الغاشمة الذي سيقارن حواف البلاط والبحث عن خيارات اللصق السلس ، ولكن هنا يمكنك أن تخطئ ، وإذا كان المتصفح يخزن أيضًا معلومات حول مكان البلاط الذي يتعلق بالبلاط الآخر وأيه ، فسيكون الالتصاق سريعًا و لا عيب فيه! يمكنك إرفاق تصدير مريح للبلاط مباشرة من ذاكرة التخزين المؤقت أو الصفحة الحالية!ولا أريد اختراع وإدخال تسجيلات الدخول / كلمات المرور في كل موقع ، وبدلاً من ذلك أود تحديد بعض البذور العشوائية ، والتي يتم من خلالها إنشاء كل من تسجيلات الدخول وكلمات المرور لموقع معين. على سبيل المثال ، أحدد السطر "soMeRanDOooo0MStr11nng" وعندما أذهب إلى example.com ، فإن هذين الخطين يتسلقان وينشئان معرّفًا شخصيًا بناءً على ذلك يمكنك إنشاء أي شيء ، بما في ذلك تسجيلات الدخول / كلمات المرور (والأفضل من ذلك ، جميع المعلومات الشخصية المتبقية بحيث كان من الممكن التسجيل بنقرة واحدة وعدم التفكير في الأسماء الأخرى الموجودة باستثناء سيرجي دون استخدام fakenamegenerator). والقدرة على تحسس كلمات المرور هذه على bugmenot. بالمناسبة ، هذا المولد موجود بالفعل في Safari!بمعنى آخر ، يجب أن يوفر المتصفح آلية مرنة للمكونات الإضافية. علاوة على ذلك ، يجب أن تكون المكونات الإضافية داخل المتصفح بحيث يمكنك ربط كل جزء من المتصفح تقريبًا ، وليس مثل حقن JS بعد تحميل الصفحات أو الأزرار داخل شريط الأدوات. بالطبع ، أريد أن أكتب الإضافات في C ، التنازلات في سرعة معالجة الصفحة غير مقبولة ببساطة.أجزاء المتصفح كخدمات
تقريبا كل متصفح لديه أداة لتحميل الملفات. هذا هو الشيء مع واجهة ملتوية تقوم بتنزيل الملفات إلى دليل غير مفهوم ، ولا تعرف كيفية الاستئناف ، ثم تقول أيضًا أنه تم اكتشاف فيروسات داخل الملف. ولكن هذا الشيء ، والأهم من ذلك ، هو جزء من المتصفح ، مما يعني أنه يستخدم ملفات تعريف الارتباط وسمات الجلسة الأخرى. هذا يعني أنه من خلال تسجيل الدخول إلى أحد المواقع ، لن نحتاج بعد الآن إلى اختيار ملفات تعريف الارتباط من أجل وضعها في wget أو curl. يمكن أن يعمل المتصفح نفسه كأداة مساعدة ، ويدعم الجلسة الحالية بالكامل. وهذا يعني أنه يمكننا في البداية تطوير كل من النظام الفرعي للشبكة ومثل هذا التجعيد المؤقت مع قاعدة رمز واحدة وضعف الاتصال برمز المتصفح الرئيسي ، ولكن المزيد عن ذلك لاحقًا.يحتوي كل متصفح تقريبًا على أداة ملف بدائية يمكنها عرض محتويات أدلة الدليل المحلية. إنه يفعل ذلك بشكل منحرف ، ولكنه غالبًا ما يكون أفضل بكثير من لا شيء على الإطلاق. لكن الأوبرا القديمة كانت قادرة على تحريك الملفات بين المستخدمين وحتى أن لديها تطبيق به ثلاجة يمكن الاعتماد عليه. نعم ، لقد فعل الرجال المستقبل حقًا. وتفوقوا عليه قليلا.قد يكون لدى المتصفح عميل بريد إلكتروني قد يكون من الجيد استخدامه من سطر الأوامر ، مع سجل مفصل. سيسمح هذا بأتمتة الكثير من المهام ، من تجميع الرسائل غير المرغوب فيها إلى إرسال رسائل تذكير. يمكن أخذ التذكيرات من خدمة RSS المضمنة.متصفح لقطع
تعد كتابة متصفح كامل مهمة معقدة نوعًا ما. علاوة على ذلك ، لا تتبادر إلى الذهن أشياء كثيرة ، مثل تنزيل الملفات أو قارئ RSS أو عميل البريد الإلكتروني ، حتى عندما يسمعون كلمة "متصفح". كحد أدنى ، يمكن كتابة هذه التطبيقات بشكل منفصل ، ويمكن أن تكون في شكل تطبيقات كاملة ، أو يمكن أن تكون على شكل روابط فوق التطبيقات الموجودة ، أو ربما حتى كحلول مؤقتة لمئتي سطر في بعض لغات البرمجة النصية.. - , . , Opera Mini ( , , , «», ).
github.com/browsh-org/browsh — - , — ,
في البداية ، يمكن تنفيذ كل هذا كخدمات صغيرة مستقلة ، مع كتابة مطور واحد بلغة جافا ، وآخر في بايثون ، والثالث في روبي وهم لا يحتاجون إلى الشجار ، واختيار مجموعة تكنولوجيا. بعد كل شيء ، الجميع على دراية بالحالة التي لا يمكن لأحد أن يتخيل فيها متصفح جافا بسبب الفرامل ، شخص ما يخاف من Sishku بسبب الخوف من نقاط الضعف ، ويريد شخص ما تجربة Go العصرية والتحريض عليها؟ هنا ، سيتمكن الجميع من اختيار جزء صغير لأنفسهم والإجابة بدقة عليه ، سيكون من الضروري فقط الاتفاق على بروتوكول اتصال. وإذا كانت بعض الأجزاء تعمل بشكل سيء ، فيمكن استبدالها في النهاية. أو استخدم الحلول الحالية وقم بتكييفها من أجل تكامل أوثق ، كما حدث في متصفح Arachne.حتى يمكن تقديم العارض في عملية منفصلة ونقل المعلومات للعرض فقط. في البداية ، يمكنك فقط أخذ الكود الحالي من w3m / links / netsurf ، ثم أولئك الذين يرغبون في إرفاق أوضاع قابلة للتحويل من Gecko / Servo / Blink.بالطبع ، من المفترض أن تكتب عددًا كبيرًا من الإضافات. الإشارات المرجعية ، بما في ذلك تلك التي تتم مزامنتها عبر خدمات السحب أو التوصية ، وعلامات التبويب متعددة المستويات مع المعاينات والإكمال التلقائي للنماذج القائمة على الشبكات العصبية ، هي كل ما تريده. ربما يمتلك شخص ما مصدر تنزيلات الملفات المتعددة الخيوط (أو رأى شخص ما مثل هذا على جيثب) ، والذي يمكنه البدء في نقل هذا الرمز إلى نظام أساسي جديد الآن؟, : 1 , . — , , . , ?
يمكن جعل بعض المكونات الإضافية الافتراضية في التثبيت. على سبيل المثال ، المكونات الإضافية لتوفير علامات التبويب ، وتنزيل الملفات ، والمكوِّن الإضافي لشريط العناوين مع الإكمال التلقائي ، والكريات والتنين ، وما شابه ذلك ، والذي يوجد بالفعل في أي متصفح. لكنني أقترح الذهاب إلى أبعد من ذلك قليلاً وإدراج المزيد في التسليم الافتراضي. بالطبع ، هذا مسار زلق يمكن أن يقودنا إلى Bloatware ، ولكن في رأيي ، لا يجب أن تخاف من التجربة (بالطبع ، ليس كيف تفعل موزيلا ذلك ، والذي يتضمن امتدادات هولي من برامج تابعة مختلفة دون إمكانية قطع الاتصال).
على سبيل المثال ، هل تتذكر في IE6 مثل هذا الزر الغامض مثل ناقش؟ ظهرت بعد تثبيت MS-office ، لم تعمل أبدًا تقريبًا ، لأنها كانت بحاجة إلى SharePoint من جانب الخادم لعملها. لكن الشيء كان رائعًا: عندما نقرت عليه ، تم فتح شريط أدوات ، يمكنك من خلاله إضافة تعليقات إلى الصفحة ، لا تزال هناك بعض غرف الدردشة الشبيهة بالأشجار (على الرغم من أنني أتذكرها بالفعل بشكل سيء ، لكنني لم أتمكن من البحث عنها) ، وعملت مع أي صفحة. تخيل فقط: التعليقات على أي موقع ، دون إشراف من المؤلفين ، حيث يمكنك التعبير عن كل ما تفكر به بجرأة وبشكل مباشر في أي موقع. أعتقد أن مثل هذا المكون الإضافي كان ببساطة أمرًا ضروريًا في حزمة متصفحنا.
مثال آخر: تفتح العديد من المواقع خرائط Google أو خرائط Yandex على صفحة اتجاهات القيادة ، وتعتبر هذه ممارسة جيدة ، ولا أحد يطرح أسئلة حول الخصوصية علاوة على ذلك لا يسأل المستخدم عما إذا كنت أريد مؤسسة خارجية معرفة الكائنات هل أنت مهتم بالمدينة؟ يمكن قطع هذه العناصر واستبدالها ببطاقات OSM أو حتى بطاقات المستودعات المحلية. لا أحد يزعج تنزيل تفريغ OSM الكامل وعمل خرائط محلية ، واحد أو اثنين غيغابايت على القرص اليوم لا يعني شيئًا تقريبًا.
الملخص
هنا رؤيتي لمتصفح مثالي. بالطبع ، لم تتم كتابة كل شيء بعيدًا عن كل شيء: لم تتم تغطية مواضيع النسخ ، والنماذج متعددة المستويات وحماية بيانات المستخدم ، ولا يوجد شيء حول نموذج الأعمال أو طرق لجذب الجهات الراعية للمشروع. وهناك حاجة للرعاة ، لأن القليل من الناس سيحضرون شيئًا قابلًا للاستخدام للقيام بهذا الحجم من العمل مجانًا. لا يوجد وصف لكيفية حماية نفسك من مصالح الراعي ، لأنه في المخرج يمكننا الحصول على Firefox آخر مع مكونات إضافية للقياس عن بعد تُبلغ عن قطع الاتصال عن بعد.
ولكن في هذه المرحلة ، فإن أهم شيء في إنشاء المتصفح المثالي هو الأشخاص. اكتب أفكارك وأفكارك ، وإذا كان بإمكانك مساعدة المشروع باستخدام التعليمات البرمجية أو التخطيطات - فلا تتردد في تقديم المساعدة. من الأهمية بمكان انتقاد الأفكار والأفكار المذكورة أعلاه. ربما ، إن لم يكن أنا شخصياً ، فسيتمكن شخص قرأ هذا النص من كتابة متصفح جيد. لقد بدأت كتابة هذا المقال قبل عام ، كإجابة على بعض المواضيع الأخرى ، كنت سأرتب التمويل الجماعي ، لكن صخب الحياة كان مشتتًا ، لأنني أنشره كما هو ، لكي يفكر فيه الآخرون.
هذا النص متاح بموجب ترخيص المجال العام ويمكنك توزيعه بحرية في أي مكان. ربما بهذه الطريقة سنتمكن (الأشخاص بشكل عام) من الحصول على متصفح أكثر ملاءمة للاستخدام على الأقل.