কোনও <লিপি src = “http: //…”>> তে http: // // এর সাথে প্রতিস্থাপন বৈধ?


458

আমি নিম্নলিখিত উপাদান আছে:

<script type="text/javascript" src="https://cdn.example.com/js_file.js"></script>

এক্ষেত্রে সাইটটি এইচটিটিপিএস, তবে সাইটটি কেবল এইচটিটিপিএসও হতে পারে। (জেএস ফাইলটি অন্য ডোমেনে রয়েছে)) আমি ভাবছি সুবিধার জন্য নিম্নলিখিতটি করা বৈধ কিনা I'm

<script type="text/javascript" src="//cdn.example.com/js_file.js"></script>

আমি ভাবছি এটি অপসারণ করার জন্য এটি বৈধ কিনা http: বা https:?

দেখে মনে হচ্ছে যে আমি যেখানে পরীক্ষা করেছি সেখানেই কাজ হয়েছে, তবে এমন কোনও ঘটনা আছে যেখানে এটি কাজ করে না?


2
"এটি সর্বত্র কাজ করে বলে মনে হচ্ছে" কি চিত্র, আইফ্রেমেস, লিঙ্ক-রিলস ইত্যাদি ইত্যাদিতে সাধারণীকরণ করা যেতে পারে? এটি আকর্ষণীয় জিনিস, যদি তাই হয়।
12345

হ্যাঁ, এটি এমন কোনও জায়গায় কাজ করা উচিত যা ইউআরআই'র জন্য ডাকে: চিত্র, লিঙ্ক, ইত্যাদি এটি ব্যবহারে দেখা বিরল হতে পারে তবে এটি পুরোপুরি বৈধ।
জেফ

1
তাত্ক্ষণিকভাবে এগিয়ে যাওয়া ছেলেদের সাথে কি হবে? প্রশ্নটি খারাপ বা কিছু নয়, আমি কেবল কৌতূহলী। তবে আমি বাজি ধরছি ক্রিসের অন্তর খ্যাতির একটা প্রভাব আছে।
ফ্রেডেরিক ওয়ার্ডেন্সকজোল্ড

13
@ ফ্রেডেরিক: কারণ এটি একটি মনোমুগ্ধকর এবং কার্যকর কৌশল যা বেশিরভাগ লোকই আপাতভাবে অবগত নয়।
স্ল্যাक्स

8
@ ফ্রেডেরিক: কী?
স্ল্যাक्स

উত্তর:


387

কোনও স্কিম ছাড়াই একটি সম্পর্কিত URL (http: বা https :) বৈধ, আরএফসি 3986 অনুযায়ী: "ইউনিফর্ম রিসোর্স আইডেন্টিফায়ার (ইউআরআই): জেনেরিক সিনট্যাক্স", বিভাগ 4.2 । যদি কোনও ক্লায়েন্ট এটির উপরে চাপ দেয় তবে ক্লায়েন্টের দোষ কারণ তারা আরএফসিতে উল্লিখিত ইউআরআই সিনট্যাক্সটি মেনে চলে না।

আপনার উদাহরণ বৈধ এবং কাজ করা উচিত। ভারী পাচার হওয়া সাইটগুলিতে আমি সেই আপেক্ষিক ইউআরএল পদ্ধতিটি ব্যবহার করেছি এবং শূন্য অভিযোগ পেয়েছি। এছাড়াও, আমরা ফায়ারফক্স, সাফারি, আই 6, আই 7 এবং অপেরাতে আমাদের সাইটগুলি পরীক্ষা করি। এই ব্রাউজারগুলি সকলেই সেই URL ফর্ম্যাটটি বুঝতে পারে।


30
"যদি কোনও ক্লায়েন্ট এটির উপরে চাপ দেয়, তবে এটি ক্লায়েন্টের দোষের কারণ তারা আরএফসিতে উল্লিখিত ইউআরআই সিনট্যাক্স মেনে চলছেন না।" - আমি মনে করি এটি একটি আকর্ষণীয় প্রশ্ন - তবে কোনও ক্লায়েন্ট "অনুমান" অনুসরণ করে কিনা এটি কোনও ওয়েব অ্যাপ্লিকেশনে করা বুদ্ধিমানের জন্য খুব ভাল মানের নয়।
ম্যাট হাওয়েল

6
যদিও এই কৌশলটি খুব কম পরিচিত বলে মনে হচ্ছে, এটি সমস্ত ওয়েব ব্রাউজারগুলিতে সমর্থিত। এটা ঠিক দুর্দান্ত কাজ করে।
নেড ব্যাচেল্ডার

8
আমি ভাবছি কেন গুগল এটি বিশ্লেষণের জন্য ব্যবহার করে না। তারা ডকুমেন্ট.লোকেশন.প্রোটোকল পদ্ধতি ব্যবহার করে।
ড্যারিল হেইন

5
@ ড্যারিল হেইন আমি বিশ্বাস করি গুগল ডকুমেন্ট.লোকেশন.প্রোটোকল পদ্ধতি ব্যবহার করে কারণ এটি কেবল স্কিমই নয়, ইউআরএলকেও পরিবর্তন করে। যদি দস্তাবেজটি https ব্যবহার করে তবে তারা SSL.google-analytics.com এ যান ।
নিক মেল্ড্রাম

18
গুগল এটি ব্যবহার করে না কারণ উইন্ডোজ এক্সপি নেটওয়ার্ক স্ট্যাক এসএনআই সমর্থন করে না। এখানে দেখুন: ব্লগস.এমএসএনএন / বি / ইনটার্নালস / অর্চিভ / ২০০৯ / 12 / 07/… । সুতরাং আই 6 এ https এর মাধ্যমে গুগল অ্যানালিটিক্স স্ক্রিপ্ট লোড করার অনুমতি দেওয়ার ফলে শংসাপত্রের ত্রুটির সৃষ্টি হবে।
ইলিস্ট্রাই

152

এটি যে কোনও মূলধারার ব্রাউজারে কাজ করার গ্যারান্টিযুক্ত (আমি 0.05% এর কম শেয়ারের বিবেচনাধীন ব্রাউজারগুলি নিচ্ছি না)। হেক, এটি ইন্টারনেট এক্সপ্লোরার 3.0 এ কাজ করে।

আরএফসি 3986 নীচের অংশগুলির সমন্বয়ে একটি ইউআরআই সংজ্ঞা দেয়:

     foo://example.com:8042/over/there?name=ferret#nose
     \_/   \______________/\_________/ \_________/ \__/
      |           |            |            |        |
   scheme     authority       path        query   fragment

আপেক্ষিক ইউআরআই ( বিভাগ 5.2 ) সংজ্ঞায়িত করার সময় , আপনি সর্বদা বাম থেকে শুরু করে sections বিভাগগুলির কোনওটি বাদ দিতে পারেন। সিউডো-কোডে, এটি দেখতে এটির মতো দেখাচ্ছে:

 result = ""

  if defined(scheme) then
     append scheme to result;
     append ":" to result;
  endif;

  if defined(authority) then
     append "//" to result;
     append authority to result;
  endif;

  append path to result;

  if defined(query) then
     append "?" to result;
     append query to result;
  endif;

  if defined(fragment) then
     append "#" to result;
     append fragment to result;
  endif;

  return result;

আপনি যে ইউআরআই বর্ণনা করছেন তা হ'ল একটি স্কিম-তুলনামূলক কম ইউআরআই।


1
হ্যাঁ আমি অনুমান করি যে আমি মনে করি স্কিম এবং কর্তৃপক্ষ সবসময় পারস্পরিক নির্ভরশীল। এটি উপলব্ধি করে যে এটি না, তবে এটি এমন কিছু নয় যা আমি খুব সম্প্রতি পর্যন্ত মুখোমুখি হয়েছি।
ক্রিস

1
এটি কোনও ব্রাউজারে কাজ করার নিশ্চয়তা নেই। এটি কেবলমাত্র আরএফসি অনুসরণ করে এমন ব্রাউজারগুলিতে কাজ করার গ্যারান্টিযুক্ত।

2
@ রজার পেট: আমি এখনও দেখতে পেলাম যে কোনও ব্রাউজার ইউআরআইয়ের জন্য আরএফসি অনুসরণ করে না। এই নির্দিষ্ট স্ট্যান্ডার্ডটি এত দিন ধরে ছিল ... আমি কেবল এটি আই 3.0 তে পরীক্ষা করেছি এবং এটি এটি পুরোপুরি সূক্ষ্ম বোঝে। আপনি যদি এমন কোনও ব্রাউজারে পড়ে থাকেন যা এই লিঙ্কগুলি বুঝতে পারে না, তবে সম্ভাবনা কি এটি এমন একটি প্রান্তিক ব্রাউজার যে কোনও বিষয় নয়।
অ্যান্ড্রু মুর

1
@ অ্যান্ড্রু: হতে পারে আপনি আমার থেকে পৃথক, তবে আমি যখন প্রোগ্রামিংয়ের প্রসঙ্গে "গ্যারান্টি" বলি, তখন সত্যই আমি বোঝাতে চাইছি "সম্ভবত এটি সম্ভব, কখনও ব্যর্থ হতে পারে" এমন কোনও উপায় নেই যা কেবল জনপ্রিয় বাস্তবায়নে কাজ করে যা আমি ' পরীক্ষা করা হয়েছে। " আমি এর থেকে বড় চুক্তি করতে চাইনি, তবে উল্লেখ করার পক্ষে এটি যথেষ্ট গুরুত্বপূর্ণ বলে মনে হয়েছিল।

4
@ রোজার: হ্যাঁ, তবে ওয়েব বিকাশের প্রসঙ্গে প্রান্তিক ব্রাউজারগুলি (<0.01% মার্কেট শেয়ার) বিবেচনায় নেওয়া হয় না। এটি বলার মতো যা একটি উইন্ডোজের সমস্ত সংস্করণে একটি এপিআই উপস্থিত থাকে এবং তারপরে কেউ আসে যে এটি
অ্যান্ড্রু মুর

79

এমন কোনও মামলা আছে যেখানে এটি কাজ করে না?

যদি মূল পৃষ্ঠাটি লোড করা হয়েছিল file://, তবে এটি সম্ভবত কাজ করে না (এটি পাওয়ার চেষ্টা করবে file://cdn.example.com/js_file.js, অবশ্যই আপনি স্থানীয়ভাবেও কী সরবরাহ করতে পারেন)।


19
লোকাল মেশিনে এইচটিএমএল পরীক্ষা করার জন্য ছেলেরা অবশ্যই জানতে হবে!
ফিলিপ 7007

আরগ ... অবাক script src="//..."হওয়ার কিছু নেই যে আমার কাজ করছিল না! আমি স্থানীয়ভাবে এইচটিএমএল ফাইলটি খুলছিলাম!
উইসবুকি

কেউ কি এর চারিদিকে কোন উপায় জানেন?
km6zla

@ ওজিসি-নিক: আপনি একটি স্থানীয় ওয়েব সার্ভার চালাতে পারেন। শূন্য কনফিগারেশন সহ আজকাল প্রচুর বিকল্প। আপনি যেভাবেই হোক তা চাই, যেমন অন্যান্য অনেক জিনিস (যেমন এক্সএইচআর বা ওয়েব কর্মীরা ফাইল: ডোমেনের জন্যও কাজ করে না)
থিলো

@ থিলো আমার জন্য অস্থায়ীভাবে কাজ করছে তবে আমি গিথুব এর ইলেক্ট্রন নিয়ে একটি অ্যাপ তৈরি করছি এবং এটি কিছুটা জটিল হয়ে ওঠে gets
km6zla

41

অনেকে এটিকে একটি প্রোটোকল সম্পর্কিত URL বলে।

এটি IE 7 এবং 8 এ সিএসএস ফাইলগুলির একটি ডাবল ডাউনলোডের কারণ হয়ে থাকে


@ অ্যান্ড্রুমূড় হিসাবে "জিনিস" বাদ না দেওয়া ওয়েব প্রোটোকলকে ইঙ্গিত করে, একে "প্রোটোকল আপেক্ষিক" বলা আরও অর্থবোধ করে। আমি কখনই ftp বা HTTP কে "স্কিম" বলা হচ্ছে শুনিনি ...
Cerin

25

এইচটিএমএল এর লুকানো বৈশিষ্ট্যগুলিতে আমি উত্তরটির নকল করি :

একটি প্রোটোকল-স্বাধীন পরম পাথ ব্যবহার:

<img src="//domain.com/img/logo.png"/>

ব্রাউজারটি যদি এইচটিটিপিএসের মাধ্যমে এসএসএলে কোনও পৃষ্ঠা দেখছে, তবে এটি https প্রোটোকলের সাহায্যে সেই সম্পত্তির জন্য অনুরোধ করবে, অন্যথায় এটি এইচটিটিপি দিয়ে অনুরোধ করবে।

আপনার সমস্ত সম্পত্তির অনুরোধগুলি একই প্রোটোকলের মধ্যে রেখে, এই আইআই-তে এই "ভয়ঙ্কর" এই পৃষ্ঠায় সুরক্ষিত এবং অ-সুরক্ষিত আইটেম উভয়ই রয়েছে "ত্রুটি বার্তাটি প্রতিরোধ করে।

ক্যাভিয়েট: <link>স্টাইলশিটের জন্য যখন বা @ আম্পোর্টে ব্যবহৃত হয়, তখন আই 7 এবং আই 8 ফাইলটি দু'বার ডাউনলোড করুন । অন্যান্য সমস্ত ব্যবহার, ঠিক আছে।


17

প্রোটোকলটি ছেড়ে দেওয়া পুরোপুরি বৈধ। ইউআরএল স্পেকটি বছরের পর বছর ধরে এ সম্পর্কে খুব স্পষ্ট ছিল এবং আমি এখনও এমন একটি ব্রাউজার খুঁজে পেয়েছি যা এটি বুঝতে পারে না। আমি জানি না কেন এই কৌশলটি বেশি পরিচিত নয়; এটি এইচটিটিপি / এইচটিটিপিএস সীমানা অতিক্রম করার কাঁটা সমস্যার সঠিক সমাধান। এখানে আরও: এইচটিটিপি-https রূপান্তর এবং আপেক্ষিক ইউআরএল


7

এমন কোনও মামলা আছে যেখানে এটি কাজ করে না?

এটি কেবল মিশ্রণে ফেলে দিতে, যদি আপনি একটি স্থানীয় সার্ভারে বিকাশ করে থাকেন তবে এটি কার্যকর নাও হতে পারে। আপনি একটি স্কিম নির্দিষ্ট করার অন্যথায় ব্রাউজার অনুমান হতে পারে যে প্রয়োজন, src="//cdn.example.com/js_file.js"হয় src="file://cdn.example.com/js_file.js", যা যেহেতু আপনি এই সম্পদ স্থানীয়ভাবে হোস্টিং করছি না ভঙ্গ করবে।

মাইক্রোসফ্ট ইন্টারনেট এক্সপ্লোরার এটি সম্পর্কে বিশেষ সংবেদনশীল বলে মনে হচ্ছে, এই প্রশ্নটি দেখুন: লোকালহোস্টের (ডাব্লুএএমপি) ইন্টারনেট এক্সপ্লোরারে jQuery লোড করতে সক্ষম নয়

আপনি সম্ভবত সর্বদা এমন একটি সন্ধানের চেষ্টা করবেন যা আপনার সমস্ত পরিবেশে কমপক্ষে পরিবর্তনগুলির প্রয়োজনীয়তার সাথে কাজ করে।

এইচটিএমএল 5 বয়লারপ্লেট দ্বারা ব্যবহৃত সমাধানটি যখন রিসোর্সটি সঠিকভাবে লোড করা হয় না তখন একটি ফ্যালব্যাক পাওয়া যায়, তবে আপনি যদি চেক অন্তর্ভুক্ত করেন তবে এটি কেবলমাত্র কাজ করে:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<!-- If jQuery is not defined, something went wrong and we'll load the local file -->
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><\/script>')</script>

আপডেট: HTML5Boilerplate এখন <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.jsপ্রোটোকল সম্পর্কিত সম্পর্কিত URL গুলি অবমূল্যায়ন করার সিদ্ধান্ত নেওয়ার পরে ব্যবহার করুন , [এখানে] [3] দেখুন।


4

Gnud এর রেফারেন্স অনুসরণ করে, আরএফসি 3986 ধারা 5.2 বলছে:

যদি প্রকল্পের উপাদানটি সংজ্ঞায়িত করা হয়, ইঙ্গিত করে যে রেফারেন্সটি কোনও স্কিমের নামের সাথে শুরু হয়, তবে রেফারেন্সটি পরম ইউআরআই হিসাবে ব্যাখ্যা করা হয় এবং আমরা সম্পন্ন হয়ে যাই। অন্যথায়, রেফারেন্স ইউআরআই-এর স্কিমটি বেস ইউআরআইয়ের স্কিম উপাদান থেকে উত্তরাধিকার সূত্রে প্রাপ্ত

সুতরাং //সঠিক :-)


3

হ্যাঁ, এটি আরএফসি 3986 , বিভাগ 5.2 তে নথিভুক্ত হয়েছে :

(সম্পাদনা: ওফস, আমার আরএফসি রেফারেন্সটি পুরানো ছিল)।


3

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

এগুলি ধরতে এবং সেগুলি পুনর্নির্দেশ করতে আপনি আপনার ওয়েবসারভারে একটি নিয়ম সেট করতে চাইতে পারেন।

উদাহরণস্বরূপ, এনগিনেক্সের সাথে আপনি এমন কিছু যুক্ত করতে চান:

location ~* /(?<redirect_domain>((([a-z]|[0-9]|\-)+)\.)+([a-z])+)/(?<redirect_path>.*) {
  return 301 $scheme:/$redirect_domain/$redirect_path;
}

তবে খেয়াল রাখবেন যে আপনি যদি আপনার ইউআরআইতে পিরিয়ড ব্যবহার করেন তবে আপনাকে সুনির্দিষ্টতা বাড়াতে হবে বা এটি পৃষ্ঠাগুলি অস্তিত্বহীন ডোমেনে পুনঃনির্দেশিত করবে।

এছাড়াও, প্রতিটি ক্যোয়ারির জন্য এটি চলার জন্য একটি বৃহত আকারের রেজেক্স - আমার মতে, বেশিরভাগ কমপ্লায়েন্ট ব্রাউজারগুলিতে (সামান্য) পারফরম্যান্স হিট করার কারণে অ-সম্মতিযুক্ত ব্রাউজারগুলিকে 404s দিয়ে শাস্তি দেওয়া উপযুক্ত।


3

জেএস ফাইলগুলির উল্লেখ হিসাবে //somedomain.com ব্যবহার করার সময় আমরা আমাদের লগগুলিতে 404 ত্রুটি দেখতে পাচ্ছি।

404 এর কারণগুলির জন্য উল্লেখগুলি এমনভাবে বেরিয়ে আসে: রেফ:

<script src="//somedomain.com/somescript.js" />

404 অনুরোধ:

http://mydomain.com//somedomain.com/somescript.js

এগুলি আমাদের ওয়েব সার্ভার লগগুলিতে নিয়মিত প্রদর্শিত হওয়ার সাথে সাথে এটি নিরাপদে বলা যায়: সমস্ত ব্রাউজার এবং বটগুলি আরএফসি 3986 বিভাগ 4.2 এর সম্মান দেয় না । সবচেয়ে নিরাপদ বেট হ'ল যখনই সম্ভব প্রোটোকল অন্তর্ভুক্ত করা।


হ্যাঁ, আমি এ থেকে দূরে সরে এসেছি, তবে 404s এর কারণে নয় (আমি কোনও 404s কখনও দেখিনি ... যদি একটি বট এটি সম্মান না করে তবে আমি কম যত্ন নিতে পারি) - কারণ আমি আর সংস্থানগুলি লোড করি না) অন্যান্য সিডিএন যাতে আমার এটি করার প্রয়োজন হয় না (পরিবর্তে আমি 1 বা 2 ফাইলে যতটা সম্ভব কমিয়ে দেই)।
ড্যারিল হেইন

1
প্রোটোকল অন্তর্ভুক্ত করুন। আমার কর্ডোভা অ্যাপ্লিকেশনটিতে প্রোটোকল-কম রেফেস বিরতি।
pgorsira

3

1. সংক্ষিপ্তসার

2019 এর উত্তর: আপনি এখনও প্রোটোকল-সম্পর্কিত ইউআরএল ব্যবহার করতে পারেন, তবে এই কৌশলটি একটি অ্যান্টি-প্যাটার্ন

এছাড়াও:

  1. আপনার বিকাশে সমস্যা হতে পারে।
  2. কিছু তৃতীয় পক্ষের সরঞ্জামগুলি তাদের সমর্থন নাও করতে পারে।

প্রোটোকল-সম্পর্কিত ইউআরএল থেকে এতে https://সরিয়ে নেওয়া ভাল লাগবে।


2. প্রাসঙ্গিকতা

এই উত্তরটি জানুয়ারী 2019 এর জন্য প্রাসঙ্গিক the ভবিষ্যতে এই উত্তরের ডেটা অপ্রচলিত হতে পারে।


৩.অ্যান্টি-প্যাটার্ন

3.1। যুক্তিপ্রদর্শন

পল আইরিশ - ফ্রন্ট-এন্ড ইঞ্জিনিয়ার এবং গুগল ক্রোমের ডেভেলপার অ্যাডভোকেট - ২০১৪, ডিসেম্বরে লিখুন :

এখন যেহেতু এসএসএল সবার জন্য উত্সাহিত এবং পারফরম্যান্স সম্পর্কিত উদ্বেগ নেই , এই কৌশলটি এখন একটি অ্যান্টি-প্যাটার্ন । যদি আপনার প্রয়োজনীয় সম্পদটি এসএসএলে পাওয়া যায় তবে সর্বদা এটি ব্যবহার করুনhttps:// সম্পদটি ।

এইচটিটিপি-র মাধ্যমে স্নিপেটকে অনুরোধ করার অনুমতি দেওয়া সাম্প্রতিক গিটহাব ম্যান-অন-সাইড অ্যাটাকের মতো আক্রমণগুলির দ্বার উন্মুক্ত করে । আপনার সাইটটি এইচটিটিপিতে থাকলেও এইচটিটিপিএস সম্পদগুলির জন্য অনুরোধ করা সর্বদা নিরাপদ তবে বিপরীতটি সত্য নয়

3.2। অন্য লিঙ্ক

3.3। উদাহরণ


৪. উন্নয়নশীল প্রক্রিয়া

উদাহরণস্বরূপ, আমি ক্লিন-কনসোল ব্যবহার করার চেষ্টা করি ।

  • উদাহরণ ফাইল KiraCleanConsole__cdn_links_demo.html:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>clean-console without protocol demonstration</title>
    <!-- Really dead link -->
    <script src="https://unpkg.com/bowser@latest/bowser.min.js"></script>
    <!-- Package exists; link without “https:” -->
    <script src="//cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js"></script>
    <!-- Package exists: link with “https:” -->
    <script src="https://cdn.jsdelivr.net/npm/gemini-scrollbar/index.js"></script>
</head>
<body>
    Kira Goddess!
</body>
</html>
  • আউটপুট:
D:\SashaDebugging>clean-console -i KiraCleanConsole__cdn_links_demo.html
checking KiraCleanConsole__cdn_links_demo.html
phantomjs: opening page KiraCleanConsole__cdn_links_demo.html

phantomjs: Unable to load resource (#3URL:file://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js)


phantomjs:   phantomjs://code/runner.js:30 in onResourceError
Error code: 203. Description: Error opening //cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js: The network path was not found.

  phantomjs://code/runner.js:31 in onResourceError

phantomjs: Unable to load resource (#5URL:https://unpkg.com/bowser@2.1.0/bowser.min.js)


phantomjs:   phantomjs://code/runner.js:30 in onResourceError
Error code: 203. Description: Error downloading https://unpkg.com/bowser@2.1.0/bowser.min.js - server replied: Not Found

  phantomjs://code/runner.js:31 in onResourceError

phantomjs: Checking errors after sleeping for 1000ms
2 error(s) on KiraCleanConsole__cdn_links_demo.html

phantomjs process exited with code 2

লিঙ্কটি //cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.jsবৈধ, তবে আমি একটি ত্রুটি পেয়েছি।

সম্পর্কে Thilo এবং bg17aw উত্তরগুলিতে মনোযোগ দিন file://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.jsএবং পড়ুন ।file://

আমি এই আচরণ সম্পর্কে জানতাম না এবং পেজেরার জন্য কেন আমার এই জাতীয় সমস্যা রয়েছে তা বুঝতে পারি না ।


5. তৃতীয় পক্ষের সরঞ্জাম

আমি ক্লিকযোগ্য URL গুলি সাবালাইম পাঠ্য প্যাকেজটি ব্যবহার করি । এটি ব্যবহার করুন, আমি ব্রাউজারে কেবল আমার পাঠ্য সম্পাদক থেকে লিঙ্কগুলি খুলতে পারি।

সিএসএস উদাহরণ লিঙ্ক

উদাহরণস্বরূপ উভয় লিঙ্কই বৈধ। তবে প্রথম লিঙ্কটি আমি সফলভাবে ব্রাউজারে ক্লিকযোগ্য ইউআরএল ব্যবহার করতে পারি, দ্বিতীয় লিঙ্ক - না। এটি খুব সুবিধাজনক নাও হতে পারে।


6। উপসংহার

হ্যাঁ:

  1. Developing processআইটেম হিসাবে আপনার যদি সমস্যা হয় তবে আপনি আপনার বিকাশ কর্মপ্রবাহ সেট করতে পারেন।
  2. অন্যথায় Third-party toolsআইটেম হিসাবে আপনার সমস্যা আছে , আপনি সরঞ্জাম অবদান রাখতে পারেন।

তবে আপনার এই অতিরিক্ত সমস্যাগুলির দরকার নেই। Anti-patternআইটেমের লিঙ্কগুলির মাধ্যমে তথ্য পড়ুন : প্রোটোকল-সম্পর্কিত ইউআরএলগুলি অপ্রচলিত।


2

এইচটিএমএল 5-বয়লারপ্লেটে আমি যে প্যাটার্নটি দেখছি তা হ'ল:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><\/script>')</script>

এটা তোলে মত বিভিন্ন প্রকল্প-এর উপর মসৃণ চালায় http, https, file


এই আর সত্য, দেখতে stackoverflow.com/a/37609402/2237601 বা এখানে , তারা এখন ব্যবহার https://সব কিছুর জন্য
bg17aw

@ বিজি ১aw https://everywhereaw সর্বত্র ব্যবহার করার ক্ষেত্রে সমস্যাটি হ'ল আপনার বাহ্যিক লিঙ্কগুলি প্রকৃতপক্ষে এটি সমর্থন করে কিনা তা পরীক্ষা করে দেখতে হবে এবং সেগুলি না http://করলে সেগুলিতে পরিবর্তন করতে হবে (অন্যথায় তারা কাজ করবে না)। এটি সংখ্যক লিঙ্কের সাথে ঝামেলা হতে পারে।
tomasz86

@ tomasz86 আপনি পয়েন্টটি মিস করছেন, আমি কেবল সিডিএন থেকে লিখিত সামগ্রীর সাথে সম্পর্কিত লিঙ্কের বিশেষ ক্ষেত্রে পুনরায় প্রকাশ করছি। আজকাল তার জন্য https: // বাধ্যতামূলক। উত্তরটি একটি নির্দিষ্ট কেস (এইচটিএমএল 5-বয়লারপ্লেট) সম্পর্কেও কথা বলে। আপনারা যেমন বলছেন তেমন কোনও "HTTP- র জন্য পরীক্ষা করা" নেই, কারণ CDN গুলি সর্বদা এখন https ব্যবহার করে।
বিজি

@ bg17aw এটি সত্য তবে এখানে সাধারণ প্রশ্নটি কেবল সিডিএন সম্পর্কেই নয়। কেবল এই উত্তরটি / মন্তব্য পড়ে এটি সহজেই ভাবা যায় যে https://সমস্ত লিঙ্কে (বা করা যেতে পারে) যা সঠিক নয়।
tomasz86

@ tomasz86 একাধিক উত্তর থাকার সৌন্দর্য হ'ল এগুলির কোনওটিই নিখুঁত না থাকলে (উত্তরটি যদি নিখুঁত হয় তবে অন্যগুলি মুছতে হবে), সেগুলির কয়েকটি পড়লে আমাদের আরও বিস্তৃত দর্শন পাওয়া যায়। এই ক্ষেত্রে, উত্তরটি বলে "এইচটিএমএল 5 বয়লারপ্লেটের প্যাটার্নটি হ'ল ..." এবং আমার মন্তব্য এই উত্তরটির উল্লেখ করে আপডেট করে "এটি আর এইচটিএমএল 5-বয়লারপ্লেটের প্যাটার্ন নয়" mentioning এটাই. এই নির্দিষ্ট উত্তরের একটি প্রয়োজনীয় সংযোজন। এছাড়াও দয়া করে নোট করুন মূল প্রশ্নটি সত্যই সিডিএন সম্পর্কিত!
বিজি

1

যেমন আপনার উদাহরণটি একটি বাহ্যিক ডোমেনের সাথে সংযোগ স্থাপন করছে, আপনি যদি এইচটিটিপিএস ব্যবহার করে থাকেন তবে আপনাকে অবশ্যই যাচাই করা উচিত যে বাহ্যিক ডোমেনটি এসএসএল-তেও সেটআপ করা আছে। অন্যথায়, আপনার ব্যবহারকারীরা এসএসএল ত্রুটি এবং / অথবা 404 ত্রুটি দেখতে পাবেন (উদাঃ প্লেস্কের পুরানো সংস্করণ পৃথক ফোল্ডারে HTTP এবং HTTPS সঞ্চয় করে)। সিডিএন-এর ক্ষেত্রে এটি কোনও সমস্যা হওয়া উচিত নয় তবে অন্য যে কোনও ওয়েবসাইটের ক্ষেত্রে এটি হতে পারে।

পার্শ্ব নোটে, একটি পুরাতন ওয়েবসাইট আপডেট করার সময় পরীক্ষা করা হয়েছে এবং মেট্রো রিফ্রেশের url = অংশেও কাজ করে।

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