Saturday, 10 June 2017

Apache ชนิด mime ไบนารี ตัวเลือก


ชนิด MIME สำหรับไฟล์ในขณะที่ตั้งค่าคุณสมบัติ svn บางอย่างในที่ทำงานเราสงสัยเกี่ยวกับชนิด MIME ที่ถูกต้องสำหรับไฟล์มองไปรอบ ๆ ในรายการการตรวจจับประเภท MIME แบบมายากลต่างๆบนเครื่อง unix และรายการ IANA MIME อย่างเป็นทางการแสดงรายการตัวเลือกที่เราได้รับ กับมีกฎประเภท MIME เนื่องจากไม่มีประเภท MIME อย่างเป็นทางการที่ลงทะเบียนที่ IANA คุณสามารถใช้เพียงประเภทนามสกุล x - prefixed - ซึ่งหมายความว่า php และ php แอ็พพลิเคชันไม่เหมาะสำหรับไฟล์ประเภทที่ไม่ได้ลงทะเบียนควรมีการระบุไว้ด้วย ก่อนหน้า x - ในรายการ x-foo RFC2045 5 1 หรือ axe ตามที่ระบุไว้ใน RFC4288 4 3 ประเภท non-x prefixed ใด ๆ ที่ควรได้รับการจดทะเบียนกับ IANA และระบุไว้ในที่อยู่ข้างต้นลักษณะการทำงานอื่น ๆ คือการละเมิดมาตรฐาน MIME การแจกแจงลินุกซ์ Ubuntu s เมจิกฐานข้อมูล MIME - ใช้โดยคำสั่งแฟ้ม - spits out ข้อความ x-php. Debian s mime สนับสนุนชุดนอกจากนี้จัดส่งโดย Ubuntu รายการและไฟล์ในสองประเภทนี้ - ในสายตาของฉัน - เพิ่มเติมสำหรับเว็บเซิร์ฟเวอร์ Apache ภายใน ใช้ตั้งแต่ PHP ไม่เพียงใช้งาน w ithin พิจารณา daemon. IANA สิ่งที่เหลือเป็นข้อความ x-php และโปรแกรม x-php ฉันเองชอบข้อความสำหรับผู้ใช้อ่านไฟล์ข้อความธรรมดาซึ่งเป็นเหตุผลที่ผมไม่เชื่อเกี่ยวกับโปรแกรม x-php ที่แรกแล้วผมเห็นว่าในปี 2006 , IANA ได้รับมอบหมายอย่างเป็นทางการ javascript สำหรับไฟล์ JavaScript - ไม่ใช่ข้อความ javascript รัฐ RFC ใช้ข้อความประเภทระดับบนสุดสำหรับชนิดของเนื้อหานี้เป็นที่รู้กันว่าเป็นปัญหา - แต่ไม่สามารถระบุได้ว่าทำไมจึงเป็นเช่นนั้นฉันเดานี้ เนื่องจากปัญหาด้านความปลอดภัยเกิดขึ้นเนื่องจากเบราว์เซอร์พยายามแสดงข้อความทุกประเภท MIME แบบข้อความเป็นแบบ HTML เหตุผลที่คล้ายกันใช้เมื่อใช้ประเภท MIME JSON ที่ได้รับการกำหนดอย่างเป็นทางการใน RFC 4627 เมื่อถามถึงสาเหตุที่ไม่เป็นข้อความ json ดูเหมือนว่า Crockford จะกล่าว JSON ไม่ได้จริงๆจาวาสคริปต์และข้อความและ IANA มีแนวโน้มที่จะออกใบสมัครกว่า text. Language อื่น ๆ มองที่ได้รับมอบหมายอย่างเป็นทางการประเภทข้อความทำให้ชัดเจนว่าไม่มีภาษาเขียนโปรแกรมภาษาเดียวชนิดแฟ้มในสโมสร HTML เป็นชื่อที่หมายถึงมาร์กอัปและไม่ใช่ภาษาเขียนโปรแกรมซึ่งเป็นเหตุผลที่ HTML ข้อความไม่นับรายการประเภทของแอปพลิเคชันในทางกลับกันมีประเภทต่างๆเช่น ecmascript ของแอปพลิเคชันและจาวาสคริปต์แอพพลิเคชันทั้งสองภาษาการเขียนโปรแกรม การเขียนโปรแกรมภาษาต่างๆในการประยุกต์ใช้กลุ่มแอ็พพลิเคชัน x-ruby application x-sh และแอ็พพลิเคชัน x-tcl การใช้งาน x-php เป็นชนิด MIME สำหรับไฟล์ไม่ได้โดยไม่ต้องปวดหัวเริ่มต้นด้วยข้อความระบุว่าเนื้อหาของไฟล์เป็นของมนุษย์ อ่านได้ฉันสามารถเปิดและได้รับการจับของสิ่งที่เกิดขึ้นภายในแม้ว่าฉันจะไม่เข้าใจทุกอย่างเมื่อฉัน don t รู้ภาษาเฉพาะไฟล์อยู่ในฉันสามารถใช้สาธารณูปโภคข้อความบน cat grep sed diff - คุณชื่อมัน ต้องไม่แม้แต่จะเป็นตัวเองที่ใช้เครื่องมือที่สามารถใช้โปรแกรมหรือสคริปต์เปลือกฉันเขียนที่ตรวจพบฉัน m ทำงานกับแฟ้มข้อความและใช้เครื่องมือที่เหมาะสมไฟล์กับชนิดเริ่มต้นด้วยโปรแกรมในอีกทางหนึ่งสามารถ b. e เชื่อถือได้เครื่องอ่านได้เท่านั้นใช้โปรแกรม java-vm สำหรับไฟล์ทั้งหมดดีตั้งแต่เพียงเครื่องคอมพิวเตอร์สามารถอ่านได้ - รวมทั้งโปรแกรม zip and. One เครื่องมือที่ไม่ดีกับโปรแกรม x - php เป็น svn ดังกล่าวจะตรวจพบไฟล์ข้อความ ตามที่อธิบายไว้โดยใช้ MIME type s media part การตั้งค่าประเภท MIME ของไฟล์ไปยังแอพพลิเคชัน x-php นำไปสู่ปัญหาที่จัดการกับไฟล์ PHP เป็นไบนารีดังนั้นจึงไม่ทำให้เกิดความแตกต่างกับตัวแปร PHP ในโครงการ PHP ที่ใช้ไม่ได้เราต้อง กลับไปที่ข้อความ x-php ใน repositories. The svn ของเราปัญหาเดียวกันเกิดขึ้นเมื่อใช้ประเภทจาวาสคริปต์แอ็พพลิเคชันอย่างเป็นทางการรายงานข้อผิดพลาดที่เกี่ยวข้องแนะนำให้ใส่หมายเลขของประเภทแอ็พพลิเคชันในนี้เป็นรายการไฟล์ข้อความและตรงที่เป็นปัญหา โปรแกรมเมอร์ควรจะตรวจสอบว่าไฟล์เป็นไฟล์ที่มนุษย์สามารถอ่านได้หรือไม่และสามารถแสดงผลได้ด้วย IANA ที่บอกถึงความเป็นจริงที่ลอยอยู่ในประเภทแอ็พพลิเคชันชนิดของ MIME จะไม่มีตัวบ่งชี้อีกต่อไปการเขียนโปรแกรมภาษาภายใต้กลุ่มแอ็พพลิเคชันมี ความสำคัญทางสถิติและได้รับการสนับสนุนจากการตัดสินใจของ IANA ก่อนดังนั้นดูเหมือนว่าจะหลีกเลี่ยงการใช้โปรแกรม x-php เป็นชนิด MIME สำหรับไฟล์ แต่จะทำให้ชีวิตของนักพัฒนาซอฟต์แวร์เป็นเรื่องยากขึ้นการจัดการข้อมูลไบนารีกับ Axis2 MTOM SwA แม้ว่าจะมีความยืดหยุ่นในการทำงานร่วมกัน และการยอมรับ XML ทั่วโลกมีบางครั้งที่การจัดลำดับข้อมูลลงใน XML ไม่ได้หมายความว่าผู้ใช้บริการเว็บอาจต้องการส่งไฟล์แนบแบบไบนารีในรูปแบบต่างๆเช่นรูปภาพภาพวาดเอกสาร XML ฯลฯ พร้อมกับข้อความ SOAP ข้อมูลเหล่านี้มักมีอยู่ รูปแบบไบนารีเฉพาะนอกจากนี้ยังมีการใช้เทคนิคสองแบบในการจัดการกับข้อมูลทึบแสงใน XML การส่งข้อมูลไบนารีด้วยค่าทำได้ด้วยการฝังทึบข้อมูลของหลักสูตรหลังจากที่มีการเข้ารหัสรูปแบบเป็นองค์ประกอบองค์ประกอบหรือแอตทริบิวต์ของคอมโพเนนต์ XML ของข้อมูล ข้อได้เปรียบหลักของเทคนิคนี้ก็คือการทำให้แอ็พพลิเคชันสามารถประมวลผลและอธิบายข้อมูลโดยอิงจากคอมโพเนนต์ XML ของข้อมูลเท่านั้น XML สนับสนุนข้อมูลทึบแสงเป็นเนื้อหา th การเข้ารหัสฐานข้อมูล base64 หรือ hexadecimal ทั้งสองเทคนิคขยายขนาดของข้อมูลสำหรับการเข้ารหัสข้อความ UTF-8 ต้นแบบการเข้ารหัส base64 จะเพิ่มขนาดของข้อมูลไบนารีโดยมีขนาดเท่ากับ 1 33x ในขณะที่การเข้ารหัสฐานสิบหกขยาย ข้อมูลโดยปัจจัย 2x ปัจจัยข้างต้นจะเพิ่มขึ้นเป็นสองเท่าถ้ามีการใช้การเข้ารหัสข้อความ UTF-16 นอกจากนี้ความกังวลยังเป็นค่าใช้จ่ายในการประมวลผลทั้งที่เป็นจริงและการรับรู้สำหรับรูปแบบเหล่านี้โดยเฉพาะอย่างยิ่งเมื่อถอดรหัสกลับเป็นไบนารีดิบการส่งข้อมูลไบนารีโดยอ้างอิง ทำได้ด้วยการแนบข้อมูลไบนารีบริสุทธิ์เป็นเอนทิตีทั่วไปที่ไม่ได้รับการยกเว้นภายนอกซึ่งอยู่นอกเอกสาร XML และฝัง URIs อ้างอิงไปยังเอนทิตีเหล่านั้นเป็นองค์ประกอบหรือค่าแอตทริบิวต์ซึ่งจะป้องกันไม่ให้ข้อมูลที่ไม่จำเป็นและการสิ้นเปลืองพลังงานในการประมวลผลอุปสรรคหลักสำหรับการใช้เอนทิตีที่ไม่ผ่านการรับรองเหล่านี้คือ การพึ่งพา DTDs ซึ่งขัดขวางความเป็นโมดูลรวมทั้งการใช้ namespaces ของ XML มีข้อกำหนดหลายอย่างที่นำมาใช้ โลกบริการเว็บเพื่อจัดการกับปัญหา binary attachment นี้โดยใช้เทคนิคการอ้างอิง SOAP with Attachments เป็นตัวอย่างเช่น SOAP ห้ามเอกสาร DTD ใน DTD ข้อความส่งผลให้ปัญหาไม่แสดงข้อมูลเป็นส่วนหนึ่งของข้อมูลข่าวสารดังนั้น การสร้างโมเดลข้อมูลสองแบบสถานการณ์สมมตินี้เหมือนกับการส่งไฟล์แนบมาพร้อมกับข้อความอีเมลแม้ว่าเอกสารแนบเหล่านี้จะเกี่ยวข้องกับเนื้อหาข้อความที่อยู่ภายในข้อความ แต่จะทำให้เทคโนโลยีที่ประมวลผลและอธิบายข้อมูลจากคอมโพเนนต์ XML ของข้อมูล ตัวอย่างเช่น WS-Security. Where MTOM Come In. MTOM SOAP กลไกการเพิ่มประสิทธิภาพการรับส่งข้อความเป็นอีกหนึ่งข้อกำหนดที่มุ่งเน้นในการแก้ปัญหาเกี่ยวกับไฟล์แนบ MTOM พยายามใช้ประโยชน์จากสองเทคนิคดังกล่าวข้างต้นโดยพยายามที่จะผสานเทคนิคทั้งสองแบบ MTOM เป็นจริงโดยวิธีอ้างอิงรูปแบบสายของ MTOM ข้อความที่ดีที่สุดจะเหมือนกับ SOAP กับ A ข้อความ ttachments ซึ่งทำให้สามารถเข้ากันได้กับอุปกรณ์ปลายทาง SwA คุณลักษณะที่โดดเด่นที่สุดของ MTOM คือการใช้องค์ประกอบ XOP Include ซึ่งกำหนดไว้ในข้อกำหนด XML XOP แบบไบนารีเพื่ออ้างอิงอ็อบเจ็กต์ไบนารีภายนอกที่ไม่ได้ระบุไว้ ด้วยการใช้องค์ประกอบพิเศษนี้เนื้อหาไบนารีที่แนบมาจะกลายเป็นค่าสัมบูรณ์ตามค่าด้วยเอกสาร SOAP ถึงแม้ว่าจะมีการแนบมาด้วยกันโดยสิ้นเชิงนี้จะรวมสองอาณาจักรนี้โดยทำให้สามารถทำงานได้เฉพาะกับโมเดลข้อมูลหนึ่งชุดซึ่งทำให้แอปพลิเคชันสามารถประมวลผลได้ และอธิบายโดยเฉพาะมองไปที่ส่วน XML ทำให้เชื่อมั่นใน DTDs ล้าสมัยในบันทึกเบา MTOM ได้มาตรฐานกลไกการอ้างอิงของ SwA ต่อไปนี้เป็นสารสกัดจากสเปค XOP ในระดับแนวความคิดนี้ข้อมูลไบนารีสามารถคิด ของการเป็น base64-encoded ในเอกสาร XML เนื่องจากรูปแบบแนวคิดนี้อาจจำเป็นในระหว่างการประมวลผล XML docume nt เช่นสำหรับการลงนามในเอกสาร XML จำเป็นต้องมีการติดต่อกันแบบหนึ่งต่อหนึ่งระหว่างอินเทอร์เฟซ XML และแพคเกจ XOP ดังนั้นการแสดงข้อมูลไบนารีแบบแนวความคิดนั้นเหมือนกับที่ได้รับการเข้ารหัส base64 โดยใช้รูปแบบศัพท์บัญญัติของ XML Schema base64Binary ประเภทข้อมูลดู XML Schema ส่วนที่ 2 Datatypes Second Edition 3 2 16 base64Binary ในทิศทางย้อนกลับ XOP สามารถเพิ่มประสิทธิภาพเฉพาะข้อมูลอินสเดตที่เข้ารหัสด้วย base64 เท่านั้นซึ่งอยู่ในรูปแบบคำศัพท์ที่ยอมรับได้ Axip2 สนับสนุน Base64 การเข้ารหัส SOAP พร้อม Attachments และ MTOM SOAP Message กลไกการเพิ่มประสิทธิภาพการรับส่งข้อมูล MTOM กับ Axis2.Programming Model. AXIOM เป็นและอาจเป็น Object Model ตัวแรกที่มีความสามารถในการเก็บข้อมูลไบนารีได้มีคุณสมบัตินี้ได้เนื่องจาก OMText สามารถเก็บเนื้อหาไบนารีดิบในรูปแบบ OMText ได้ สำหรับวัตถุประสงค์นี้มีสองเหตุผลประการหนึ่งคือ XOP MTOM สามารถเพิ่มประสิทธิภาพเฉพาะข้อมูลอินโฟเซ็ทที่เข้ารหัส Base64 ได้ซึ่งอยู่ในรูปแบบคำศัพท์ที่ยอมรับได้ของ XML Schema base64Binary da tatype อื่น ๆ หนึ่งคือการรักษาข้อมูลทั้งในผู้ส่งและผู้รับเพื่อเก็บเนื้อหาไบนารีในวัตถุชนิดเดียวกันโดยไม่คำนึงว่าจะมีการปรับให้เหมาะสมหรือไม่ MOM ช่วยให้สามารถเข้ารหัสบางส่วนของข้อความซึ่งช่วยให้เราสามารถส่ง base64encoded ข้อมูลรวมทั้งข้อมูลไบนารีดิบที่แนบมาภายนอกที่อ้างถึงโดยองค์ประกอบ XOP ที่เพิ่มประสิทธิภาพเนื้อหาที่จะส่งในข้อความ SOAP คุณสามารถระบุว่าโหนด OMText ที่มีข้อมูลไบนารีดิบหรือข้อมูลไบนารีพื้นฐาน base64encoded มีคุณสมบัติเหมาะสมที่จะได้รับการปรับให้เหมาะสมในขณะที่มีการสร้าง โหนดนั้นหรือใหม่กว่าเพื่อให้ MTOM มีประสิทธิภาพสูงสุดผู้ใช้ควรส่งไฟล์แนบไบนารีที่มีขนาดเล็กลงโดยใช้ไฟล์ base64encoding ที่ไม่ได้รับการปรับให้เหมาะสมและไฟล์แนบขนาดใหญ่เป็นเนื้อหาที่เพิ่มประสิทธิภาพนอกจากนี้ผู้ใช้สามารถสร้างโหนดเนื้อหาไบนารีที่ดีที่สุดโดยใช้สตริงที่เข้ารหัส base64 ซึ่งมี เข้ารหัสเนื้อหาไบนารีให้กับชนิด MIME ของการแทนไบนารีที่เกิดขึ้นจริง Axis2 ใช้เพื่อจัดการกับข้อมูลไบนารี All conte binary ที่ดีที่สุด nt จะถูกจัดเรียงเป็น Base64 Strings ถ้า MTOM ไม่ได้เปิดใช้งานนอกจากนี้คุณยังสามารถสร้างโหนดเนื้อหาแบบไบนารีซึ่งจะไม่ได้รับการปรับให้เหมาะกับกรณีใด ๆ พวกเขาจะได้รับการต่อเนื่องและส่งเป็น Base64 Strings การเปิดใช้งาน MTOM Optimization ใน Client Side. In Options, ตั้งค่าคุณสมบัติ enableMTOM เป็น True เมื่อส่งข้อความเมื่อพร็อพเพอร์ตี้นี้ถูกตั้งค่าเป็น True ซองจดหมาย SOAP ใด ๆ ก็ตามไม่ว่าจะมีเนื้อหาที่ดีที่สุดหรือไม่ก็ตามจะได้รับการจัดอันดับเป็นข้อความ MIME ที่ปรับให้เหมาะ MTOM อนุกรม 2A คือเซ็ตอัพเนื้อหาไบนารีทั้งหมดเป็น Base64 encoded strings โดยไม่คำนึงว่าจะมีคุณสมบัติเหมาะสมหรือไม่ถ้าคุณสมบัติ enableMTOM ถูกตั้งค่าเป็น False. if ซองจดหมายจะประกอบด้วยรายการข้อมูล element ของชื่อ xop รวมถึงดู XML-binary การเพิ่มประสิทธิภาพการบรรจุ 3 โครงสร้างข้อมูล XOP Constructs ผู้ใช้ทำ ไม่ต้องระบุอะไรเพื่อให้ Axis2 รับข้อความที่ได้รับการเพิ่มประสิทธิภาพ MTOM Axis2 จะระบุและจัดลำดับตามลำดับโดยอัตโนมัติเมื่อ MTOM มาถึง nabling การเพิ่มประสิทธิภาพ MTOM บนฝั่งเซิร์ฟเวอร์เซิร์ฟเวอร์ Axis 2 จะระบุข้อความที่ได้รับการปรับปรุง MTOM ที่เข้ามาโดยอัตโนมัติตามประเภทเนื้อหาและลดจำนวนครั้งตามลำดับผู้ใช้สามารถ enableMTOM ทางฝั่งเซิร์ฟเวอร์สำหรับข้อความขาออกได้เพื่อให้สามารถใช้งานได้ทั่วโลกสำหรับบริการทั้งหมดของผู้ใช้ สามารถตั้งค่าพารามิเตอร์ enableMTOM ให้เป็น True ในส่วนของ When it is set ข้อความขาออกทั้งหมดจะถูกจัดเรียงเป็นลำดับและส่งเป็นข้อความ MIME ที่ปรับแต่ง MTOM ถ้าไม่ได้ตั้งค่าข้อมูลไบนารีทั้งหมดในโหนดเนื้อหาไบนารีจะต่อเนื่องกันเป็นสตริงเข้ารหัส Base64 การตั้งค่าสามารถถูก overriden บนพื้นฐานของต่อบริการและต่อการดำเนินการคุณต้องรีสตาร์ทเซิร์ฟเวอร์หลังจากการตั้งค่าพารามิเตอร์นี้การเข้าถึงรหัสข้อมูลไบนารีที่ได้รับที่มีให้ ณ Camel 2 17 รูปแบบข้อมูลนี้ที่สามารถแปลงข้อความ Camel กับสิ่งที่แนบมา เป็นข้อความ Camel ที่มีข้อความ MIME-Multipart เป็นเนื้อหาของข้อความและไม่มีสิ่งที่แนบมาใช้ในกรณีนี้คือเพื่อให้ผู้ใช้สามารถส่งไฟล์แนบผ่านจุดปลายทางได้ t ไม่สนับสนุนสิ่งที่แนบโดยตรงเช่นการใช้โปรโตคอลพิเศษเช่นส่ง MIME-multipart ไปยังจุดสิ้นสุดหรือเป็นวิธีแก้ปัญหาอุโมงค์เช่นอูฐไม่รองรับสิ่งที่แนบมา แต่โดยการจัดเรียงข้อความด้วยไฟล์แนบเป็น MIME-Multipart, ส่งไปที่คิว JMS รับข้อความจากคิว JMS และยกเลิกการจัดเรียงข้อมูลอีกครั้งในเนื้อความของข้อความด้วยสิ่งที่แนบมาตัวเลือกมาร์แชลของรูปแบบข้อมูล mime-multipart จะแปลงข้อความที่มีไฟล์แนบเป็นข้อความ MIME-Multipart หากพารามิเตอร์ multipartWithoutAttachment ถูกตั้งค่าเป็น true นอกจากนี้ยังมีการจัดเรียงข้อความโดยไม่มีสิ่งที่แนบลงในข้อความแบบหลายส่วนพร้อมกับส่วนเดียวถ้าพารามิเตอร์ถูกตั้งค่าเป็น false จะทำให้ข้อความอยู่คนเดียวส่วนหัวของ mulitpart เป็น MIME-Version และ Content-Type ถูกตั้งไว้ เป็นส่วนหัวของอูฐไปยังข้อความถ้าส่วนหัวพารามิเตอร์อินไลน์ถูกตั้งค่าเป็น true จะสร้างข้อความ multipart MIME ในกรณีใด ๆ นอกจากส่วนหัว MIME ของ m ultipart ถูกเขียนเป็นส่วนหนึ่งของเนื้อหาของข้อความไม่ใช่เป็นส่วนหัวของอูฐตัวเลือก unmarshal ของรูปแบบข้อมูล mime-multipart จะแปลงข้อความ MIME-Multipart เป็นข้อความอูฐพร้อมกับสิ่งที่แนบและปล่อยข้อความอื่น ๆ เพียงอย่างเดียว MIME - ส่วนหัวของ MIME - จำเป็นต้องตั้งค่าส่วนหัวของ Camel การยกเลิกการจัดตำแหน่งจะเกิดขึ้นเฉพาะเมื่อส่วนหัว Content-Type ถูกตั้งค่าเป็นแบบหลายจุดหากส่วนหัวของตัวเลือกบรรทัดถูกตั้งค่าเป็น true ร่างกายจะถูกแยกวิเคราะห์เป็น MIME หากเนื้อหาของข้อความ ไม่มีการเปิดใช้งานการแคชกระแสข้อมูลและสตรีมเนื้อหาข้อความที่ไม่ใช่ข้อความ MIME ที่มีส่วนหัว MIME ในเนื้อหาของข้อความจะถูกแทนที่ด้วยข้อความว่างเปล่าขึ้นอยู่กับรุ่น Camel 2 17 1 ข้อความนี้จะเกิดขึ้นกับเนื้อความของข้อความทั้งหมดที่ไม่ได้ทำ มีข้อความ multipart MIME โดยไม่คำนึงถึงชนิดของร่างกายและการตั้งค่า cache stream หากตั้งค่าเป็น true การดำเนินการของมาร์แชลจะสร้าง multipart พร้อมกับส่วนหนึ่งหากข้อความไม่มีเอกสารแนบใด ๆ หากตั้งค่าเป็น false จะตั้งค่าให้เป็น true การดำเนินการของมาร์แชลจะเพิ่มส่วนหัว MIME ของ Multipart เป็นส่วนหนึ่งของเนื้อหาของข้อความและไม่ใช่ส่วนหัวของอูฐในกรณีที่มีการยกเลิกการดำเนินการส่วนหัว MIME จะถือว่าอยู่ใน เนื้อหาข้อความและการดำเนินการจะแยกวิเคราะห์ข้อความเป็นข้อความ MIME หมายเหตุข้อความใด ๆ คือข้อความ MIME ที่ถูกต้องดังนั้นการดำเนินการ unmarshal ด้วยพารามิเตอร์นี้ตั้งค่าเป็น true จะไม่ทำให้เกิดข้อผิดพลาดอย่างไรก็ตามถ้าการแยกวิเคราะห์ผลลัพธ์ไม่มีส่วน MIME ใด ๆ เริ่มต้นด้วย Camel 2 17 2 unmarshaller พยายามคืนค่าข้อความเดิมหากไม่สามารถทำได้เนื่องจากเนื้อความของข้อความเป็นสตรีมและไม่ได้เปิดใช้งานแคชสตรีมหรือมีรุ่น Camel เก่าเนื้อหาข้อความที่เกิดจะว่างเปล่าหมายเหตุถ้าส่วนหัวของบรรทัด ถูกตั้งค่าเป็น true ข้อความจะถูกแสดงผลเป็น multipart MIME โดยไม่คำนึงถึงว่าไฟล์แนบมีอยู่หรือไม่ regex ซึ่งกำหนดส่วนหัว Camel ที่มีอยู่ d เป็นส่วนหัว MIME เป็น MIME multipart นี้จะทำงานเฉพาะถ้า HeadersInline ถูกตั้งค่าเป็น true ค่าเริ่มต้นคือการรวมส่วนหัว Camel หากตั้งค่าเนื้อหาจริงที่ไม่ใช่ข้อความจะถูกโอนในโหมดไบนารีถ้าตั้งค่าเป็นค่าเริ่มต้นผิดพลาดเนื้อหาไบนารีจะ โอนย้ายในการเข้ารหัส base64 นี่คือสั้น แต่อาจไม่ทำงานสำหรับวิธีการโอนทั้งหมดชนิดย่อยของ MIME ที่สร้างขึ้น multipart ตัวเลือกอื่น ๆ ที่เกี่ยวข้องทางเลือก digest หรือ parallel ชนิดข้อมูลไม่บังคับใช้ความหมายใด ๆ สำหรับ subtypes เหล่านี้ดังนั้นผู้ใช้มีเช่น เพื่อให้แน่ใจว่าส่วนแรกของข้อความย่อย multipart เป็นข้อความที่เหมาะสมข้อมูล rfc822 ผสมเริ่มต้นมักจะเป็นทางเลือกที่ดีข้อความ Headers marshal. will สร้างข้อความโดยไม่ต้องมีส่วนหัว MIME เฉพาะใด ๆ ที่กำหนดเป็นส่วนหัว Camel ส่วนหัว Content-Type คือ ลบออกจากข้อความ Camel และเนื้อหาของข้อความต่อไปนี้ซึ่งรวมถึงส่วนหัวทั้งหมดของข้อความเริ่มต้นด้วย x - และส่วนหัวที่มีชื่อรวมอยู่ด้วย Message Body. Am เพื่อใช้ MIME-Multi ส่วนในเส้นทาง Camel ของคุณคุณต้องเพิ่มการพึ่งพาในอูฐเมลซึ่งใช้ข้อมูลนี้ format. If คุณใช้ Maven คุณสามารถเพิ่มต่อไปนี้เพื่อ your. Apache module modmime โมดูลนี้ใช้เพื่อเชื่อมโยงบิตต่างๆของข้อมูล meta ด้วย ไฟล์โดยนามสกุลของชื่อไฟล์ข้อมูลนี้เกี่ยวข้องกับชื่อไฟล์ของเอกสารไปยังประเภทของ mime ภาษาชุดอักขระและการเข้ารหัสข้อมูลนี้ถูกส่งไปยังเบราเซอร์และมีส่วนร่วมในการต่อรองเนื้อหาเพื่อให้ผู้ใช้พึงพอใจเมื่อเลือกหนึ่งใน หลายไฟล์ที่เป็นไปได้ที่จะให้บริการดู modnegotiation สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเจรจาต่อรองเนื้อหาคำสั่ง AddCharset AddEncoding AddLanguage และ AddType ถูกใช้เพื่อแม็ปส่วนขยายของไฟล์ไปยังเมตาดาต้าสำหรับไฟล์นั้นตามลำดับพวกเขาตั้งค่าชุดอักขระการเข้ารหัสเนื้อหาภาษาเนื้อหา , และ MIME ชนิดชนิดเนื้อหาของเอกสารคำสั่ง TypesConfig ใช้เพื่อระบุไฟล์ที่ยังแผนที่ส่วนขยายบน MIME types. In นอกจากนี้, modmime อาจกำหนดตัวจัดการและตัวกรองที่มาและประมวลผลเนื้อหาคำสั่ง AddHandler AddOutputFilter และ AddInputFilter ควบคุมโมดูลหรือสคริปต์ที่ให้บริการเอกสารคำสั่ง MultiviewsMatch อนุญาตให้ modnegotiation พิจารณาส่วนขยายไฟล์เหล่านี้เพื่อรวมไว้ในการทดสอบ Multiviews matches ขณะที่ modmime associates meta - ข้อมูลที่มีส่วนขยายชื่อไฟล์เซิร์ฟเวอร์หลักจะมีคำสั่งที่ใช้เพื่อเชื่อมโยงไฟล์ทั้งหมดในคอนเทนเนอร์ที่กำหนดเช่น Location Directory หรือไฟล์ที่มีข้อมูลเมตาโดยเฉพาะคำสั่งเหล่านี้รวมถึง SetType SetType SetType SetType SetType และ SetOutputFilter คำสั่งหลักจะแทนที่การแมปส่วนขยายของชื่อไฟล์ใด ๆ ที่กำหนดไว้ใน modmime โปรดสังเกตว่าการเปลี่ยนแปลงข้อมูลเมตาสำหรับไฟล์ไม่ได้เปลี่ยนค่าของส่วนหัวที่ดัดแปลงครั้งล่าสุดดังนั้นสำเนาไคลเอ็นต์หรือพร็อกซีก่อนหน้านี้อาจถูกใช้โดยใช้ส่วนหัวก่อนหน้าถ้าคุณเปลี่ยนภาษา meta-information , ชนิดเนื้อหาชุดอักขระหรือ enc oding คุณอาจต้องแตะที่ไฟล์ที่ได้รับผลกระทบซึ่งอัปเดตวันที่แก้ไขครั้งล่าสุดเพื่อให้แน่ใจว่าผู้เข้าชมทั้งหมดจะได้รับส่วนหัวของเนื้อหาที่แก้ไขแล้วไฟล์สามารถมีนามสกุลได้มากกว่าหนึ่งรายการและลำดับส่วนขยายจะไม่เกี่ยวข้องกับตัวอย่างเช่นถ้าไฟล์แผนที่เข้าสู่ เนื้อหาชนิด html และภาษาฝรั่งเศสแล้วไฟล์จะแม็ปตรงว่าข้อมูลเดียวกันถ้ามีมากกว่าหนึ่งนามสกุลจะได้รับแผนที่บน meta-information ชนิดเดียวกันจะมีการใช้ตัวเลือกทางด้านขวามือยกเว้นภาษาและเนื้อหา การเข้ารหัสตัวอย่างเช่นถ้าแม็ปกับไฟล์ gif ประเภท MIME และแม็ปกับ html html แบบ MIME ไฟล์จะถูกเชื่อมโยงกับ MIME text type html. Languages ​​และการเข้ารหัสเนื้อหาถือว่าสะสมเพราะสามารถกำหนดได้มากกว่า หนึ่งภาษาหรือการเข้ารหัสไปยังรีซอร์สแบบพิเศษตัวอย่างเช่นไฟล์จะถูกจัดส่งด้วย content-language en, de และ Content-Type html. Care ควรจะถูกนำมาใช้เมื่อไฟล์ที่มีนามสกุลหลายตัวได้รับ associat ed ด้วยทั้งแบบ MIME และ handler การดำเนินการนี้จะทำให้คำขอถูกจัดการโดยโมดูลที่เชื่อมโยงกับตัวจัดการตัวอย่างเช่นถ้าส่วนขยายถูกแมปไปยัง imap-file handler จาก modimagemap และส่วนขยายจะถูกแม็พกับ MIME ชนิดข้อความ html แล้วไฟล์จะเชื่อมโยงกับตัวจัดการไฟล์ IMAP และข้อความ html MIME-type เมื่อประมวลผลตัวจัดการไฟล์ imap จะถูกใช้งานและจะถือว่าเป็นไฟล์รูปแบบไฟล์ modemagemap คุณต้องการเฉพาะส่วนที่ถูกคั่นด้วยจุดสุดท้ายของชื่อไฟล์ที่จะแม็พกับข้อมูลเมตาโดยเฉพาะจากนั้นอย่าใช้คำสั่ง Add ตัวอย่างเช่นถ้าคุณต้องการให้ไฟล์ประมวลผลเป็นสคริปต์ CGI แต่ไม่ ไฟล์แทนการใช้ตัวจัดการ AddHandler cgi-script ตัวจัดการค่าที่ตั้งอยู่บนส่วนขยายขั้นสุดท้ายเท่านั้น FileServer SetHandler cgi-script FilesMatch. ไฟล์ของ MIME ชนิดใดชนิดหนึ่งสามารถถูกเข้ารหัสโดยเฉพาะเพื่อลดความซับซ้อนในการรับส่งข้อมูลผ่านทางอินเทอร์เน็ตได้ มักจะ อ้างถึงการบีบอัดเช่น gzip นอกจากนี้ยังสามารถอ้างถึงการเข้ารหัสเช่น pgp หรือการเข้ารหัสเช่น UUencoding ซึ่งถูกออกแบบมาสำหรับการส่งไฟล์ไบนารีในรูปแบบข้อความ ASCII ส่วน RFC 14 11 ใช้วิธีนี้ ฟิลด์ส่วนหัวของเอนทิตี Content Encoding ถูกใช้เป็นตัวแก้ไขประเภทสื่อเมื่อมีค่าของมันบ่งชี้ว่ามีการใช้ codings เนื้อหาเพิ่มเติมกับเอนทิตีเอนทิตีและสิ่งที่ต้องใช้กลไกการถอดรหัสเพื่อให้ได้มาซึ่งสื่อ ชนิดที่อ้างถึงโดยส่วนหัวของ Content-Type Content-Encoding จะใช้เพื่ออนุญาตให้มีการบีบอัดเอกสารโดยไม่สูญเสียข้อมูลประจำตัวของสื่อต้นแบบโดยใช้ส่วนขยายไฟล์มากกว่าหนึ่งไฟล์ดูส่วนด้านบนเกี่ยวกับส่วนขยายของไฟล์หลาย ๆ ไฟล์คุณสามารถ ระบุว่าไฟล์เป็นของประเภทใดประเภทหนึ่งและมีการเข้ารหัสเฉพาะตัวอย่างเช่นคุณอาจมีไฟล์ซึ่งเป็นเอกสาร Microsoft Word ซึ่งเป็น pkzipped เพื่อลดขนาดหากส่วนขยายมีส่วนเกี่ยวข้องกับ Micros oft ชนิดของไฟล์ Word และส่วนขยายเกี่ยวข้องกับการเข้ารหัสไฟล์ pkzip จากนั้นไฟล์จะเป็นที่รู้จักในชื่อ pkzip ed เอกสาร Word. Apache จะส่งส่วนหัว Content การเข้ารหัสด้วยรีซอร์สเพื่อที่จะบอกเบราว์เซอร์ของไคลเอ็นต์เกี่ยวกับ วิธีการเข้ารหัสนอกเหนือจากประเภทไฟล์และการเข้ารหัสไฟล์อีกชิ้นที่สำคัญของข้อมูลคือสิ่งที่ภาษาหนึ่งเอกสารอยู่ในและในสิ่งที่ตัวอักษรชุดไฟล์ควรจะแสดงตัวอย่างเช่นเอกสารอาจจะเขียนด้วยตัวอักษรเวียดนาม, หรือในอักษรซีริลลิกและควรจะแสดงเป็นเช่นนี้ข้อมูลนี้ยังจะถูกส่งในส่วนหัวชุดตัวอักษรภาษาการเข้ารหัสและประเภท MIME ทั้งหมดใช้ในกระบวนการเจรจาต่อรองเนื้อหาดูการปรับเปลี่ยนเพื่อพิจารณาว่าเอกสารใดที่จะมอบให้กับลูกค้า เมื่อมีเอกสารทางเลือกมากกว่าหนึ่งชุดอักขระภาษาการเข้ารหัสหรือชนิด mime ความสัมพันธ์ของส่วนขยายชื่อไฟล์ทั้งหมดที่สร้างขึ้นด้วย AddEncoding AddLanguage AddCharset AddLanguage และคำสั่ง AddType และส่วนขยายที่อยู่ใน MimeMagicFile มีส่วนร่วมในกระบวนการเลือกนี้ส่วนขยายชื่อไฟล์ที่เชื่อมโยงเฉพาะโดยใช้ AddHendler AddInputFilter หรือ AddOutputFilter directives อาจรวมหรือยกเว้นจากการจับคู่โดยใช้คำสั่ง MultiviewsMatch เพื่อถ่ายทอดข้อมูลเพิ่มเติมนี้ Apache จะส่งเนื้อหาภาษา เพื่อระบุภาษาที่ใช้ในเอกสารและสามารถเพิ่มข้อมูลเพิ่มเติมลงในส่วนหัวของ Content-Type เพื่อระบุชุดอักขระเฉพาะที่ควรใช้เพื่อแสดงข้อมูลได้อย่างถูกต้องเนื้อหาแบบข้อความ en, fr เนื้อหาชนิดเนื้อหาธรรมดา charset ISO-8859-1 ข้อกำหนดของภาษาเป็นตัวย่อสองตัวอักษรสำหรับภาษา charset เป็นชื่อของชุดอักขระเฉพาะที่ควรใช้คำสั่ง AddEncoding แมปส่วนขยายชื่อไฟล์ที่ระบุไปยังชนิดการเข้ารหัสที่ระบุ MIME-enc คือการเข้ารหัส MIME เพื่อใช้สำหรับเอกสารที่มีนามสกุลการแมปนี้จะถูกเพิ่มเข้าไปในส่วนใดก็ตามที่มีอยู่ใน rce แทนที่การแม็ปใด ๆ ที่มีอยู่แล้วสำหรับส่วนขยายเดียวกัน Adddecode x-gzip AddEncoding x-compress Z ซึ่งจะทำให้ชื่อไฟล์ที่มีส่วนขยายถูกทำเครื่องหมายว่าเข้ารหัสโดยใช้การเข้ารหัส x-gzip และชื่อไฟล์ที่มีนามสกุล Z จะเป็น ทำเครื่องหมายว่าเข้ารหัสด้วย x-compress ลูกค้าเก่าคาดว่า x-gzip และ x-compress อย่างไรก็ตามมาตรฐานบอกว่ามันเทียบเท่ากับ gzip และบีบอัดตามลำดับ Apache ทำการเปรียบเทียบการเข้ารหัสเนื้อหาโดยละเลย x - ชั้นนำเมื่อตอบสนองด้วยการเข้ารหัส Apache จะใช้ ทุกรูปแบบเช่น x-foo หรือ foo client request ถ้าลูกค้าไม่ได้ร้องขอเฉพาะแบบฟอร์ม Apache จะใช้แบบฟอร์มที่กำหนดโดยคำสั่ง AddEncoding เพื่อให้เรื่องยาวสั้นนี้คุณควรใช้ x-gzip และ x-compress สำหรับ การเข้ารหัสทั้งสองแบบนี้ควรใช้การเข้ารหัสที่เป็นรูปแบบล่าสุดเช่น deflate โดยไม่มีอาร์กิวเมนต์ x อาร์กิวเมนต์ส่วนขยายเป็นแบบไม่คำนึงถึงตัวพิมพ์เล็กและสามารถระบุได้โดยมีหรือไม่มีชื่อไฟล์จุดนำ อาจมีหลายส่วนขยายและอาร์กิวเมนต์ส่วนขยายจะถูกเปรียบเทียบกับแต่ละแอ็ตทริบิวต์นั้น AddLanguage directive แมปส่วนขยายของไฟล์ที่ระบุไปยังภาษาเนื้อหาที่ระบุ MIME-lang เป็นภาษา MIME ของชื่อไฟล์ที่มีนามสกุลการแมปนี้จะถูกเพิ่มลงในส่วนที่มีอยู่แล้ว เอาชนะการแม็ปใด ๆ ที่มีอยู่แล้วสำหรับส่วนขยายเดียวกัน AddAddress x-compress Z AddLanguage en AddLanguage fr จากนั้นเอกสารจะถือว่าเป็นเอกสารภาษาอังกฤษแบบบีบอัดเหมือนกับเอกสารแม้ว่าภาษาเนื้อหาจะถูกรายงานไปยังไคลเอ็นต์ ไม่น่าจะใช้ข้อมูลนี้คำสั่ง AddLanguage มีประโยชน์มากสำหรับการเจรจาต่อรองเนื้อหาที่เซิร์ฟเวอร์ส่งคืนค่าจากเอกสารหลายชุดตามความต้องการของภาษาของไคลเอ็นต์หากมีการกำหนดภาษาหลายรายการสำหรับส่วนขยายเดียวกันระบบจะตรวจสอบว่ามีภาษาใดเป็นจำนวนมาก ใช้ในกรณีของ Add. local en AddLanguage en-gb AddLanguage en-us. documents ที่มีนามสกุล จะถือว่าเป็นอาร์กิวเมนต์ en-us อาร์กิวเมนต์ส่วนขยายไม่คำนึงถึงตัวพิมพ์เล็กและสามารถระบุได้โดยใช้หรือไม่มีชื่อไฟล์จุดเริ่มต้นอาจมีส่วนขยายหลายส่วนและอาร์กิวเมนต์ส่วนขยายจะถูกเปรียบเทียบกับแต่ละไฟล์AddOutputFilterมีให้ใช้งานใน Apache 2 เท่านั้น 0 26 และในภายหลัง The AddOutputFilter directive แมปส่วนขยายส่วนขยายของชื่อแฟ้มไปยังตัวกรองซึ่งจะประมวลผลการตอบสนองจากเซิร์ฟเวอร์ก่อนที่จะถูกส่งไปยังไคลเอนต์ซึ่งนอกเหนือจากตัวกรองใด ๆ ที่กำหนดไว้ที่อื่นรวมทั้ง SetOutputFilter และ AddOutputFilterByType directive การแม็ปนี้ถูกรวมเข้าด้วยกัน ใด ๆ ที่มีอยู่ในบังคับเอาชนะการแม็ปใด ๆ ที่มีอยู่แล้วสำหรับส่วนขยายเดียวกันตัวอย่างเช่นการกำหนดค่าต่อไปนี้จะประมวลผลไฟล์ทั้งหมดสำหรับฝั่งเซิร์ฟเวอร์รวมและจะบีบอัดเอาต์พุตโดยใช้ moddeflate. AddOutputFilter INCLUDESDEFLATE shtml หากมีตัวกรองมากกว่าหนึ่งตัว ระบุต้องแยกด้วยเครื่องหมายอัฒภาคตามลำดับที่ควรประมวลผลเนื้อหา อาร์กิวเมนต์เป็นตัวพิมพ์เล็กและใหญ่และสามารถระบุได้โดยมีหรือไม่มีชื่อไฟล์จุดเริ่มต้นอาจมีส่วนขยายหลายส่วนและอาร์กิวเมนต์ส่วนขยายจะถูกเปรียบเทียบกับแต่ละแอ็ตทริบิวต์นั้นคำสั่ง AddType จะแม็พส่วนขยายของไฟล์ที่ระบุ ชนิดของเนื้อหา MIME ชนิดที่ระบุคือชนิด MIME ที่จะใช้สำหรับชื่อไฟล์ที่มีนามสกุลการแม็ปนี้จะถูกเพิ่มลงในใด ๆ ที่มีผลใช้งานอยู่การเอาชนะการแม็ปใด ๆ ที่มีอยู่แล้วสำหรับส่วนขยายเดียวกันคำสั่งนี้สามารถใช้เพื่อเพิ่มการแม็ปที่ไม่อยู่ใน MIME types เห็นไฟล์ TypesConfig directiveAddType image gif ขอแนะนำให้เพิ่มประเภท MIME ใหม่โดยใช้คำสั่ง AddType แทนการเปลี่ยนไฟล์ TypesConfig อาร์กิวเมนต์ส่วนขยายไม่คำนึงถึงตัวพิมพ์ใหญ่และสามารถระบุได้โดยมีหรือไม่มีชื่อไฟล์จุดเริ่มต้น มีส่วนขยายหลายและอาร์กิวเมนต์ส่วนขยายจะถูกเปรียบเทียบกับแต่ละไฟล์มีอยู่ใน Apache 2 0 26 และต่อมา MultiviewsMatch permi ts สามพฤติกรรมที่แตกต่างกันสำหรับ modnegotiation ของคุณสมบัติ Multiviews Multiviews ช่วยให้การร้องขอสำหรับไฟล์เช่นเพื่อให้ตรงกับส่วนขยายใด ๆ ต่อรองตามคำขอฐานเช่นหรือตัวเลือก NegotiatedOnly ระบุว่านามสกุลทุกหลังชื่อพื้นฐานต้องเชื่อมโยงกับส่วนขยาย modmime ที่รู้จักสำหรับ การเจรจาต่อรองเนื้อหาเช่น Charset, Content-Type, Language หรือ Encoding นี่คือการใช้งานที่เข้มงวดที่สุดโดยมีผลข้างเคียงที่ไม่คาดคิดน้อยที่สุดและเป็นลักษณะการทำงานเริ่มต้นรวมถึงส่วนขยายที่เกี่ยวข้องกับ Handlers และ / หรือ Filters ให้ตั้งค่า MultiviewsMatch directive เป็น Handlers Filters หรือทั้งสองตัวเลือกหากมีปัจจัยอื่น ๆ เท่ากันไฟล์ที่เล็กที่สุดจะถูกให้บริการเช่นในการตัดสินใจระหว่าง 500 ไบต์และ 1000 ไบต์ไฟล์จะชนะในตัวอย่างนี้ผู้ใช้ไฟล์อาจต้องการใช้ตัวเลือก Handler ถ้าไฟล์ มีส่วนเกี่ยวข้องกับ asis-handler. You อาจอนุญาตให้ส่วนขยายใด ๆ ให้ตรงกับแม้ว่า modmime doesn t รู้จักส่วนขยายนี้ wa s พฤติกรรมใน Apache 1 3 และอาจทำให้เกิดผลลัพธ์ที่คาดเดาไม่ได้เช่นการให้บริการหรือไฟล์เว็บมาสเตอร์ไม่เคยคาดว่าจะได้รับการบริการตัวอย่างเช่นการกำหนดค่าต่อไปนี้จะอนุญาตให้ตัวจัดการและตัวกรองมีส่วนร่วมใน Multviews แต่จะยกเว้นไฟล์ที่ไม่รู้จัก MultiviewsMatch ตัวจัดการตัวกรองลบความสัมพันธ์ของชุดอักขระใด ๆ สำหรับชุดของนามสกุลไฟล์นามสกุลนามสกุล. RemoveCharset โฮสต์เสมือนไดเรกทอรี htaccess. RemoveCharset จะใช้ได้เฉพาะใน Apache 2 0 24 และต่อมาคำสั่ง RemoveCharset จะลบความสัมพันธ์ของชุดอักขระใด ๆ สำหรับไฟล์ที่กำหนดไว้ extension อนุญาตให้ไฟล์ในไดเร็กทอรีย่อยยกเลิกการเชื่อมโยงใด ๆ ที่สืบทอดมาจากไดเร็กทอรีระดับบนหรือไฟล์ config ของเซิร์ฟเวอร์อาร์กิวเมนต์ส่วนขยายเป็นแบบไม่คำนึงถึงตัวพิมพ์เล็กและสามารถระบุได้โดยมีหรือไม่มีจุดนำทางลบรีมาร์เก็ตติ้งลบเนื้อหาการเชื่อมโยงเนื้อหาใด ๆ สำหรับชุดของไฟล์ extension. RemoveEncoding นามสกุล extension. virtual โฮสต์, ไดเรกทอรี htaccess. ลบคำสั่ง RemoveEncoding es สมาคมการเข้ารหัสใด ๆ สำหรับไฟล์ที่มีนามสกุลให้อนุญาตให้ไฟล์ในไดเร็กทอรีย่อยยกเลิกการเชื่อมโยงใด ๆ ที่สืบทอดมาจากไดเร็กทอรีระดับบนหรือไฟล์ config ของเซิร์ฟเวอร์ตัวอย่างของการใช้งานอาจเป็น AddAddress x-gzip เพิ่มข้อความธรรมดาไฟล์ RemoveEncoding Files ซึ่งจะทำให้ จะถูกทำเครื่องหมายว่าเข้ารหัสโดยใช้เมธอด gzip แต่เป็นไฟล์ plaintext ที่ไม่มีการเข้ารหัสลับคำสั่ง RemoveEncoding จะถูกประมวลผลหลังจากมีการใช้คำสั่ง AddEncoding ดังนั้นจึงเป็นไปได้ว่าพวกเขาอาจยกเลิกผลกระทบของหลังหากทั้งสองเกิดขึ้นภายในส่วนกำหนดค่าไดเรกทอรีเดียวกัน อาร์กิวเมนต์ไม่คำนึงถึงตัวพิมพ์เล็กและสามารถระบุได้โดยใช้หรือไม่มีจุดนำคำสั่ง RemoveHandler จะลบความสัมพันธ์ของตัวจัดการไฟล์ที่มีนามสกุลที่กำหนดซึ่งจะช่วยให้ไฟล์ในไดเร็กทอรีย่อยสามารถยกเลิกการเชื่อมโยงที่สืบทอดมาจากไดเร็กทอรีระดับบนหรือไฟล์ config ของเซิร์ฟเวอร์ได้ตัวอย่างเช่น การใช้งานอาจเป็น AddAdminer เซิร์ฟเวอร์ที่แยกวิเคราะห์ซึ่งมีผลต่อการส่งคืนไฟล์ในแถบ foo bar direc tory เพื่อให้ถือว่าเป็นไฟล์ปกติแทนที่จะเป็นผู้สมัครสำหรับการแยกวิเคราะห์ดู module modinclude อาร์กิวเมนต์นามสกุลเป็น case-insensitive และสามารถระบุได้โดยมีหรือไม่มีจุดนำทาง RecoverInputFilter จะใช้ได้เฉพาะใน Apache 2 0 26 และต่อมา คำสั่ง RemoveInputFilter จะลบความสัมพันธ์ของตัวกรองอินพุทสำหรับไฟล์ที่มีส่วนขยายที่กำหนดซึ่งจะช่วยให้ไฟล์ในไดเรกทอรีย่อยสามารถยกเลิกการเชื่อมโยงใด ๆ ที่สืบทอดมาจากไดเร็กทอรีระดับบนหรือไฟล์ config ของเซิร์ฟเวอร์อาร์กิวเมนต์ส่วนขยายไม่คำนึงถึงตัวพิมพ์ใหญ่และสามารถระบุได้โดยมีหรือไม่มีจุดนำ Removes any language associations for a set of file extensions. RemoveLanguage extension extension. virtual host, directory htaccess. RemoveLanguage is only available in Apache 2 0 24 and later. The RemoveLanguage directive removes any language associations for files with the given extensions This allows files in subdirectories to undo any associations inherited from parent directories or the server config files. The ex tension argument is case-insensitive and can be specified with or without a leading dot. Removes any output filter associations for a set of file extensions. RemoveOutputFilter extension extension. virtual host, directory htaccess. RemoveOutputFilter is only available in Apache 2 0 26 and later. The RemoveOutputFilter directive removes any output filter associations for files with the given extensions This allows files in subdirectories to undo any associations inherited from parent directories or the server config files. The extension argument is case-insensitive and can be specified with or without a leading dot. Removes any content type associations for a set of file extensions. RemoveType extension extension. virtual host, directory htaccess. The RemoveType directive removes any MIME type associations for files with the given extensions This allows files in subdirectories to undo any associations inherited from parent directories or the server config files An example of its use might be. This will remove any special handling of files in the foo directory and any beneath it, causing the files to be treated as being of the DefaultType. RemoveType directives are processed after any AddType directives, so it is possible they may undo the effects of the latter if both occur within the same directory configuration. The extension argument is case-insensitive and can be specified with or without a leading dot. The TypesConfig directive sets the location of the MIME types configuration file File-path is relative to the ServerRoot This file sets the default list of mappings from filename extensions to content types Most administrators use the provided file, which associates common filename extensions with IANA registered content types The current list is maintained at This simplifies the file by providing the majority of media-type definitions, and may be overridden by AddType directives as needed You should not edit the file, because it may be replaced when you upgrade your server. The file contains lines in the format of the arguments to an AddType directive. The case of the extension does not matter Blank lines, and lines beginning with a hash character are ignored. Please do not send requests to the Apache Server Project to add any new entries in the distributed file unless 1 they are already registered with IANA, and 2 they use widely accepted, non-conflicting filename extensions across platforms category x-subtype requests will be automatically rejected, as will any new two-letter extensions as they will likely conflict later with the already crowded language and character set namespace. Notice This is not a Q A section Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid off-topic Questions on how to manage the Apache Server should be directed at either our IRC channel, on Freenode, or sent to our mailing lists. Copyright 2017 The Apache Software Foundation Licensed under the Apache License, Version 2 0.using php function detectFileMimeType filename filename escapeshellcmd filename command file - b --mime-type - m usr share misc magic. mimeType shellexec command. return trim mimeType should work on most shared linux hosts without errors It should also work on Windows hosts with msysgit installed. php if functionexists mimecontenttype. function mimecontenttype filename. txt text plain , htm text html , html text html , php text html , css text css , js application javascript , json application json , xml application xml , swf application x-shockwave-flash , flv video x-flv. images png image png , jpe image jpeg , jpeg image jpeg , jpg image jpeg , gif image gif , bmp image bmp , ico , tiff image tiff , tif image tiff , svg image svg xml , svgz image svg xml. archives zip application zip , rar application x-rar-compressed , exe application x-msdownload , msi application x-msdownload , cab. audio video mp3 audio mpeg , qt video quicktime , mov video quicktime. adobe pdf application pdf , psd , ai application postscript , eps application postscript , ps application postscript. ms office doc application msword , rtf application rtf , xls , ppt. open office odt , ods. ext strtolower arraypop explode filename if arraykeyexists ext mimetypes return mimetypes ext elseif functionexists finfoopen finfo finfoopen FILEINFOMIME mimetype finfofile finfo filename finfoclose finfo return mimetype else return application octet-stream. Here s a simple function to return MIME types, based on the Apache file The one in my previous submission, which has since been replaced by this one only works properly if is formatted as Windows text The updated version below corrects this problem Thanks to Mike for pointing this out. php function getmimetype filename mimePath etc fileext substr strrchr filename , 1 if empty fileext return false regex w - s w s fileext s i lines file mimePath foreach lines as line if substr line 0 1 continue skip comments line rtrim line if pregmatch regex line matches continue no match to the extension return matches 1 return false no match at all. Notes 1 Requires file distributed with Apache normally found at If you are using shared hosting, download the file with the Apache distro and then upload it to a directory on your web server that php has access to. 2 First param is the filename required Second parameter is path to file optional defaults to home etc. 3 Based on MIME types registered with IANA Recognizes 630 extensions associated with 498 MIME types. 4 Asserts MIME type based on filename extension Does not examine the actual file the file does not even have to exist. 5 Examples of use echo application xml echo application javascript echo echo echo image jpeg echo audio mpeg and so on. To create an associative array containing MIME types, use php function getmimearray mimePath etc regex w - t w s i lines file mimePath FILEIGNORENEWLINES foreach lines as line if substr line 0 1 continue skip comments if pregmatch regex line matches continue skip mime types w o any extensions mime matches 1 extensions explode matches 2 foreach extensions as ext mimeArray trim ext mime return mimeArray. I see a lot of comments suggesting doing file extension sniffing i e assuming files are JPEG images when proper file-type sniffing functions are unavailable I want to point out that there is a much more accurate way If neither mimecontenttype nor Fileinfo is available to you and you are running any UNIX variant since the 70s, including Mac OS, OS X, Linux, etc and most web hosting is , just make a system call to file 1 Doing something like this php echo system file - bi file path will output something like text html charset us-ascii Some systems won t add the charset bit, but strip it off just in case The - bi bit is important However, you can use a command like this php echo system file - b file path without the i after - b to output a human-readable string, like HTML document text , which can sometimes be useful The only drawback is that your scripts will not work on Windows, but is this such a problem Just about all web hosts use a UNIX It is a far better way than just examining the file extension. Here is a working version of a function that fetches the meme types from apache s built in mime list and creates an array of which the keys are the file extensions. function generateUpToDateMimeArray url return array mimes make sure that allowurlfopen is enabled. pregmatchall s s ism , mimes, matches, PREGSETORDER. foreach matches as match exts split , match 2 foreach exts as ext return ext match 1 return return. typeMime generateUpToDateMimeArray echo typeMime gif. I also had issues with this function. The issue was that it would almost always return text plain. echo returns. I found that I needed the OS file instead. You can either copy it to the existing location, or update your you cannot use iniset. root blade conf mv magic root blade conf cp magic root blade conf apachectl graceful. Note you will see that I have gracefully restarted apache to ensure it has taken affectpleting some dude AT somewhere DOT com comment.0 string php. and string detection on text files may fail if you check a file encoded with signed UTF-8 The UTF-8 signature is a two bytes code 0xFF 0xFE that prepends the file in order to force UTF-8 recognition you may check it on an hexadecimal editor. The function mimecontenttype only worked for me on Microsoft Windows after I added the directive to my with the value of On The default value appears to be Off Exampe. mimemagic On.

No comments:

Post a Comment