ฉันเข้าใจอย่างถ่องแท้ว่าทำไมจึงเป็นประโยชน์ต่อการเปลี่ยนเส้นทางแคชในสถานการณ์ 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 ของคุณกำลังทำอะไรอยู่
และหลังจากปรับแต่งเหล่านั้นได้รับการสรุปและสมบูรณ์แบบแล้วดำเนินการขั้นสุดท้ายในเบราว์เซอร์จริงเพื่อดูว่ามันมีชีวิตขึ้นมา