ใช้คําขอ update-cache เพื่ออัปเดตและนําเนื้อหาออกจากเซิร์ฟเวอร์แคช AMP ของ Google
    ปัจจุบัน update-cache ดูแลให้เนื้อหาอัปเดตภายในอายุสูงสุดเท่านั้น ซึ่งหมายความว่าระบบจะพิจารณาระยะเวลาสูงสุดของทรัพยากร
  
คําขอ update-cache กําหนดให้เจ้าของโดเมนต้องลงชื่อคําขอด้วยคีย์ RSA และแสดงคีย์สาธารณะที่ตรงกันจาก URL มาตรฐานในโดเมนต้นทาง
คุณล้างเอกสารเวอร์ชันที่แคชไว้ในปัจจุบันได้โดยส่งคําขอที่ลงนามไปยังเซิร์ฟเวอร์แคช AMP ระบบจะเรียกคําขอ update-cache ตามที่อยู่นี้
 
https://example-com.<cache.updateCacheApiDomainSuffix>/update-cache/c/s/example.com/article?amp_action=flush&_ts=<ts_val>&_url_signature=<sig_val>
พารามิเตอร์
  คําขอ update-cache ต้องใช้พารามิเตอร์และค่าต่อไปนี้
| พารามิเตอร์ | |
|---|---|
          example-comและexample.com
         | 
        
           จำเป็น ชื่อโดเมนที่ระบุตามรูปแบบที่ใช้ในรูปแบบ URL แคชของ AMP | 
      
          <cache.updateCacheApiDomainSuffix>
         | 
        
           จำเป็น ชื่อโดเมนของแคช AMP ดูข้อมูลเพิ่มเติมได้ที่โทรหาupdate-cache
         | 
      
        amp_ts=<ts_val>
         | 
        
           จำเป็น พารามิเตอร์นี้จะแสดงการประทับเวลา UNIX-popo ซึ่งใช้เพื่อป้องกันการโจมตีแบบเล่นซ้ํา ค่าควรเป็นเวลาปัจจุบันเป็นวินาที ซึ่งต้องอยู่ภายใน 1 นาทีก่อนหรือหลังจากเวลาปัจจุบัน | 
      
          amp_url_signature=<sig_val>
         | 
        
           จำเป็น พารามิเตอร์นี้จะแสดงลายเซ็น RSA ของเส้นทางคําขอทั้งหมด (ดูสร้างคีย์ RSA) รวมถึงamp_action และ amp_ts แต่ไม่รวมลายเซ็นของตัวเอง
         | 
      
หลักเกณฑ์
คุณต้องทําตามหลักเกณฑ์ update-cache ดังนี้
- ชื่อโฮสต์ของแคช AMP (cdn.ampproject.org) จะไม่รวมอยู่ในลายเซ็นเพื่อให้ส่งคําขอที่ลงนามเดียวกันไปยังโอเปอเรเตอร์แคช AMP ได้หลายรายการ
 - ในการยืนยันลายเซ็น คุณต้องแสดงคีย์ RSA สาธารณะในตําแหน่งคงที่ในโดเมน AMP ของเอกสาร (หากต้องการสร้างคีย์ โปรดดูสร้างคีย์ RSA) เช่น
https://example.com/.well-known/amphtml/apikey.pub
 - คีย์สาธารณะต้องไม่ใช้โรบ็อต
 - URL ต้องเป็น HTTPS
 - โดเมนต้องเป็นโดเมนที่คุณต้องการอัปเดต ไม่ใช่โดเมนย่อยหรือซูเปอร์
 - คุณต้องเผยแพร่คีย์ในรูปแบบ PEM และแสดงคีย์ด้วยประเภทเนื้อหา {0}&tt;text/plain"
 - แคช AMP จะดึงข้อมูลคีย์สาธารณะจากโดเมนเดียวกันของคําขอเสมอ โดยไม่คํานึงถึงโดเมนที่ระบุโดยเอกสารผ่านแท็ก rel=canonical หากโดเมนต้นทางแสดงการเปลี่ยนเส้นทาง HTTP ที่ตําแหน่งที่จะล้าง ระบบจะล้างเฉพาะเส้นทางที่ขอจากแคช ไม่ใช่เป้าหมายของการเปลี่ยนเส้นทาง
 
อัปเดตหรือนําเนื้อหาออก
คุณสามารถใช้ update-cache เพื่ออัปเดตหรือนําเนื้อหาออกจากเซิร์ฟเวอร์แคช AMP ของ Google อย่างถาวรหลังจากที่นําเนื้อหาออกจากต้นทางแล้ว หากต้องการอัปเดตหรือนําเนื้อหาออก ให้ทําตามขั้นตอนด้านล่าง
- ดึงข้อมูลไฟล์ต่อไปนี้:
     
https://cdn.ampproject.org/caches.json
 - ทําซ้ําตามรายการต่างๆ ในรายการ 
cachesในไฟล์ JSON - เลือก 
cachesที่ต้องการรองรับ - เรียกคําขอ 
update-cacheโดยใช้updateCacheApiDomainSuffixจากแต่ละรายการcache - สร้าง URL โดยใช้รูปแบบต่อไปนี้
       
https://example-com.<cache.updateCacheApiDomainSuffix>/update-cache/c/s/example.com/article?amp_action=flush&_ts=<ts_val>&_url_signature=<sig_val>
 
สร้างคีย์ RSA
โปรเจ็กต์ OpenSSL มีเครื่องมือบรรทัดคําสั่งสําหรับสร้างและจัดการคีย์ RSA แบบอสมมาตร นอกจากนี้คุณยังสร้างคีย์ RSA และจัดการด้วยโปรแกรมได้ผ่านทางไลบรารี OpenSSL หรือ API คริปโตเคอเรนซี (node-crypto, NSS หรือ GnuTLS)
- สร้างคีย์ RSA 1 คู่ในรูปแบบ PEM แบบข้อความ
openssl genrsa 2048 > private-key.pem openssl rsa -in private-key.pem -pubout >public-key.pem
 - โพสต์คีย์สาธารณะในโดเมนเพื่อรีเฟรชในตําแหน่งต่อไปนี้
https://example.com/.well-known/amphtml/apikey.pub
URL ต้องเป็น HTTPS ผู้ใช้ที่ไม่ระบุตัวตนต้องเข้าถึงคีย์ได้แบบสาธารณะ
 - ใช้คีย์ส่วนตัวเพื่อลงนามคําขอ 
update-cacheเช่นecho -n > url.txt "/update-cache/c/s/example.com/article?amp_action=flush&_ts=$(date +%s)" && cat url.txt | openssl dgst -sha256 -sign private-key.pem > signature.bin
เอาต์พุตไปยัง signature.bin เป็นลายเซ็น RSA แบบไบนารี
 - ใช้คีย์สาธารณะเพื่อยืนยันลายเซ็น
openssl dgst -sha256 -signature signature.bin -verify public-key.pem url.txt
 - เข้ารหัสลายเซ็น RSA แบบไบนารีโดยใช้ตัวแปรที่ปลอดภัยบนเว็บของ base64 ดังนี้
 
cat signature.bin | base64 -w0 | tr '/+' '_-' | tr -d '=' > base64.txt
 - เพิ่มลายเซ็น RSA ที่เข้ารหัสฐาน 64 ต่อท้าย URL โดยใช้พารามิเตอร์การค้นหา 
amp_url_signatureecho "$(cat url.txt)&_url_signature=$(cat base64.txt)"
 
อัปเดตคีย์ RSA
หากต้องการอัปเดตคีย์ RSA คุณก็เข้าถึงคีย์ RSA ได้ผ่านลิงก์แคช AMP และ Google อาจรวบรวมข้อมูลคีย์ RSA ใหม่ได้ภายในไม่กี่ชั่วโมง ลิงก์แคช AMP มีดังนี้
https://example-com.<cache.updateCacheApiDomainSuffix>/r/s/example.com/.well-known/amphtml/apikey.pub