ক্রোমিয়াম / ক্রোম ডিএনএস অনুরোধকে এক মিনিটেরও বেশি সময় ধরে ক্যাশে করে না।
আকর্ষণীয়ভাবে যথেষ্ট, বাগ-ক্রোমিয়াম থেকে - ইস্যু 164026 - ডিএনএস টিটিএল 21 এপ্রিল ২০১১ থেকে সম্মানিত হয়নি
সিস্টেমে একমাত্র ডিএনএস ক্যাশে ক্রোম রয়েছে এবং এটি টিটিএলকে সম্মান করে না। আমাদেরকে হয় ক্রোম ঠিক করতে এবং / অথবা একটি মধ্যবর্তী ক্যাশে যুক্ত করতে হবে যা টিটিএলকে সঠিকভাবে পরিচালনা করে না।
ডিসেম্বর 4 2012 এর টিকিটে উত্তর:
হোস্টকচে বর্তমানে সমস্ত ইতিবাচক ফলাফলের জন্য টিটিএল = 60 এর দশক ধরেছে। অ্যাসিঙ্ক্রোনাস ডিএনএস রিসলভার সহ, আমরা টিটিএল = সর্বোচ্চ (60s, সার্ভার_রেপোর্ট_এইচটিএল), অর্থাৎ কমপক্ষে 60 এর ব্যবহার করার পরিকল্পনা করছি। যুক্তি হ'ল ক্যাশে কর্মক্ষমতা উন্নত করা। (যখন কোনও সিডিএন এনএস টিটিএল = 10-20 সেকেন্ড সরবরাহ করে এবং সমস্ত সাবসোর্সগুলি আনতে 30 ++ লাগে, আমাদের প্রায়শই একই পৃষ্ঠার লোডের সময় একই হোস্টনামটির পুনরায় জিজ্ঞাসা করতে হয়))
টিকিট 10 অক্টোবর 2013 এ বন্ধ ছিল:
ক্রোস-এ ক্রোম অ্যাসিনক্রোনাস ডিএনএস রিসলভার ব্যবহার করে যা টিটিএল = সর্বোচ্চ (s০ এর দশকে,> সার্ভার_পরিবর্তিত_এইচটিএল) সম্মান করে
আমি এটি ওন্টফিক্স হিসাবে বন্ধ করছি (অপ্রচলিত / উদ্দেশ্য হিসাবে কাজ করে)।
বছরের পর বছর ধরে এটি একটি পরিচিত সমস্যা; তাদের অভ্যন্তরীণ ডিএনএস সমাধানকারী ডিএনএস রেকর্ডগুলির টিটিএল উপেক্ষা করে এবং কেবল 1 মিনিটের জন্য ডিএনএস অনুরোধকে ক্যাশে করে।
ব্যবহারকারীরা বছরের পর বছর ধরে অনুরোধ করে আসছে, সেই ডিফল্ট আচরণটি পরিবর্তন করার জন্য একটি বৈশিষ্ট্য এবং গুগল কখনই এটি তৈরি করেনি।
অতীতে, আপনি অভ্যন্তরীণ ডিএনএস রেজলভারটি অক্ষম করতে পারতেন chrome://flags
, আজকাল যে কার্যকরীভাবে আর প্রকাশিত হয় না।
সুতরাং এটি সংক্ষেপে এটি একটি বৈশিষ্ট্য, যেমন এটি নকশা দ্বারা এটি করে।
(আমি প্রথম দিকে লিখেছিলাম এটি কখনই পরিবর্তন করা যায় নি, যা স্পষ্টতই সত্য নয় A সত্যিকার অর্থে নির্ধারিত ব্যক্তি ক্রোমিয়াম পুনরায় সংকলন করতে পারে বা ক্রোম বাইনারিগুলি হ্যাক করতে পারে))।
সুতরাং, অ্যাডেন্ডা হিসাবে: প্রচুর নথিভুক্ত প্রমাণ রয়েছে যে গুগল ইঞ্জিনিয়াররা ক্রোম / আইওমে প্রাপ্ত ডিএনএস উত্তরগুলিতে ডিফল্ট টিটিএলকে সম্মান জানাতে চান না।
ডিএনএস প্রশ্নগুলির নেতিবাচক ক্যাচিং থেকে (ডিএনএস এনসিএসিইই)
ইতিবাচক প্রতিক্রিয়াগুলির ক্যাচিংয়ের মতো এটি কোনও রিসোলভারের পক্ষে এটি কতটা নেতিবাচক প্রতিক্রিয়া ক্যাশে করবে তা সীমাবদ্ধ করা বুদ্ধিমানের ...
যখন এটি সংক্রামিত হয় তখন কোনও সমাধানকারী ডিএনএস উত্তর ক্যাশে দেওয়ার ক্ষেত্রে সর্বাধিক সীমা চাপিয়ে দিতে পারে / উচিত, গুগল ক্রোমে 1-মিনিটের সীমাটি খুব কম হতে পারে।
পিএস আমি আসলে এমন কিছুর উত্তর খুঁজে পেয়েছি যা বছরের পর বছর ধরে আমাকে ক্রুদ্ধ করে চলেছে এই প্রশ্নের উত্তর দেওয়ার জন্য ক্রোম স্ট্যাটাসগুলি: ক্রোম: ডিএনএস র্যান্ডম ডিএনএস নামের অনুরোধ: ম্যালওয়্যার?
পিপিএস কোড বেলো থেকে, এটি স্পষ্টত নেতিবাচক উত্তরগুলি ক্যাশে করা হয় না (টিটিএল = 0)।
Https://chromium.googlesource.com/chromium/src/net/dns/host_resolver_impl.cc থেকে
99 // Default TTL for successful resolutions with ProcTask.
100 const unsigned kCacheEntryTTLSeconds = 60;
101
102 // Default TTL for unsuccessful resolutions with ProcTask.
103 const unsigned kNegativeCacheEntryTTLSeconds = 0;
104
105 // Minimum TTL for successful resolutions with DnsTask.
106 const unsigned kMinimumTTLSeconds = kCacheEntryTTLSeconds;
1518 // Called by ProcTask when it completes.
1519 void OnProcTaskComplete(base::TimeTicks start_time,
1520 int net_error,
1521 const AddressList& addr_list) {
1522 DCHECK(is_proc_running());
1523
1524 if (dns_task_error_ != OK) {
1525 base::TimeDelta duration = base::TimeTicks::Now() - start_time;
1526 if (net_error == OK) {
1527 UMA_HISTOGRAM_LONG_TIMES_100("AsyncDNS.FallbackSuccess", duration);
1528 if ((dns_task_error_ == ERR_NAME_NOT_RESOLVED) &&
1529 ResemblesNetBIOSName(key_.hostname)) {
1530 UmaAsyncDnsResolveStatus(RESOLVE_STATUS_SUSPECT_NETBIOS);
1531 } else {
1532 UmaAsyncDnsResolveStatus(RESOLVE_STATUS_PROC_SUCCESS);
1533 }
1534 base::UmaHistogramSparse("Net.DNS.DnsTask.Errors",
1535 std::abs(dns_task_error_));
1536 resolver_->OnDnsTaskResolve(dns_task_error_);
1537 } else {
1538 UMA_HISTOGRAM_LONG_TIMES_100("AsyncDNS.FallbackFail", duration);
1539 UmaAsyncDnsResolveStatus(RESOLVE_STATUS_FAIL);
1540 }
1541 }
1542
1543 if (ContainsIcannNameCollisionIp(addr_list))
1544 net_error = ERR_ICANN_NAME_COLLISION;
1545
1546 base::TimeDelta ttl =
# always 0 seconds
1547 base::TimeDelta::FromSeconds(kNegativeCacheEntryTTLSeconds);
1548 if (net_error == OK)
# always 60 seconds
1549 ttl = base::TimeDelta::FromSeconds(kCacheEntryTTLSeconds);
1550
1551 // Source unknown because the system resolver could have gotten it from a
1552 // hosts file, its own cache, a DNS lookup or somewhere else.
1553 // Don't store the |ttl| in cache since it's not obtained from the server.
1554 CompleteRequests(
1555 MakeCacheEntry(net_error, addr_list, HostCache::Entry::SOURCE_UNKNOWN),
1556 ttl);
1557 }