আপনি কেন সরল // উপসর্গযুক্ত url এর পরিবর্তে ডকুমেন্ট.লোকেশন.প্রোটোকল ব্যবহার করবেন?


12

উদাহরণস্বরূপ গুগল অ্যানালিটিক্স ট্র্যাকিংয়ের জন্য বয়লারপ্লেটে ডকুমেন্ট.লোকেশন.প্রোটোকল ব্যবহার করে:

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>

পরিবর্তে

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = '//www.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>

এসএসএল সাব-ডোমেনটি একটি নিঃশব্দ যুক্তি হিসাবে https://www.google-analytics.com/ga.js পুরোপুরি ভালভাবে কাজ করে।

গুগলকে সম্ভবত এটি জানা কোনও তদারকি নয়। নির্দিষ্ট ব্রাউজারগুলিতে // প্রোটোকল শর্টহ্যান্ডকে সম্মান জানানো সমর্থন করে না বা এমন কিছু আছে যা আমি অনুপস্থিত রয়েছি?

সম্পাদনা: এটি কেবল গুগল অ্যানালিটিক্সের ক্ষেত্রে প্রযোজ্য নয় (বিভিন্ন সাব-ডোমেন উদাহরণ)। ফন্ট লোডার এপিআই পৃষ্ঠায় একই জিনিসটি উপস্থিত হয় :

wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
    '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';

গুগল কেন কিছু করছে তার চেয়ে প্রযুক্তিগত সমস্যা সম্পর্কে জিজ্ঞাসা করার জন্য আপনার প্রশ্নের পুনরায় প্রশ্রয় দেওয়া আরও ভাল প্রতিক্রিয়া পেতে পারে। আপনি দ্বিতীয়টির প্রকৃত উত্তর পেতে যাচ্ছেন না (যদি না আমরা এখানে অন্য গুগলারের প্রতিক্রিয়া দেখি তবে এটি দুর্দান্ত হবে)।
জেসনবার্চ

এটিকে আরও অজ্ঞেয় তৈরি করার প্রয়াসে সামান্য সম্পাদনা। অন্য কোন পরামর্শ?
মেটালশার্ক

উত্তর:


3

প্রকৃতপক্ষে, এটি জিএ টিম দ্বারা কোনও তদারকি ছিল না !
জি-লোডার লোড একটি স্ক্রিপ্ট, যাতে একটি ডাবল ডাউনলোড বাগ দ্বারা প্রভাবিত না <link>বা @importIE7 / IE8 একটি স্টাইলশীট জন্য।

তারা উপর শর্তাধীন (তিন) অপারেটর ব্যবহার document.location.protocol IE6 একটি প্রান্ত-কেস বাগ যে যখন থেকে অনুরোধ একটি নিরাপত্তা-ডায়ালগ কিছু নিরাপত্তাগত সেটিংসের অধীনে পপ আপ ঘটায় কারণ অ'ssl 'সাবডোমেন , পল আইরিশ দ্বারা ব্যাখ্যা হিসাবে (যিনি কাজ করেন এই বিষয়ে গুগল অ্যানালিটিক্স জাভাস্ক্রিপ্টের শীর্ষস্থানীয় বিকাশকারীকে সাথে নিয়ে) তার ব্লগে: https://www.paulirish.com/2010/the-protocol-relative-url/ যেখান থেকে আমি নীচে উদ্ধৃত করেছি:
আই 6 সুরক্ষা সুরক্ষা-সংলাপ চিত্র, উত্স: http://paulirish.com/i/7b01.png

2011.01.23: কিন্তু ... গুগল অ্যানালিটিক্স স্নিপেটে এটি ব্যবহার সম্পর্কে কী ?
হ্যাঁ, এটি কি সুন্দর হবে না ... তাই আমি গুগল অ্যানালিটিক্স জাভাস্ক্রিপ্ট লিড বিকাশকারী (Godশ্বর, আমি গুগলে কাজ করা পছন্দ করি) এর সাথে কাজ করেছিলাম তা দেখার জন্য যে আমরা এটি করতে পারি ... দেখা যাচ্ছে যে আমরা পারব না। আই 6-তে একটি কিনার্গ বাগ রয়েছে যা 'অ-এসএসএল' সাবডোমেন থেকে অনুরোধ করার সময় কিছু সুরক্ষা সেটিংসের অধীনে (সেগুলি ডিফল্ট হয় কিনা তা নিশ্চিত নয়) অধীনে একটি কথোপকথন ফুরিয়ে যায়। স্ক্রিনশট এখানে । সুতরাং আপনার জিএ স্নিপেট থেকে 40 বাইট নিচে নির্দ্বিধায় নিন যদি আপনি আই 6 এর বিষয়ে চিন্তা করেন না .. অন্যথায় আপনার সেই টার্নারি অপারেটরের দরকার হবে onna `:)`
2011.12.24। আইই 6 কেন ভাল জিএ খেলছে না সে সম্পর্কে এরিক আইন (আইই দল থেকে) ছিমছাম ...
আইআই in এ এটি কাজ না করার কারণটি হ'ল সার্ভারটি কী শংসাপত্র ফেরত দিতে পারে তা ছাড়ানোর জন্য এসএনআই ব্যবহার করছে। এক্সপি (এবং এইভাবে আই 6) এইচটিটিপিএস স্ট্যাকের এসএনআই সমর্থন করে নাবিশদ জন্য দেখুন


1

আপনি ইতিমধ্যে গুগল অ্যানালিটিক্সের ক্ষেত্রে পার্থক্যটি নির্দেশ করেছেন, এর https://ssl.পরিবর্তে সুরক্ষিত সংস্করণ চালু রয়েছে http://www.। Www এর সুরক্ষিত সংস্করণটি কাজ করতে পারে, তবে এটি এসএসএল সংস্করণ থেকেও আলাদা হতে পারে:

  • এসএসএল সংস্করণ এবং www সংস্করণের জন্য বিভিন্ন শংসাপত্র।
  • প্রতিটি সংস্করণে বিভিন্ন কোড।
  • এসএসএল ডোমেনের জন্য নির্দিষ্ট বিভিন্ন কুকিজ সেট set

যদিও এগুলির কোনওটি গুগলে প্রয়োগ হয় কিনা তা আমি জানি না। এক নজরে কোডটি দেখতে একই রকম মনে হয়েছিল।


আর একটি উদাহরণ হ'ল ফন্ট লোডার কোড. google.com/apis/webfouts/docs/webfont_loader.html এখানে ডোমেনের কোনও পার্থক্য নেই। তাদের কোডের প্রতিটি বয়লারপ্লেট উদাহরণ একই ধাঁচ অনুসরণ করে।
মেটালশার্ক

সেক্ষেত্রে তারা একই ডোমেন ব্যবহার করছে। হতে পারে এমন কিছু প্রত্নতাত্ত্বিক ব্রাউজার রয়েছে যা //প্রোটোকলকে স্বীকৃতি দেয় না ?
অসন্তুষ্ট গোয়াট

এটি ছিল ভাবনা, তবে কোনটি, আরও গুরুত্বপূর্ণ যে কোনটি ওয়েব ফন্টকে সমর্থন করে? এটি কি আরও সমান্তরাল আচরণের অনুমতি দেয় (কোয়ান্টাম পদার্থবিজ্ঞানের স্টাইল, প্রোটো পড়ে এটি ব্রাউজারের অবস্থার পরিবর্তন করে)? আমি পুঙ্খানুপুঙ্খভাবে পরীক্ষা করেছি এবং এখনও যুক্তিটি দেখতে
পাইনি

0

এই স্ট্যাক ওভারফ্লো উত্তরটি কিছু ভাল পয়েন্ট দেয়।

প্রোটোকলটি স্পষ্টভাবে উল্লেখ করা গুরুত্বপূর্ণ হবে যাতে স্থানীয় ড্রাইভ ( file:) থেকে খোলা একটি নথির মধ্যে বা "iframe ম্যাজিক" ( about:) ব্যবহার করার সময় লক্ষ্য সম্পদটি সঠিকভাবে লোড করা যায় ।


0

//www.google-analytics.com/ga.jsএটির মান অনুযায়ী কোনও ইউআরএল নয়, কারণ এতে স্কিমের অভাব রয়েছে যা বাধ্যতামূলক। এটি কাজ করে এবং ব্যবহৃত হয়, তবে এটি ইউআরএল স্ট্যান্ডার্ড অনুসারে মেনে চলে না।

আরএফসি 3986 §3 দেখুন:

স্কিম এবং পথের উপাদানগুলি প্রয়োজনীয়, যদিও পথটি ফাঁকা থাকতে পারে (কোনও অক্ষর নেই)। কর্তৃপক্ষ উপস্থিত থাকলে, পথটি অবশ্যই ফাঁকা বা স্ল্যাশ ("/") অক্ষর দিয়ে শুরু হওয়া উচিত। কর্তৃপক্ষ উপস্থিত না থাকলে, পথ দুটি স্ল্যাশ অক্ষর ("//") দিয়ে শুরু করতে পারে না।


ব্রাউজারগুলিতে স্কিমটি যেখানে একই সেখানে প্রয়োজনীয় নয় required
ধাতবক্ষ

আরএফসি পড়ুন দয়া করে: সমস্ত ইউআরএলে স্কিমটি বাধ্যতামূলক। এটি কাজের ক্ষেত্রে যা হয় তা নির্বিশেষে, মানকটি অন্যথায় বলে এবং বন্যের মধ্যে বিচ্যুতিও রয়েছে।
প্যাট্রিক মেভজেক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.