“ ข้อควรระวัง: แสดงส่วนหัวชั่วคราว” ในตัวดีบักเกอร์ Chrome


399

ฉันสังเกตเห็นข้อความเตือนที่แปลกประหลาดเมื่อมองไปที่แหล่งข้อมูลที่ดาวน์โหลดโดยใช้ Google chrome inspector ( F12):

ข้อควรระวังส่วนหัวชั่วคราวจะแสดง

ป้อนคำอธิบายรูปภาพที่นี่

ฉันพบสิ่งที่อาจเกี่ยวข้องแผงควบคุมเครือข่าย: เพิ่มความระมัดระวังเกี่ยวกับส่วนหัวคำขอชั่วคราวแต่ฉันไม่เข้าใจอย่างเต็มที่ สามารถพบคำถามที่เกี่ยวข้องกับคำขอบล็อก ChromeและXMLHttpRequest ไม่สามารถโหลดได้ ทรัพยากรที่ไม่โหลดแสดงความระมัดระวัง: ส่วนหัวชั่วคราวจะปรากฏขึ้น

คล้ายกับคำถามแรกทรัพยากรของฉันถูกบล็อก แต่ต่อมาโหลดทรัพยากรเดียวกันโดยอัตโนมัติ ต่างจากคำถามที่สองฉันไม่ต้องการแก้ไขอะไรเลย ฉันต้องการทราบว่าข้อความนี้หมายถึงอะไรและทำไมฉันจึงได้รับ


3
ปัญหานี้อาจปรากฏขึ้นหาก reuqest ไม่ได้ส่งเนื่องจากการสลับโดเมนเช่นการส่งข้อมูลผ่าน ajax จาก www.domain.tld ไปยัง domain.tld หรือในทางกลับกัน
Andre Baumeier

@wvega มีปัญหาที่คล้ายกันโพสต์ในคำถาม SOนี้แต่ดูเหมือนจะไม่มีคำอธิบายใด ๆ ที่เป็นไปได้สำหรับปัญหาProvisional Headers Sentนี้ มีทางออกที่เป็นรูปธรรมสำหรับเรื่องนี้หรือไม่? น่ารำคาญจริงๆ! ฉันโพสต์คำถามนี้มาก่อน
webblover

1
@webblover มีคำอธิบายที่ดีโดย wvega และฉันก็ไม่ได้มองหาทางออก ฉันอยากรู้เกี่ยวกับเหตุผล
Salvador Dali

มันช่วยฉันได้เมื่อฉันปิดเครื่อง:chrome://flags/#site-isolation-trial-opt-out
ИльяЗеленько

อ่านคำตอบของฉันมันไม่ซับซ้อนอย่างที่เห็น: stackoverflow.com/questions/21177387/…
csandreas1

คำตอบ:


353

ทรัพยากรอาจถูกบล็อกโดยส่วนขยาย (AdBlock ในกรณีของฉัน)

ข้อความมีเนื่องจากการร้องขอเพื่อดึงทรัพยากรนั้นไม่เคยทำดังนั้นส่วนหัวที่ถูกแสดงไม่ใช่สิ่งจริง ตามที่อธิบายในปัญหาที่คุณอ้างถึงส่วนหัวจริงจะได้รับการอัปเดตเมื่อเซิร์ฟเวอร์ตอบกลับ แต่ไม่มีการตอบสนองหากคำขอถูกบล็อก


วิธีที่ฉันพบเกี่ยวกับส่วนขยายที่ปิดกั้นทรัพยากรของฉันคือผ่านเครื่องมือ net-internals ใน Chrome:

สำหรับ Chrome รุ่นล่าสุด

  • พิมพ์chrome://net-export/ในแถบที่อยู่แล้วกด Enter
  • เริ่มการบันทึก และบันทึกไฟล์บันทึกลงในเครื่อง
  • เปิดหน้าเว็บที่แสดงปัญหา
  • กลับไปที่ net-internals
  • คุณสามารถดูไฟล์บันทึกที่บันทึกไว้ที่นี่https://netlog-viewer.appspot.com/#import
  • คลิกที่กิจกรรม (###)และใช้ฟิลด์ข้อความเพื่อค้นหากิจกรรมที่เกี่ยวข้องกับทรัพยากรของคุณ (ใช้บางส่วนของ URL)
  • ในที่สุดคลิกที่เหตุการณ์และดูว่าข้อมูลที่แสดงบอกคุณบางอย่าง

สำหรับโครเมียมรุ่นเก่า

  • พิมพ์chrome://net-internalsในแถบที่อยู่แล้วกด Enter
  • เปิดหน้าเว็บที่แสดงปัญหา
  • กลับไปที่ net-internals คลิกที่กิจกรรม (###)และใช้ฟิลด์ข้อความเพื่อค้นหากิจกรรมที่เกี่ยวข้องกับทรัพยากรของคุณ (ใช้บางส่วนของ URL)
  • ในที่สุดคลิกที่เหตุการณ์และดูว่าข้อมูลที่แสดงบอกคุณบางอย่าง

7
คำตอบของ Shazz ดีกว่า คุณเห็นข้อความนี้ในตัวดีบักเมื่อใดก็ตามที่มีการดึงทรัพยากรจากแคชของเบราว์เซอร์โดยไม่ถามเซิร์ฟเวอร์ว่ามีการเปลี่ยนแปลงเนื้อหาหรือไม่
Maor

4
ฉันคิดว่าคำตอบทั้งคู่ถูกต้องพวกเขาบอกทั้งสองด้านของเรื่องเดียวกัน ข้อความจะปรากฏขึ้นเมื่อคำขอถูกบล็อกหรือทรัพยากรถูกโหลดจากแคช แต่หลังจากทุกคำขอจะเริ่มต้นและในขณะที่เบราว์เซอร์กำลังรอการตอบสนองจากเซิร์ฟเวอร์ ทันทีที่การตอบกลับมาถึงข้อความจะหายไปและส่วนหัวที่แท้จริงจะปรากฏขึ้น
Willington Vega

2
หากหน้าเว็บที่ถูกวิเคราะห์ในขั้นต้นถูกเปลี่ยนเส้นทางเช่น example.com/a -> 301-> example.com/b และหน้าเป้าหมายจะตอบด้วย 200 จากนั้นคุณคลิกผู้ตรวจสอบหน้าเป้าหมาย / b เพื่อตรวจสอบข้อมูลส่วนหัว คุณจะได้รับป้ายกำกับที่มี "ส่วนหัวชั่วคราวแสดง" ถูกต้องเพราะคุณไม่ได้วิเคราะห์หน้าเป้าหมายโดยตรง หากคุณทำคุณจะได้รับข้อมูลส่วนหัวโดยไม่มีป้ายกำกับ
Evgeniy

1
ฉันสามารถระบุได้ว่านี่เป็นปัญหาของฉันเพราะเมื่อฉันทำตามข้างต้น ไซต์ https ของฉันกำลังเรียกไฟล์ https css ที่ทำการเปลี่ยนเส้นทาง 302 ไปยังหน้า http ความปลอดภัยไม่อนุญาตให้โหลดไฟล์และแสดงเฉพาะส่วนหัวชั่วคราว
Steropes

1
มีคำอธิบายที่ดีมากสำหรับสาเหตุหลายประการที่อาจเกิดขึ้น: stackoverflow.com/questions/12009423/…
หนา

112

ฉันเชื่อว่ามันเกิดขึ้นเมื่อไม่ได้ส่งคำขอจริง มักจะเกิดขึ้นเมื่อคุณโหลดทรัพยากรแคช


61
ไม่ 304 ไม่ได้แก้ไขมาจากเซิร์ฟเวอร์เพื่อตอบสนองต่อคำขอตามเงื่อนไข หากคุณกำลังโหลดทรัพยากรแคชและเบราว์เซอร์ของคุณไม่จำเป็นต้องติดต่อเซิร์ฟเวอร์คุณจะไม่ได้รับ 304 ที่ไม่ได้แก้ไขหรือสถานะ HTTP ใด ๆ เลยเพราะคำขอ HTTP จะไม่ถูกสร้างขึ้น
thomasrutter

7
วิธีนี้ใช้ได้ผลสำหรับฉันเมื่อฉันเห็น "แสดงส่วนหัวชั่วคราว" ในแผงดีบักเกอร์รหัสสถานะของคำขอคือ "200 OK (จากแคช)"
richie

3
ฉันเห็นนี้กับการตอบสนองของผู้ปฏิบัติงานบริการดังนั้นฉันคิดว่าอย่างน้อยในบางกรณีคุณถูกต้องเกี่ยวกับการตอบสนองแคช :)
jacoballenwood

4
ฉันปิดแคชในเครื่องมือ dev และยังคงได้รับข้อความนี้ สถานะสำหรับไฟล์ทั้งหมดคือ 200 ไม่มี "(จากแคช)" ดังนั้นบางครั้งอาจเป็นเพราะแคช แต่ไม่แน่นอนเสมอไป
Ralf

มันกำลังโหลดข้อมูลจากแคชในกรณีของฉัน
Aviv Lo

40

สำหรับ chrome v72 + สิ่งที่แก้ไขได้สำหรับฉันก็แค่นี้

ไปchrome://flags/และปิดการใช้งาน 3 ธงนี้

  • ปิดใช้งานการแยกไซต์
  • เปิดใช้งานบริการเครือข่าย
  • เรียกใช้บริการเครือข่ายระหว่างดำเนินการ

ป้อนคำอธิบายรูปภาพที่นี่

หรือคุณสามารถทำได้จากบรรทัดคำสั่ง:

chrome --disable-site-isolation-trials --disable-features=NetworkService,NetworkServiceInProcess

ทำไมสิ่งนี้เกิดขึ้น

ดูเหมือนว่า Google กำลังทำการปรับโครงสร้างเอ็นจิ้น Chromium ของพวกเขาใหม่ให้เป็นโครงสร้างแบบแยกส่วนซึ่งบริการต่างๆจะถูกแยกออกเป็นโมดูลและกระบวนการแบบสแตนด์อโลน พวกเขาเรียกการบริการกระบวนการนี้ บริการเครือข่ายเป็นขั้นตอนแรกบริการ Ui บริการข้อมูลประจำตัวและบริการอุปกรณ์กำลังจะเกิดขึ้น Google ให้บริการข้อมูลข่าวสารของราชการที่เว็บไซต์ของโครงการโครเมี่ยม

การเปลี่ยนแปลงนั้นเป็นอันตรายหรือไม่?

เป็นตัวอย่างเครือข่าย: เมื่อเรามีบริการเครือข่ายเราสามารถเลือกที่จะใช้มันออกมาจากกระบวนการเพื่อความมั่นคง / การรักษาความปลอดภัยที่ดีขึ้นหรือในกระบวนการถ้าเรากำลังทรัพยากรที่ จำกัด แหล่ง


4
ฉันสามารถใช้งานได้ด้วย "เปิดใช้บริการเครือข่าย" และ "เรียกใช้บริการเครือข่ายที่อยู่ระหว่างดำเนินการ"
smalone

ฉันเพิ่งปิดใช้งานการแยกไซต์และทำงานได้สำหรับฉัน
Ashrith

3
สิ่งนี้ทำงานได้ใน Chrome ปกติ (v74) อย่างไรก็ตาม Chrome Canary เวอร์ชันล่าสุด (v76) นั้นหายไปในตอนนี้ธง "# network-service" ... ไม่สามารถใช้งานได้ใน Canary หากไม่มี
รวย

ฉันเห็นปัญหานี้ทั้งสองlocalhost:8080และgoogle.com(!?) การปิดใช้งานการแยกไซต์คงที่ google.com แต่ไม่ใช่ localhost การปิดใช้งานอีกสองตัวเลือกเท่านั้นที่แก้ไขในทุกกรณี
BlueRaja - Danny Pflughoeft

ฉันต้องปิดสิ่งนี้: chrome: // flags / # site-
isolated

25

ฉันพบปัญหานี้และฉันจัดการเพื่อระบุสาเหตุเฉพาะซึ่งไม่ได้กล่าวถึงข้างต้นทั้งในคำตอบหรือคำถาม

ฉันใช้ js stack เต็ม, front front เชิงมุมและ node back end บน SSL และ API อยู่บนโดเมนอื่นที่ทำงานบนพอร์ต 8081 ดังนั้นฉันจึงทำคำขอ CORS และ withCredentials ขณะที่ฉันวางคุกกี้เซสชันจาก API

ดังนั้นโดยเฉพาะอย่างยิ่งสถานการณ์ของฉันคือ: คำขอ POST โดยที่มีค่าเริ่มต้นที่พอร์ต 8081 ทำให้เกิดข้อความ "ข้อควรระวัง: ส่วนหัวชั่วคราวจะแสดง" ในผู้ตรวจสอบและแน่นอนว่าบล็อกคำขอทั้งหมดเข้าด้วยกัน

วิธีแก้ปัญหาของฉันคือการตั้งค่า apache to proxy ผ่านการร้องขอจากพอร์ต SSL ปกติที่ 443 ไปยังพอร์ต SSL ของโหนด 8081 (โหนดต้องอยู่บนพอร์ตที่สูงกว่าเนื่องจากไม่สามารถรันได้เหมือนรูทใน prod) ดังนั้นฉันคิดว่า Chrome ไม่ชอบการร้องขอ SSL ไปยังพอร์ต SSL ที่แปลกใหม่ แต่บางทีข้อความแสดงข้อผิดพลาดอาจมีความเฉพาะเจาะจงมากขึ้น


2
นั่นเป็นนโยบายที่มาจากเบราว์เซอร์เดียวกัน - หน้าเว็บและทรัพยากรที่คุณกำลังอ่านจะต้องอยู่ในพอร์ตเดียวกัน developer.mozilla.org/en-US/docs/Web/Security/…
r3m0t

1
ขอบคุณมากสำหรับความช่วยเหลือ ฉันใช้ webpacks dev server และฉันสามารถเพิ่มกฎการเขียนซ้ำได้ '/graphql': { target: 'http://10.10.1.38:4000', changeOrigin: true }
James Harrington

ในทำนองเดียวกันฉันแก้ไขปัญหานี้ได้โดยเพิ่ม"proxy": "http://192.168.98.110:1234"ลงpackage.jsonในโครงการสร้างแอปแบบตอบโต้ ต่างจากคำตอบฉันไม่ได้ใช้ HTTPS ที่ใดก็ได้ใน dev แต่นี่เป็นสิ่งจำเป็นเพราะแอพและ api ของฉันใช้ IP ที่ต่างกัน
chrishiestand

16

สิ่งนี้สามารถเกิดขึ้นได้(สำหรับการร้องขอข้ามต้นทางเท่านั้น)เนื่องจากคุณลักษณะใหม่ที่เรียกว่าการแยกไซต์

หน้านี้ให้รายละเอียดของปัญหาและวิธีแก้ไข สิ่งที่จะไปchrome://flags/#site-isolation-trial-opt-outในโครเมี่ยมและเปลี่ยนการตั้งค่าที่ "ยกเลิก" และโหลดโครเมี่ยม

มันเป็นปัญหาที่ทราบ อย่างไรก็ตามหน้านั้นระบุว่าได้รับการแก้ไขใน chrome 68 แต่ฉันกำลังเรียกใช้ chrome 68 และฉันยังคงมีปัญหาอยู่


1
หากคำขอของคุณไม่ถูกบล็อก (200 OK) คำขอนั้นจะเกิดขึ้นกับคำขอ CORS เท่านั้นและส่วนหัวที่ขาดหายไปคือคุกกี้คุณต้องการตรวจสอบคำตอบนี้ ขอบคุณ @onlynone
semako

@semako คุณช่วยอธิบายเรื่องนี้ให้ละเอียดหน่อยได้มั้ย ฉันกำลังประสบปัญหาที่คล้ายกัน แต่ฉันไม่เข้าใจว่าทำไม สำหรับข้อมูลเพิ่มเติมโปรดดูโพสต์ล่าสุดของฉัน ขอบคุณ.
adn bps

12

HTTP / 2 ทรัพยากรผลักจะผลิตProvisional headers are shownในการตรวจสอบสำหรับทฤษฎีเดียวกับ @wvega โพสต์ในคำตอบของเขาดังกล่าวข้างต้น

เช่น:เนื่องจากเซิร์ฟเวอร์ผลักทรัพยากร (s) ไปยังลูกค้า ( ก่อนที่ลูกค้าร้องขอพวกเขา ) เบราว์เซอร์มีทรัพยากรแคชและดังนั้นลูกค้าไม่เคยทำ / ต้องการการร้องขอ; ดังนั้นเพราะ ...

... ส่วนหัวจริงจะได้รับการอัปเดตเมื่อเซิร์ฟเวอร์ตอบกลับ แต่ไม่มีการตอบกลับหากคำขอถูกบล็อก


12

สถานการณ์ของฉันเกี่ยวข้องกับการไขว้กัน
สถานการณ์:เบราว์เซอร์ส่งOPTIONSคำขอก่อนที่จะส่งคำขอจริงเช่นหรือGET POSTผู้พัฒนาแบ็กเอนด์ลืมเครื่องมือที่จะจัดการกับOPTIONSคำขอปล่อยให้ผ่านรหัสบริการทำให้เวลาในการประมวลผลนานเกินไป นานกว่าการตั้งค่าหมดเวลาที่ฉันเขียนในการaxiosเริ่มต้นซึ่งเป็น 5,000 มิลลิวินาที ดังนั้นไม่สามารถส่งคำขอจริงและจากนั้นฉันพบprovisional headers are shownปัญหา
การแก้ไข:เมื่อมันมาถึงการOPTIONSร้องขอแบ็กเอนด์ API เพียงแค่ส่งกลับผลลัพธ์มันทำให้การร้องขอเร็วขึ้นและสามารถส่งคำขอจริงก่อนหมดเวลา


6

ฉันสงสัยว่าคำตอบของฉันจะช่วยคุณได้ทันเวลา แต่คนอื่น ๆ อาจเห็นว่าเป็นประโยชน์ ฉันประสบปัญหาคล้ายกันกับสคริปต์ jQuery Ajax Post ที่ฉันสร้าง

มันกลับกลายเป็นว่าฉันมีการพิมพ์ผิดในแอตทริบิวต์ href ของแท็ก A ที่ฉันใช้เพื่อเริ่มโพสต์ ฉันพิมพ์ href = " javacsript:; " (การย้อนกลับ 's' และ 'c') .. ทำให้สคริปต์พยายามรีเฟรชหน้าเว็บในขณะที่โพสต์กำลังพยายามเริ่มต้น แก้ไขการพิมพ์ผิดและมันทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน


วิ่งเข้าไปในปัญหาประเภทเดียวกันไม่มีการพิมพ์ผิด แต่ฉันมีสคริปต์โหลดหน้านี้ใหม่ก่อนที่ POST จะถูกไล่ออก / เสร็จสมบูรณ์
Raindal

4

ข้อความนี้สามารถเกิดขึ้นได้ในเว็บไซต์ที่มีการป้องกันโดยใช้HSTS จากนั้นเมื่อมีผู้เชื่อมโยงไปยัง URL เวอร์ชัน HTTP เบราว์เซอร์ตามคำแนะนำของ HSTS จะไม่ออกคำขอ HTTP แต่จะเปลี่ยนเส้นทางภายในไปยังทรัพยากร HTTPS ภายในอย่างปลอดภัย นี้คือการหลีกเลี่ยง HTTPS ปรับลดการโจมตีเช่นsslstrip


ฉันปิดใช้งาน HSTS และส่วนหัวดั้งเดิมปรากฏขึ้นอีกครั้ง ขอบคุณ!
kenberkeley

3

นั่นอาจเป็นเพราะคุณส่งคำขอ Ajax ในเวลาเดียวกันคุณก็ข้ามหน้าของคุณไปยังอีกหน้าหนึ่งโดยใช้ location.href หรืออะไรทำนองนั้น ดังนั้นคำขอก่อนหน้านี้จึงล้มเหลว


2

ข้อความเตือนนี้ยังเกิดขึ้นหากการตอบสนองไม่ถูกต้องดังนั้นเบราว์เซอร์จึงตก

ในกรณีของฉันคำขอถูกส่งไปยังเซิร์ฟเวอร์อย่างถูกต้องจากนั้นโค้ดฝั่งเซิร์ฟเวอร์สร้างข้อผิดพลาดและการจัดการข้อผิดพลาดที่กำหนดเองของฉันส่งคืนข้อความแสดงข้อผิดพลาดในฟิลด์ข้อความสถานะ HTTP แต่ไม่ได้รับข้อผิดพลาดนี้ในฝั่งไคลเอ็นต์เนื่องจากอักขระที่ไม่ถูกต้องในข้อความแสดงข้อผิดพลาด (อธิบายไว้ที่นี่http://aspnetwebstack.codeplex.com/workitem/1386 ) ซึ่งส่งผลให้ส่วนหัวการตอบสนองที่เสียหาย


2

ฉันพบปัญหานี้ด้วยการโทร AJAX ที่จะไม่สมบูรณ์ ฉันทำตามคำแนะนำของ wvega และเคล็ดลับเกี่ยวกับการดีบักด้วยchrome://net-internalsเพื่อกำหนดอีกครั้งในที่สุดclickตัวจัดการเหตุการณ์ในหน้าการฟังโหนดหลักทำให้เบราว์เซอร์นำทางไปยัง URL เดียวกัน (ดังนั้นจึงไม่สังเกตเห็นได้ง่าย)

การแก้ปัญหาคือการเพิ่มevent.stopPropagation()ในclickตัวจัดการในแบบฟอร์มที่ปุ่มส่งเพื่อให้คลิกจากเดือดปุด ๆ ขึ้น DOM และยกเลิกคำขอ AJAX ในความคืบหน้า (ริเริ่มผ่านการsubmitจัดการบนform)


2

ฉันมีสิ่งนี้เกิดขึ้นเร็ว ๆ นี้ (วันนี้จริง ๆ แล้ว) ที่ฉันมีการโทร AJAX ออกไปที่เซิร์ฟเวอร์และ Chrome จะดับ "ข้อควรระวัง: ส่วนหัวชั่วคราวจะปรากฏ" ในการเขียนสคริปต์ PHP ฝั่งเซิร์ฟเวอร์มีการสืบค้น MySQL ที่สามารถสวยได้ทันทีหรือใช้เวลาไม่กี่วินาทีขึ้นอยู่กับสถานการณ์ที่กำหนด การตอบกลับเซิร์ฟเวอร์ของฉันจะไม่ถูกส่งกลับไปยังเบราว์เซอร์จนกว่าแบบสอบถามจะเสร็จสมบูรณ์ ฉันพบว่าฉันได้รับข้อผิดพลาดนี้เฉพาะเมื่อมีการทำแบบสอบถามที่ใช้เวลานาน (รวมไม่เกินไม่กี่วินาที) และป้องกันการตอบกลับ

สถานการณ์ของฉันเกี่ยวข้องกับความเป็นไปได้ที่หายากมากในการปรับเปลี่ยนตารางโดยการเพิ่ม / ลบคอลัมน์หลายร้อยคอลัมน์สำหรับเอาท์พุทแบบจำลองสภาพอากาศ ... ดังนั้นการตอบสนองจึงล่าช้าจากการวนซ้ำผ่านการวนรอบของแบบสอบถาม ALTER TABLE


คนงาน PHP อาจเป็นสิ่งที่คุณต้องการ
Bartłomiej Zalewski

2

สาเหตุทั่วไปที่เกิดขึ้นคือหากคุณติดตามกิจกรรมและคุณไม่ได้ป้องกันการกระทำเริ่มต้น ตัวอย่างเช่นหากคุณมีเหตุการณ์คลิกคุณจะต้องรวม:

e.preventDefault();

หรือ

return false;

หากคุณไม่ทำเช่นนั้นคุณจะเห็นคำเตือนส่วนหัวชั่วคราวเช่นเดียวกับสถานะ "ยกเลิก" ในแท็บเครือข่ายของเว็บคอนโซลของคุณ


2

ในกรณีของฉันมันเป็นเพียงชุดเส้นทางที่ผิดพลาดในทรัพยากร (svg / img)


ใช่ - สำหรับฉันแล้วไม่มีการอนุญาตเมื่อใช้อินพุตไฟล์สำหรับคำขอ
phil294


1

ฉันเจอสิ่งนี้และมันหายไปเมื่อฉันเปลี่ยนจาก https เป็น http ใบรับรอง SSL ที่เราใช้ใน dev ไม่ได้รับการยืนยันโดยบุคคลที่สาม พวกเขาเป็นเพียง dev certs ที่สร้างขึ้นในเครื่อง

การโทรแบบเดียวกันใช้ได้ดีกับ Chrome Canary และ Firefox เบราว์เซอร์เหล่านี้ดูเหมือนจะไม่เข้มงวดเกี่ยวกับใบรับรอง SSL เช่นเดียวกับ Chrome การโทรจะล้มเหลวใน Chrome ด้วยข้อความ "ข้อควรระวัง: ส่วนหัวชั่วคราว ... "

ฉันคิด / หวังว่าเมื่อเราใช้ใบรับรอง SSL ที่ถูกกฎหมายในระยะและผลิตภัณฑ์เราจะไม่เห็นพฤติกรรมนี้ใน Chrome อีกต่อไป


ฉันพยายามม้วนและรับ 60 จากคำตอบนี้หาสายที่ขาดหายไปในการติดตั้ง SSL เพิ่มห่วงโซ่และปัญหาหายไป ขอบคุณเพื่อน! โปรดใช้สิ่งนี้เพื่อตรวจสอบ: curl -s -D- https: // <yourcomain.com>
apis17

1

เพียงแค่โยนสองเซ็นต์ของฉัน ฉันกำลังเขียนแอปพลิเคชันเว็บโดยใช้คำร้องขอ CORS และบริการเว็บเต็มรูปแบบ ฉันพบโครมจะทำให้เกิดข้อผิดพลาดนี้เมื่อฉันมีข้อยกเว้นที่ไม่ได้จัดการหรือเกิดข้อผิดพลาดกับ PHP เพียงใส่เคสคนอื่นที่พบปัญหา ฉันพบว่าเมื่อสิ่งนี้เกิดขึ้นฉันสามารถเริ่มต้นแอป Chrome "บุรุษไปรษณีย์ - ไคลเอนต์" และเรียกใช้คำขอเดียวกัน แต่ใน Chrome App ฉันจะได้รับข้อผิดพลาด PHP จริง ๆ ที่ถูกโยนแทนที่จะเป็นข้อผิดพลาดที่ไม่อธิบายนี้


1

ฉันรันปัญหานี้เมื่อฉันพยายามโหลด main.js เพื่อต้องการ js เป็นครั้งที่สองหลังจากฉันทำการเปลี่ยนแปลงเนื่องจากข้อผิดพลาด ฉันเพิ่งเปิดการตั้งค่าเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ "ปิดใช้งานแคช (เมื่อ DevTools เปิดอยู่)" และนั่นก็มีเสน่ห์


เพิ่งมีปัญหาที่คล้ายกันซึ่งวิดีโอ html5 จะไม่โหลดเมื่อเครื่องมือ Chrome dev เปิดขึ้นเนื่องจากฉันเปิดใช้งาน 'ปิดใช้งานแคช (ในขณะที่เปิดใช้งาน DevTools)' การปิดใช้งานการตั้งค่าแก้ไขปัญหาได้
Anth12

1

อีกสถานการณ์ที่เป็นไปได้ที่ฉันได้เห็น - คำขอเดียวกันที่แน่นอนจะถูกส่งอีกครั้งหลังจากไม่กี่มิลลิวินาที (น่าจะเกิดจากข้อผิดพลาดในฝั่งไคลเอ็นต์)
ในกรณีดังกล่าวคุณจะเห็นว่าสถานะของคำขอแรกคือ "ยกเลิก" และเวลาแฝงนั้นมีเพียงไม่กี่มิลลิวินาที


1

สิ่งนี้เกิดขึ้นกับฉันเมื่อฉันมีลิงค์ดาวน์โหลดและหลังจากคลิกมันฉันพยายามจับคลิกด้วย jquery และส่งคำขอ ajax ปัญหาเกิดขึ้นเนื่องจากเมื่อคุณคลิกที่ลิงค์ดาวน์โหลดคุณกำลังออกจากหน้าเว็บแม้ว่าจะไม่ได้เป็นเช่นนั้น หากไม่มีการถ่ายโอนไฟล์คุณจะเห็นหน้าที่ร้องขอ .. ดังนั้นฉันจึงกำหนดเป้าหมาย = "_ blank" เพื่อป้องกันปัญหานี้


1

ฉันได้รับข้อผิดพลาดนี้เมื่อฉันพยายามพิมพ์หน้าในแบบป๊อปอัป ไดอะล็อกการพิมพ์แสดงขึ้นและยังคงรอการตอบรับหรือยกเลิกการพิมพ์ในป๊อปอัพขณะที่ในหน้าต้นแบบยังรออยู่ในพื้นหลังที่แสดงข้อความข้อควรระวังส่วนหัวชั่วคราวแสดงขึ้นเมื่อฉันพยายามคลิกลิงค์อื่น

ในกรณีของฉันวิธีแก้ไขคือการลบwindow.print ();สคริปต์ที่เรียกใช้บน<body>หน้าต่างป๊อปอัพเพื่อป้องกันกล่องโต้ตอบการพิมพ์


1

ฉันเห็นสิ่งนี้เกิดขึ้นเมื่อจำนวนการเชื่อมต่อกับเซิร์ฟเวอร์ของฉันเกินขีด จำกัด สูงสุดของการเชื่อมต่อสูงสุดต่อเซิร์ฟเวอร์ของ Chrome ที่ 6


1

ใช้รหัสนี้เพื่อกำปั้นรหัสของคุณ:

header('Cache-Control: no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');

มันใช้งานได้สำหรับฉัน


0

นี่คือทางออกอื่น

หากคุณพบปัญหานี้ด้วยการโทร $ ajax () ให้เพิ่มhttp://ก่อนที่เซิร์ฟเวอร์โฮสต์ของคุณจะแก้ปัญหาของคุณ

var requestURL = "http://" + serverHost;
$.ajax({
    dataType: "json",
    url: requestURL,
    data: data,
    success: success    
});

0

หากคุณมีการพัฒนาแอพลิเคชัน Asp.Net Mvc และคุณกำลังพยายามที่จะกลับมาJsonResultอยู่ในการควบคุมของคุณให้แน่ใจว่าคุณเพิ่มJsonRequestBehavior.AllowGetไปที่Jsonวิธีการ นั่นแก้ไขให้ฉัน

public JsonResult GetTaskSubCategories(int id)
{
    var subcategs = FindSubCategories(id);

    return Json(subcategs, JsonRequestBehavior.AllowGet);  //<-- Notice it has two parameters
}

0

ข้อความ "ข้อควรระวัง: แสดงส่วนหัวชั่วคราว" สามารถแสดงได้เมื่อเว็บไซต์ที่โฮสต์บน HTTPS เรียกใช้การโทรไปยัง WebApi ที่โฮสต์บน HTTP คุณสามารถตรวจสอบทั้งหมดได้ว่า Api ของคุณทั้งหมดเป็น HTTPS หรือไม่ เบราว์เซอร์ป้องกันไม่ให้ทำการเรียกทรัพยากรที่ไม่ปลอดภัย คุณสามารถเห็นข้อความที่คล้ายกันในรหัสของคุณเมื่อใช้ FETCH API กับโดเมนด้วย HTTP

เนื้อหาแบบผสม: หน้าเว็บที่ ' https://website.com ' ถูกโหลดผ่าน HTTPS แต่ขอทรัพยากรที่ไม่ปลอดภัย ' http://webapi.com ' คำขอนี้ถูกบล็อก เนื้อหาจะต้องแสดงผ่าน HTTPS


0

ฉันมีปัญหาคล้ายกันกับแอพ MEAN ของฉัน ในกรณีของฉันปัญหาเกิดขึ้นในคำขอเดียวเท่านั้น ฉันพยายามลบ adblock พยายามล้างแคชและลองกับเบราว์เซอร์อื่น ไม่มีอะไรช่วย

ในที่สุดฉันก็พบว่า API กำลังพยายามส่งคืนวัตถุ JSON ขนาดใหญ่ เมื่อฉันพยายามส่งวัตถุขนาดเล็กมันทำงานได้ดี ในที่สุดฉันได้เปลี่ยนการใช้งานของฉันเพื่อกลับบัฟเฟอร์แทน JSON

ฉันต้องการให้ expressJS โยนข้อผิดพลาดในกรณีนี้


0

ปัญหานี้จะเกิดขึ้นในขณะที่ใช้แพ็คเกจบางอย่างเช่นwebpack-hot-middlewareและเปิดหลายหน้าพร้อมกัน webpack-hot-middlewareจะสร้างการเชื่อมต่อสำหรับแต่ละหน้าเพื่อฟังการเปลี่ยนแปลงของรหัสจากนั้นเพื่อรีเฟรชหน้า แต่ละเบราว์เซอร์มีmax-connections-per-serverข้อ จำกัด คือ 6 สำหรับ Chrome ดังนั้นหากคุณเปิดมากกว่า 6 หน้าใน Chrome คำขอใหม่จะถูกระงับจนกว่าคุณจะปิดบางหน้า


0

ในกรณีของฉันสาเหตุคือส่วนขยาย AdBlock

คำขอไปยังเซิร์ฟเวอร์ผ่านไปแล้วและฉันได้รับการตอบกลับ แต่ฉันไม่เห็นคุกกี้คำขอเนื่องจาก "ส่วนหัวชั่วคราว .. " ถูกแสดงในเครื่องมือ Dev หลังจากปิดใช้งาน AdBlock สำหรับไซต์แล้วคำเตือนก็หายไปและเครื่องมือ dev เริ่มแสดงคุกกี้อีกครั้ง

เพื่อให้การเปลี่ยนแปลงมีผลบังคับใช้คุณต้องปิดเครื่องมือ Dev และรีเฟรชหน้า

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.