ทำไม tarball ถึงได้รับการยอมรับด้วย. tar ใน GET Request


0

ดังนั้นฉันมีคำถามเกี่ยวกับคำขอส่วนหัวในประเภทไฟล์ ..

ไม่แน่ใจในวิธีที่ดีที่สุดในการตั้งคำถามดังนั้นฉันจะอธิบายสิ่งที่ฉันได้ทำไป

สร้าง tarball บนเซิร์ฟเวอร์ tar-cvf alle.tar.gz ./folderX

นั่นคือทั้งหมดที่สมบูรณ์แบบ ตอนนี้ฉันโอนมันไปยังไดเรกทอรี www ของฉันเพื่อแบ่งปันกับเพื่อนร่วมงานได้สะดวก

sudo mv ./alle.tar.gz /var/www/ 

ยอดเยี่ยมไม่มีปัญหา

เมื่อฉันไปที่http: //host.tld/alle.tar.gzมันทำงานได้อย่างสมบูรณ์ อย่างไรก็ตามเมื่อฉันไปที่http: //host.tld/alle.tar (ไม่ใช่นามสกุลเต็ม) มันก็ใช้ได้เหมือนกัน

ในขณะที่คุณสามารถดู dir อย่างไม่มีไฟล์ของ alta.tar

เนื้อหา Dir

เหตุใดจึงเป็นเช่นนี้และเป็นอะไรที่ต้องคำนึงถึง


เบราว์เซอร์จำนวนมากรองรับการบีบอัดอัตโนมัติ (และการคลายการบีบอัด )
Hennes

ดังนั้นนี่คือคุณลักษณะเบราว์เซอร์ซึ่งต่างจากการให้บริการโดยเซิร์ฟเวอร์หรือไม่
Pogrindis

2
ฉันสงสัยว่าเว็บเบราว์เซอร์ของคุณและเว็บเซิร์ฟเวอร์ของคุณมีความเข้าใจซึ่งกันและกันและผลลัพธ์นั้นเป็นประโยชน์อย่างมีสไตล์ ดูรายละเอียดตอนนี้เพราะความเข้าใจของฉันเองก็เพียงพอที่จะรู้ว่ามันเป็นไปได้และเว็บเซิร์ฟเวอร์สามารถ gzip ข้อมูล (ได้ทันทีหรือ pre-gzipped) แต่ไม่มาก
Hennes

ฉันจะลองคว้ามันจาก. url url lynxที่บรรทัดคำสั่งและดูว่าคุณได้ผลลัพธ์เดียวกัน wgetหรือ หากเป็นเซิร์ฟเวอร์ที่ใช้งานได้จะใช้งานได้และหากเป็นเบราว์เซอร์ก็จะไม่แน่นอน (อย่างน้อยก็กับทั้งคู่ ... ฉันจะไม่ใส่โครงสร้างรุ่นใหม่lynxเพื่อรวมคุณสมบัตินี้หาก มันง่ายพอโดยเฉพาะกับท่อ)
0xDAFACADE

ลองดูในไฟล์กำหนดค่า "mime.types" ของ Apache และดูว่าคุณมีรายการใด ๆ สำหรับ. tar.gz หรือไม่
webmarc

คำตอบ:


1

เหตุผลที่ใช้alle.tarงานalle.tar.gzได้เนื่องจากคุณสมบัติของเว็บเซิร์ฟเวอร์เช่นApache Content Negotiationอย่างที่คุณเห็นในตัวอย่างบนหน้าเว็บ:

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