প্রধান বিভাগে জাভাস্ক্রিপ্টটি উল্লেখ করা উচিত মূল নথির একই হোস্টনাম থেকে দেওয়া উচিত?


12

আমি এই ছাপে ছিলাম যে সেরা পারফরম্যান্সের জন্য, জাভাস্ক্রিপ্টটিকে স্থির সামগ্রী হিসাবে বিবেচনা করা উচিত এবং সিএসএস ফাইল, চিত্র ইত্যাদির সাথে একটি কুকিবিহীন ডোমেন থেকে পরিবেশন করা উচিত should

তবে গুগল এখানে বলেছে: কুকিবিহীন ডোমেন থেকে প্রারম্ভিক লোড হওয়া বাহ্যিক জেএস ফাইলগুলি পরিবেশন করবেন না

জাভাস্ক্রিপ্ট নথির শিরোনামে উল্লেখ করা হয়েছে এবং পৃষ্ঠা শুরুর জন্য প্রয়োজনীয়, এটি মূল নথির একই হোস্টনাম থেকে পরিবেশন করা উচিত। যেহেতু বেশিরভাগ ব্রাউজারগুলি অন্যান্য ডাউনলোডগুলি এবং জাভাস্ক্রিপ্ট ফাইলগুলি ডাউনলোড করা, পার্স করা এবং সম্পাদন না করা অবধি রেন্ডারিংকে অবরুদ্ধ করে রাখে, প্রক্রিয়াটির এই সময়ে অতিরিক্ত ডিএনএস লুক্কায়নের ঝুঁকি এড়ানো ভাল।

তাই এখন আমার দ্বন্দ্ব রয়েছে। "পৃষ্ঠা শুরুর জন্য প্রয়োজনীয়" অর্থ কী তা সম্পর্কে আমি পরিষ্কার নই।

আমার কাছে সাধারণত দুটি জাভাস্ক্রিপ্ট রেফারেন্স রয়েছে, জিক্যুয়ারি ajax.googleapis.com এবং একটি মাস্টার.জেএস ফাইল থেকে পরিবেশন করেছেন যা বেশিরভাগ ক্ষেত্রে hand (দস্তাবেজ) .ডিআর () ফাংশনে ইভেন্ট হ্যান্ডলার থাকে। এটি কি পৃষ্ঠার সূচনার জন্য প্রয়োজন?

উপলভ্য অপশনগুলি দেওয়া, (ajax.googleapis.com, স্ট্যাটিক কুকিবিহীন ডোমেন, আসল হোস্টনাম) আমার জাভাস্ক্রিপ্ট কোথায় দেওয়া উচিত?

উত্তর:


5

তাই এখন আমার দ্বন্দ্ব রয়েছে। "পৃষ্ঠা শুরুর জন্য প্রয়োজনীয়" অর্থ কী তা সম্পর্কে আমি পরিষ্কার নই।

এটি আপনার সাইট কীভাবে কাজ করে তার উপর নির্ভর করে। মূলত, এটি জাভাস্ক্রিপ্ট যা কেউ ওয়েব পৃষ্ঠা ব্যবহার করার আগে চালানো দরকার can

উদাহরণ হিসাবে , আপনি http://www.weather.com/ এ যান , আপনি দেখতে পাবেন যে সূক্ষ্ম ভাবেন লোকেরা আবহাওয়া অনুসন্ধানের ফর্মটির জন্য একটি ইঙ্গিত দেওয়ার জন্য কিছু জাভাস্ক্রিপ্ট যাদু ব্যবহার করার সিদ্ধান্ত নিয়েছে। অর্থাত Enter Zip, City or Place (e.g. Disney World)পাঠ্য ইনপুট ক্ষেত্রে শব্দগুলি উপস্থিত হয়। দুর্ভাগ্যক্রমে, পৃষ্ঠাটি লোড হওয়ার সময় কিছুটা বিলম্ব হচ্ছে, কমপক্ষে আমার শেষদিকে। সুতরাং, যদি পৃষ্ঠাটি লোড করতে ধীর যথেষ্ট হয় এবং আপনি দ্রুত সামনে জাভাস্ক্রিপ্ট, executes পাঠ্য ইনপুট টাইপ শুরু করার জন্য যথেষ্ট গেছে - যা না একটি প্রসারিত - আপনার ইনপুট জাভাস্ক্রিপ্ট দ্বারা আপ মাতাল করা যাবে অন্ধ যে ইঙ্গিতটি স্থাপন করে ইনপুট বাক্সে পাঠ্য।

মঞ্জুর, প্রথমে পাঠ্য বাক্সে ব্যবহারকারীর ইনপুট পরীক্ষা করে বা এই অ্যানক্রোনাস্টিক কৌশলটি ছেড়ে দিয়ে এড়ানো যায়। তবে, তবে এটি খুব ভাল উদাহরণ হিসাবে কাজ করবে না।

উপলভ্য অপশনগুলি দেওয়া, (ajax.googleapis.com, স্ট্যাটিক কুকিবিহীন ডোমেন, আসল হোস্টনাম) আমার জাভাস্ক্রিপ্ট কোথায় দেওয়া উচিত?

আপনার জাভাস্ক্রিপ্ট কী করে না জেনে এটির উত্তর দেওয়া যায় না। এছাড়াও, বিপিটারসন 76 হিসাবে, এটি আপনার সাইটের নির্দিষ্ট পরিস্থিতির উপর নির্ভর করে। অর্থাত্ পৃষ্ঠাটি কত বড়? আপনার হোস্ট সভার চাহিদা কতটা ভাল? এটি কতগুলি সিএসএস ফাইল, চিত্র ইত্যাদি লোড করে? এটি কতগুলি বাহ্যিক সংস্থান লোড হচ্ছে?

আপনার নির্দিষ্ট পরিস্থিতির উপর নির্ভর করে এটি অকালীন অপটিমাইজেশন হতে পারে।


4

"পৃষ্ঠাটি রেন্ডারিং শুরু হওয়ার আগে প্রয়োজনীয় কিছুটি একই সার্ভারের হওয়া উচিত" নিয়মটি আপনার ক্ষেত্রে প্রযোজ্যসার্ভারস বা অন্যান্য ছোট সংস্থানসমূহ - এমন পরিস্থিতিতে যেখানে ডিএনএস লুপ দেখাতে পারে একটি সেকেন্ডের একটি লক্ষণীয় ভগ্নাংশ নিতে পারে (যা যদি আপনার ডোমেনগুলি অনেকগুলি ডোমেনের চারপাশে প্রসারিত হয় তবে তা দ্রুত যুক্ত হতে পারে)। গুগলের জিকিউরির ক্যাশে এবং অন্যান্য গ্রন্থাগারগুলির মতো সাধারণ জনসাধারণের সাথে আপনার দর্শনার্থীর ব্রাউজারটি ইতিমধ্যে ডিএনএস লুকআপ ইতিমধ্যে সম্পন্ন করার সম্ভাবনা রয়েছে (কারণ অন্যান্য সাইটগুলি সেই পরিষেবা থেকে সামগ্রীটি রেফারেন্স করছে) এবং সম্ভবত ক্যাশে ফাইলটিও নেই তাই না স্থানান্তরটি সম্পন্ন করতে হবে (বা যদি কোনও অনুরোধ করা হয় তবে এটি একটি সংক্ষিপ্ত "304 - পরিবর্তিত নয়" প্রতিক্রিয়া ফিরে পেতে পারে)। এমনকি যদি সামগ্রীর জন্য একটি পূর্ণ ডাউনলোডের প্রয়োজন হয় তবে আপনার ছোট স্কেল অপারেশনের চেয়ে বেশিরভাগ ব্যবহারকারীর জন্য গুগলের বিষয়বস্তু বিতরণ নেটওয়ার্ক দ্রুততর হবে।

সম্পর্কিত একটি নিয়ম: পৃষ্ঠাগুলির সঠিক ফাংশনের জন্য প্রয়োজনীয় নয় এমন অবজেক্টগুলিকে (ব্যবহারকারী এটি দেখায়) মূল HTTP প্রতিক্রিয়ায় যত তাড়াতাড়ি সম্ভব দেরী করা উচিত। উদাহরণস্বরূপ বিজ্ঞাপন / পরিসংখ্যান পরিষেবাদির জন্য প্রয়োজনীয় স্ক্রিপ্টগুলির (যেমন গুগল অ্যানালিটিক্স এবং এর জাতীয়) - ব্যবহারকারীকে যত তাড়াতাড়ি সম্ভব আপনার সামগ্রী সরবরাহ করুন, তারপরে ব্যাকগ্রাউন্ড স্টাফ লোড করুন যা কেবলমাত্র আপনার আগ্রহী। আমি বেশ কয়েকটি বিজ্ঞাপন / পরিসংখ্যান পরিষেবাদিগুলিকে অবরুদ্ধ করেছি (তাদের আমার হোস্ট ফাইলটিতে 127.0.0.1 এ ম্যাপিং করে) কারণ এগুলি প্রায়শই খুব ধীর হয় এবং যে সাইটগুলি তাদের প্রথম দিকে উল্লেখ করা হয় কেবল আমাকে একটি ফাঁকা পৃষ্ঠা দেয় যখন স্ক্রিপ্টগুলির পরিবর্তে অপেক্ষা করা হয় me তাদের দেরীতে উল্লেখ করার জন্য যাতে আমি সেখানে থাকা সামগ্রীটি পড়তে পারি অন্য পটভূমিতে অন্য জিনিসগুলি ট্র্যান্ডেল করার সময়।

স্ট্যাটিক সামগ্রীর জন্য কুকি-কম ডোমেনের উপযোগিতা স্কেল করার বিষয়। যদি আপনার সমস্তটি কুকিজের মধ্যে একটি 10-বাইট সেশন আইডি এবং 10,000 দর্শক প্রতি দিন ভিজিটের জন্য 20 স্ট্যাটিক অবজেক্টগুলির জন্য অনুরোধ করে তবে আপনি কেবল মাসে মাসে 118 মেগাবাইট ব্যান্ডউইদথ (20 * 20 * 10000 * 31/1024/1024) সঞ্চয় করছেন। অন্যদিকে যদি আপনার সাইটটি কুকিজে এক বা দুটি কেবাইটের জিনিস রাখে তবে তফাতটি আরও বেশি তাৎপর্যপূর্ণ হতে পারে, বিশেষত যদি আপনার কোনও ব্যবহারকারী ধীর সংযোগের মাধ্যমে সাইটে অ্যাক্সেস করে (যেমন জিপিআরএস কোনও মোবাইলের সাথে টিথারিংয়ের মাধ্যমে বা একটি ওভার - একটি উচ্চ হস্তক্ষেপের অঞ্চলে ভিড়যুক্ত ওয়াইফাই লিঙ্ক) বা আপনি যদি প্রতিদিন লক্ষ লক্ষ ভিজিট পান।

সংক্ষিপ্তসার হিসাবে, স্ক্রিপ্টগুলির জন্য যে পৃষ্ঠাটি আমার রেন্ডারগুলি রেন্ডার করার আগে লোড করা আবশ্যক:

  1. ajax.googleapis.com, বা অনুরূপ
  2. কলিং পৃষ্ঠার মূল হোস্টনাম
  3. স্ট্যাটিক কুকি-কম ডোমেন

প্রাথমিক পৃষ্ঠা রেন্ডারিংয়ের জন্য অপ্রয়োজনীয় সংস্থানগুলির জন্য, যত তাড়াতাড়ি দেরীতে তাদের উল্লেখ করুন এবং উপরোক্ত পছন্দের তালিকার বিপরীত করুন (যদিও মূল হোস্টনাম এবং কুকি-কম ডোমেনের মধ্যে পার্থক্য সম্ভবত উল্লেখযোগ্য নয় যতক্ষণ না আপনি একটি বিশাল স্কেল পরিচালনা করছেন )।


With common public resources ... there is a good chance that your visitor's browser has already done that DNS lookup today ব্যক্তিগতভাবে, আমি আমার সাইটের জন্য এটির উপর নির্ভর করতে স্বাচ্ছন্দ্য বোধ করব না । আমি চাই যতটা সম্ভব পরিস্থিতিতে এটি যথাসম্ভব দ্রুততর হোক। নির্বিশেষে, আপনি ভাল পয়েন্ট করা। +1
জর্জ মেরিয়ান

1

গুগল বিশ্বজুড়ে একটি বিশাল কন্টেন্ট নেটওয়ার্ক বিতরণ করে যা আপনার সম্ভবত চলমান যে কোনও একক সার্ভারের চেয়ে কন্টেন্টটিকে ব্যবহারকারীর নিকটে রাখে (মনে হয় আকামি, তবে গুগলের মালিকানাধীন) সুতরাং, গতির দৃষ্টিকোণ থেকে এটি যুক্তি দেখায় যে গুগল আপনার ফাইলটি আপনার স্থানীয় সার্ভারের চেয়ে দ্রুত ব্যবহারকারীর কাছে নিয়ে যাচ্ছে ... যদি না তারা আপনার ব্যক্তিগত সার্ভারের খুব কাছাকাছি থাকে।

এই প্রশ্নটি স্ট্যাকওভারফ্লোতে প্রায় কাছাকাছি চলে গেছে এবং উপরের উত্তরটি সর্বদা theক্যমত্য বলে মনে হচ্ছে। তবে বাস্তবের দৃষ্টিকোণ থেকে, অন্য কোনও বনাম হোস্টিংয়ের মাধ্যমে প্রাপ্ত লাভগুলি দীর্ঘমেয়াদে মোটামুটি ন্যূনতম হতে চলেছে। আপনি শারীরিকভাবে যেখানে অবস্থিত সেখানে যাচাই-বাছাই করার চেয়ে সামগ্রিক HTTP অনুরোধগুলি হ্রাস, অনুকূলকরণ এবং হ্রাস করার থেকে আরও ভাল সুবিধা পাবেন। যে পরিস্থিতিতে এটি গুরুত্বপূর্ণ হয়ে ওঠে (আমি এমন একটি কাজ করেছি যেখানে কোনও পৃষ্ঠা 1.5 / মিলিয়ন বার / দিনে লোড করা হত, সুতরাং 5 কে উন্নতির অর্থ ব্যান্ডউইথ সঞ্চয়ীকরণে 5 জিগ থাকে) সাধারণত সিদ্ধান্ত গ্রহণকারীদের একটি দল থাকে যারা এই সিদ্ধান্তগুলি যাচাই-বাছাইয়ের দায়িত্বপ্রাপ্ত।

ব্যক্তিগতভাবে, আমি সাধারণত Google এ হোস্ট করি যে একমাত্র কারণে যে তারা আমাকে যা খুঁজছে তার সর্বাধিক টু-ডেট কপি দেবে।


আপনি কোথায় আপনার কাস্টম জাভাস্ক্রিপ্ট হোস্ট করবেন? স্থির কুকিবিহীন ডোমেন বা মূল হোস্টনাম?
জেমস লরুক

সত্যিই, (বেশিরভাগ) জ্যাকুরি-ইন-লাইনের বাইরে, সত্যিই খুব বেশি কিছু নেই যা গতিশীলভাবে সংযুক্ত করা যায় না। আমি ডেটাবেটস প্লাগইনটির সম্ভাব্য ব্যতিক্রম বাদ দিয়ে (প্রাথমিকভাবে) কোর জ্যাকুরি এবং জ্যাকুরি ইউআই ব্যবহার করে ভুডুকে সর্বনিম্ন রাখতে চাইছি। এটিকে সহজ রাখুন (বোকামি) ধারণার মধ্যে আমি একজন বড় বিশ্বাসী এবং যদি পিছনের দিক থেকে সামঞ্জস্য না হয় তবে কোডটি রাখব না, যা প্রচুর বিকল্পের বিধান দেয়। যেমনটি আমি আগেই বলেছি, একটি ফাইল একটি কুকিবিহীন ডোমেনে স্থাপন করা এতটা বড় চুক্তি নয়।
bpeterson76

1

একটি গুরুত্বপূর্ণ বিষয় মনে রাখবেন তা হ'ল ব্রাউজারগুলিতে একই ডোমেন থেকে একসাথে কতগুলি সংস্থান ডাউনলোড হবে তার ব্রাউজারের উপর নির্ভর করে 2 থেকে 6 এর মধ্যে সীমাবদ্ধতা রয়েছে। একটি ভিন্ন ডোমেন ব্যবহার করে ব্রাউজারটিকে আপনার ডোমেন থেকে এক সাথে আরও কিছু জিনিস ডাউনলোড করতে দেয়।

সুতরাং সেরা সমাধান হ'ল ajax.googleapis.com এর মতো একটি জনপ্রিয় সিডিএন সেভাবে কোনও কুকিজ নেই use ব্যবহারকারী সম্ভবত ইতিমধ্যে DNS লুকআপ সম্পন্ন করেছে এবং এমনকি সংস্থানটি ক্যাশে করেছে। সিডিএন গতির জন্য অনুকূলিত এবং সম্ভবত আপনার ব্যবহারকারীর কাছাকাছি একটি সার্ভার রয়েছে।

যদি কোনও সিডিএন বিকল্প না হয় তবে আপনার যদি প্রচুর কুকিজ থাকে বা ডাউনলোড করার জন্য প্রচুর সংস্থান আছে (চিত্র ইত্যাদি) তবে একটি কুকি ফ্রি ডোমেন ব্যবহার করুন (তবে একবারেই কেবল ডিএনএস লুকআপ করা দরকার)।

যদি আপনার একই ডোমেন থেকে কয়েকটি সংস্থান (কেবল একটি কাস্টম জাভাস্ক্রিপ্ট ফাইল) এবং কয়েকটি কুকি (কেবলমাত্র একটি ছোট সেশন আইডি) হোস্ট থাকে।

ভাল সম্পদ:

http://www.phpied.com/free-falling-waterfalls/

http://www.stevesouders.com/blog/2009/04/27/loading-scripts-without-blocking/

http://developer.yahoo.com/performance/rules.html


1

যদিও উপরের উত্তরগুলি আপনার বেশিরভাগ প্রশ্নের বিচ্ছিন্ন করেছে, আমি "পৃষ্ঠার প্রারম্ভের জন্য প্রয়োজনীয়" তে অবদান রাখছি। আমি অনুবাদ করতে এই: এই স্ক্রিপ্টের হয় অপরিহার্য ওয়েবসাইট ব্যবহার করে কিভাবে? অভিজ্ঞতা থেকে, সাধারণত উত্তর হয় না। যাইহোক, কেসগুলি যখন আমি করব:

  • ফর্ম বৈধতা
  • একটি জাভাস্ক্রিপ্ট-ভিত্তিক নেভিগেশন (যাইহোক আদর্শ নয়)
  • যদি লেআউটটি জাভাস্ক্রিপ্টের উপর নির্ভর করে
  • যদি জাভাস্ক্রিপ্ট, বা একটি লাইব্রেরি (যেমন jQuery) DOM সংশোধনগুলির জন্য ব্যবহার করা হয় যা সমালোচনামূলক

এবং ইয়াহুর ওয়াইস্লো রেফারেন্সের জন্য পারফরম্যান্স নির্দেশিকা

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.