มีวิธีใดบ้างที่ฉันสามารถบังคับให้ Firefox เปลี่ยนการไม่เปลี่ยนเส้นทางแคช (301 และ 302)


11

ฉันเป็นนักพัฒนาเว็บและมีหลายครั้งที่ฉันต้องสร้างหรือแก้ไขการเปลี่ยนเส้นทาง 301 หรือ 302 การทดสอบการเปลี่ยนแปลงทันทีใน Firefox นั้นเป็นเรื่องยุ่งยากเพราะแคชเปลี่ยนเส้นทางดังนั้นหากฉันเปลี่ยนฝั่งเซิร์ฟเวอร์เปลี่ยนเส้นทางแล้วรีเฟรชฮาร์ดการเปลี่ยนเส้นทางเก่าจะถูกแคชดังนั้นวิธีเดียวที่ฉันสามารถทดสอบใหม่ได้คือการลบแคชของฉัน หรือเริ่มเซสชันเบราว์เซอร์ส่วนตัว

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

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

คำตอบ:


8

คุณสามารถตั้งค่าตัวเลือกให้ปิดการให้คำปรึกษาแคชหากคุณเปิดแผงเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ (เกิดขึ้นกับF12)

วิธีตั้งค่าตัวเลือกนี้:

  1. กดปุ่มใดก็ได้F12เพื่อเปิดแผงเครื่องมือสำหรับนักพัฒนา
  2. คลิกไอคอนรูปเฟืองที่มุมบนขวาของแผงควบคุม
  3. ที่นั่นให้ตรวจสอบ "การตั้งค่าขั้นสูง→ปิดใช้งานแคช (เมื่อเปิดกล่องเครื่องมือ)"

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

ตรวจสอบแล้วใน Firefox 41 ดัดแปลงมาจากคำตอบของ Ryan Bemroseสำหรับคำถามอื่น


2

ฉันเข้าใจอย่างถ่องแท้ว่าทำไมจึงเป็นประโยชน์ต่อการเปลี่ยนเส้นทางแคชในสถานการณ์ 99% แต่มีการปิดใช้งานพฤติกรรมนั้นหรือไม่

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

ดังนั้นฉันขอแนะนำให้เรียนรู้วิธีใช้curlและ-Iตัวเลือกจากบรรทัดคำสั่งเพื่อส่งกลับเฉพาะส่วนหัวซึ่งมีประโยชน์มากสำหรับการดีบักการเปลี่ยนเส้นทาง 301 และ 302 จากบรรทัดคำสั่ง ตามที่ได้อธิบายอย่างเป็นทางการในcurlหน้าคนที่-Iตัวเลือกคือ:

-I / - หัว

(HTTP / FTP / FILE) ดึงข้อมูลส่วนหัว HTTP เท่านั้น! HTTP-servers มีคำสั่ง HEAD ซึ่งใช้ในการรับอะไร แต่ส่วนหัวของเอกสาร เมื่อใช้กับไฟล์ FTP หรือไฟล์ FILE curl จะแสดงขนาดไฟล์และเวลาแก้ไขล่าสุดเท่านั้น

ตัวอย่างเช่นทำ a curl -I google.comและผลลัพธ์จะเป็นดังนี้:

HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Sat, 11 Apr 2015 04:37:42 GMT
Expires: Mon, 11 May 2015 04:37:42 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5

และถ้าคุณต้องการติดตามการเปลี่ยนเส้นทางทั้งหมดผ่านส่วนหัวให้เพิ่ม-Lตัวเลือก (aka:) --locationในคำสั่งดังนี้:

curl -I -L google.com

และผลลัพธ์ของคำสั่งนั้นตามเชนการเปลี่ยนเส้นทางตำแหน่งจะเป็นดังนี้:

HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Sat, 11 Apr 2015 04:48:14 GMT
Expires: Mon, 11 May 2015 04:48:14 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5

HTTP/1.1 200 OK
Date: Sat, 11 Apr 2015 04:48:14 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=69d90e4d7a0fcbbb:FF=0:TM=1428727694:LM=1428727694:S=1xqS-toEoa5saQ7n; expires=Mon, 10-Apr-2017 04:48:14 GMT; path=/; domain=.google.com
Set-Cookie: NID=67=pkHjv88MsTB_eB1OqqcMm03kTkFNOSaN4ZEiE5iGViEt7AiJWBc6R-0qJ5s1xu3i5Peg5aHOBHyr7n4-oAxyEE2cL_dBPRLYODst0H-Ztfgrf_6LYXXlix9eghSB8Hzc; expires=Sun, 11-Oct-2015 04:48:14 GMT; path=/; domain=.google.com; HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic,p=0.5
Transfer-Encoding: chunked
Accept-Ranges: none
Vary: Accept-Encoding

หมายเหตุ: การตอบสนองของส่วนหัวเช่นเดียวกับHTTP/1.1 301 Moved Permanently Location: http://www.google.com/หากเป้าหมายการพัฒนาเว็บของคุณคือการทดสอบสิ่งต่าง ๆ เช่น Apache เขียนกฎใหม่และเปลี่ยนเส้นทางcurl -Iเป็นเครื่องมือที่ดีที่สุดที่จะช่วยให้คุณเห็นว่า tweaks ของคุณกำลังทำอะไรอยู่

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


2

ใน Firefox Firebug ใต้Netแท็บจะมีตัวเลือกที่ชื่อว่า "Disable Cache" ฉันเปิดสิ่งนี้เมื่อทำการทดสอบการเปลี่ยนเส้นทางและฉันได้ทำการทดสอบแล้ว

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


1

ไปที่about:configและตั้งค่าทั้งสองbrowser.cache.disk.enableและbrowser.cache.memory.enableเป็นเท็จ สิ่งนี้เหมือนกับการตรวจสอบ "ปิดใช้งานแคชเบราว์เซอร์"

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