| DJVUSERVE(1) | DjVuLibre-3.5 | DJVUSERVE(1) |
نام (NAME)
djvuserve - تولید بلادرنگ اسناد غیرمستقیم DjVu
توضیحات (DESCRIPTION)
برنامه djvuserve یک برنامه CGI است که میتواند توسط یک سرور HTTP برای ارائهی اسناد DjVu اجرا شود. این برنامه قادر است یک سند چندصفحهای یکپارچه (bundled) را بهصورت بلادرنگ (on the fly) به یک سند غیرمستقیم (indirect) تبدیل کند.
استفاده از DJVUSERVE (USING DJVUSERVE)
برنامه djvuserve ابتدا باید به عنوان یک برنامه CGI برای وبسرور شما نصب شود. روشهای گوناگونی برای انجام این کار وجود دارد. به عنوان مثال، وبسرور Apache اغلب با استفاده از دستورالعمل ScriptAlias یک دایرکتوری خاص را برای برنامههای CGI تعیین میکند. فرض کنید فایل httpd.conf شامل خط زیر باشد:
- ScriptAlias /cgi–bin/ "/var/www/cgi–bin"
در این صورت، کافی است یک اسکریپت شل اجرایی کوچک به نام /var/www/cgi–bin/djvuserve حاوی خطوط زیر ایجاد شود:
- #!/bin/sh
exec /full/path/to/djvuserve
فرض کنید یک سند چندصفحهای یکپارچهی بزرگ DjVu در URL زیر در دسترس باشد:
- http://server/dir/doc.djvu
برنامه CGI djvuserve به شما امکان میدهد با استفاده از URL زیر، به همین سند به عنوان یک سند چندصفحهای غیرمستقیم DjVu دسترسی پیدا کنید:
- http://server/cgi–bin/djvuserve/dir/doc.djvu/index.djvu
ارائهی اسناد چندصفحهای غیرمستقیم DjVu شرایطی را فراهم میکند تا مرور اسناد بزرگ بدون انتقال صفحات غیرضروری در بستر شبکه، به شکلی کارآمد انجام پذیرد. برای اطلاعات بیشتر djvu(1) را ببینید.
علاوه بر این، djvuserve کلیدواژههای خاصی را در میان آرگومانهای CGI موجود در URL جستجو میکند. کلیدواژهی bundled ارائهی سند را بهصورت یکپارچه با استفاده از نشانی زیر اجبار میکند:
- http://server/cgi–bin/djvuserve/dir/doc.djvu?bundled
کلیدواژهی download یک سرآیند HTTP از نوع content disposition درج میکند که پیشنهاد میدهد به جای نمایش سند، کادر گفتگوی ذخیرهسازی باز شود:
- http://server/cgi–bin/djvuserve/dir/doc.djvu?download
استفاده از DJVUSERVE به عنوان پردازشگر (USING DJVUSERVE AS A HANDLER)
وبسرور Apache روشی را برای اجرای خودکار djvuserve برای تمامی اسناد DjVu ارائه میدهد. این کار را میتوان با استفاده از دستورالعملهای زیر در فایل پیکربندی Apache یا فایلهای .htaccess انجام داد:
- Action djvu-server /cgi–bin/djvuserve/
AddHandler djvu-server .djvu
سپس Apache برنامه djvuserve را برای ارائهی تمامی فایلهای DjVu اجرا میکند. فراهم کردن URL فایل DjVu، آن را مانند گذشته ارائه میدهد، با این تفاوت که اسناد چندصفحهای یکپارچه بهصورت بلادرنگ به اسناد غیرمستقیم تبدیل میشوند. این آسودگی به بهای بار محاسباتی ناشی از اجرای djvuserve در هر بار درخواست فایل DjVu تمام میشود.
جزئیات فنی (TECHNICAL DETAILS)
برنامه djvuserve روشی فراهم میکند تا با استفاده از یک URL گسترشیافته، بتوان مستقیماً به هر جزء از یک سند چندصفحهای یکپارچهی DjVu دسترسی یافت. فرض کنید نام فایل جزئی که نشاندهندهی صفحهی ۱ است، p0001.djvu باشد. URL زیر دسترسی مستقیم به این صفحه را ممکن میسازد:
- http://server/cgi–bin/djvuserve/dir/doc.djvu/p0001.djvu
با این حال، ترجیح بر این است که با استفاده از آرگومانهای سبک CGI توصیفشده در nsdejavu(1)، مانند URL زیر، به صفحات مجزا دسترسی پیدا شود:
- http://server/cgi–bin/djvuserve/dir/doc.djvu?djvuopts&page=12
نام فایل جزء ویژه index.djvu به عنوان درخواستی برای شاخص سند چندصفحهای غیرمستقیم متناظر شناخته میشود. در واقع، هنگامی که با استفاده از djvuserve به یک سند یکپارچه دسترسی پیدا میکنید، مرورگر به URL زیر تغییر مسیر داده میشود:
- http://server/cgi–bin/djvuserve/dir/doc.djvu/index.djvu
و سپس به گونهای رفتار میکند که گویی فایل یکپارچه، دایرکتوریای حاوی فایلهای جزء مختلف از یک سند غیرمستقیم معادل بوده است.
کنترل دسترسی (ACCESS CONTROL)
برنامه djvuserve، مانند بسیاری از برنامههای CGI، تعدادی از تدابیر محافظت از دسترسی که در یک وبسرور تنظیم شدهاند را دور میزند. برای مثال فرض کنید وبسایت شما شامل فایلهای DjVu محافظتشده با گذرواژه است. برنامه djvuserve چیزی درباره این محافظت نمیداند و با کمال میل هر فایل DjVu مرتبط با یک URL معتبر را ارائه خواهد داد.
کنترل دسترسی با djvuserve را میتوان ابتدا با در نظر گرفتن این نکته پیادهسازی کرد که وبسرور همیشه برنامه djvuserve را از طریق اسکریپت شل /var/www/cgi–bin/djvuserve اجرا میکند.
این اسکریپت میتواند بر اساس نام فایل هدف که در متغیر محیطی PATH_TRANSLATED موجود است، درباره اجرای برنامه واقعی djvuserve تصمیمگیری کند.
میتوان چندین اسکریپت از این دست ایجاد کرد که دسترسی به مجموعههای گوناگون فایلهای DjVu را فراهم کنند. هر یک از این اسکریپتها را میتوان با استفاده از روشهای متداول ارائهشده توسط وبسرور، با گذرواژه محافظت نمود.
باگهای شناختهشده (KNOWN BUGS)
ابرپیوندهایی که با استفاده از یک URL نسبی مشخص شدهاند ممکن است با djvuserve کار نکنند. این URL ها نسبت به URL سند DjVu سنجیده میشوند. با این وجود، djvuserve URL ظاهری سند یعنی http://server/dir/doc.djvu را به URL پیچیدهتر http://server/cgi–bin/djvuserve/dir/doc.djvu/index.djvu. تبدیل میکند. این اجزای اضافی، تفسیر URL های نسبی را دگرگون میسازند.
دستاندرکاران (CREDITS)
این برنامه توسط Leon Bottou <leonb@users.sourceforge.com> نوشته شده است.
همچنین ببینید (SEE ALSO)
| 01/22/2002 | DjVuLibre-3.5 |