.\" Copyright (c) 2001-2003 Leon Bottou, Yann Le Cun, Patrick Haffner, .\" Copyright (c) 2001 AT&T Corp., and Lizardtech, Inc. .\" .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" The GNU General Public License's references to "object code" .\" and "executables" are to be interpreted as the output of any .\" document formatting or typesetting system, including .\" intermediate and printed output. .\" .\" This manual is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this manual. Otherwise check the web site .\" of the Free Software Foundation at http://www.fsf.org. .TH DJVUSERVE 1 "01/22/2002" "DjVuLibre-3.5" "DjVuLibre-3.5" .SH "نام (NAME)" djvuserve \- تولید بلادرنگ اسناد غیرمستقیم DjVu .SH "توضیحات (DESCRIPTION)" برنامه .B djvuserve یک برنامه .SM CGI است که می‌تواند توسط یک سرور .SM HTTP برای ارائه‌ی اسناد DjVu اجرا شود. این برنامه قادر است یک سند چندصفحه‌ای یکپارچه (bundled) را به‌صورت بلادرنگ (on the fly) به یک سند غیرمستقیم (indirect) تبدیل کند. .SH "استفاده از DJVUSERVE (USING DJVUSERVE)" برنامه .B djvuserve ابتدا باید به عنوان یک برنامه .SM CGI برای وب‌سرور شما نصب شود. روش‌های گوناگونی برای انجام این کار وجود دارد. به عنوان مثال، وب‌سرور Apache اغلب با استفاده از دستورالعمل .B ScriptAlias یک دایرکتوری خاص را برای برنامه‌های .SM CGI تعیین می‌کند. فرض کنید فایل .B httpd.conf شامل خط زیر باشد: .IP "" 3 .BI "ScriptAlias /cgi\(enbin/ " """/var/www/cgi\(enbin""" .PP در این صورت، کافی است یک اسکریپت شل اجرایی کوچک به نام .IB /var/www/cgi\(enbin/ djvuserve حاوی خطوط زیر ایجاد شود: .IP "" 3 .B #!/bin/sh .br .BI "exec " "/full/path/to/" "djvuserve" .PP فرض کنید یک سند چندصفحه‌ای یکپارچه‌ی بزرگ DjVu در .SM URL زیر در دسترس باشد: .IP "" 3 .IB http "" ://server/dir/doc.djvu .PP برنامه .SM CGI .B djvuserve به شما امکان می‌دهد با استفاده از .SM URL زیر، به همین سند به عنوان یک سند چندصفحه‌ای غیرمستقیم DjVu دسترسی پیدا کنید: .IP "" 3 .IB http "" ://server /cgi\(enbin/djvuserve/ dir/doc.djvu /index.djvu .PP ارائه‌ی اسناد چندصفحه‌ای غیرمستقیم DjVu شرایطی را فراهم می‌کند تا مرور اسناد بزرگ بدون انتقال صفحات غیرضروری در بستر شبکه، به شکلی کارآمد انجام پذیرد. برای اطلاعات بیشتر .BR djvu (1) را ببینید. .PP علاوه بر این، .B djvuserve کلیدواژه‌های خاصی را در میان آرگومان‌های .SM CGI موجود در .SM URL جستجو می‌کند. کلیدواژه‌ی .B bundled ارائه‌ی سند را به‌صورت یکپارچه با استفاده از نشانی زیر اجبار می‌کند: .IP "" 3 .IB http "" ://server /cgi\(enbin/djvuserve/ dir/doc.djvu ?bundled .PP کلیدواژه‌ی .B download یک سرآیند .SM HTTP از نوع content disposition درج می‌کند که پیشنهاد می‌دهد به جای نمایش سند، کادر گفتگوی ذخیره‌سازی باز شود: .IP "" 3 .IB http "" ://server /cgi\(enbin/djvuserve/ dir/doc.djvu ?download .PP .SH "استفاده از DJVUSERVE به عنوان پردازشگر (USING DJVUSERVE AS A HANDLER)" وب‌سرور Apache روشی را برای اجرای خودکار .B djvuserve برای تمامی اسناد DjVu ارائه می‌دهد. این کار را می‌توان با استفاده از دستورالعمل‌های زیر در فایل پیکربندی Apache یا فایل‌های .BR .htaccess انجام داد: .IP "" 3 .B Action djvu-server /cgi\(enbin/djvuserve/ .br .B AddHandler djvu-server .djvu .PP سپس Apache برنامه .B djvuserve را برای ارائه‌ی تمامی فایل‌های DjVu اجرا می‌کند. فراهم کردن .SM URL فایل DjVu، آن را مانند گذشته ارائه می‌دهد، با این تفاوت که اسناد چندصفحه‌ای یکپارچه به‌صورت بلادرنگ به اسناد غیرمستقیم تبدیل می‌شوند. این آسودگی به بهای بار محاسباتی ناشی از اجرای .B djvuserve در هر بار درخواست فایل DjVu تمام می‌شود. .SH "جزئیات فنی (TECHNICAL DETAILS)" برنامه .B djvuserve روشی فراهم می‌کند تا با استفاده از یک .SM URL گسترش‌یافته، بتوان مستقیماً به هر جزء از یک سند چندصفحه‌ای یکپارچه‌ی DjVu دسترسی یافت. فرض کنید نام فایل جزئی که نشان‌دهنده‌ی صفحه‌ی ۱ است، .BR p0001.djvu باشد. .SM URL زیر دسترسی مستقیم به این صفحه را ممکن می‌سازد: .IP "" 3 .IB http "" ://server /cgi\(enbin/djvuserve/ dir/doc.djvu /p0001.djvu .PP با این حال، ترجیح بر این است که با استفاده از آرگومان‌های سبک .B CGI توصیف‌شده در .BR nsdejavu (1)، مانند .SM URL زیر، به صفحات مجزا دسترسی پیدا شود: .IP "" 3 .IB http "" ://server /cgi\(enbin/djvuserve/ dir/doc.djvu ?djvuopts&page=12 .PP نام فایل جزء ویژه .B index.djvu به عنوان درخواستی برای شاخص سند چندصفحه‌ای غیرمستقیم متناظر شناخته می‌شود. در واقع، هنگامی که با استفاده از .BR djvuserve به یک سند یکپارچه دسترسی پیدا می‌کنید، مرورگر به .SM URL زیر تغییر مسیر داده می‌شود: .IP "" 3 .IB http "" ://server /cgi\(enbin/djvuserve/ dir/doc.djvu /index.djvu .PP و سپس به گونه‌ای رفتار می‌کند که گویی فایل یکپارچه، دایرکتوری‌ای حاوی فایل‌های جزء مختلف از یک سند غیرمستقیم معادل بوده است. .SH "کنترل دسترسی (ACCESS CONTROL)" برنامه .BR djvuserve ، مانند بسیاری از برنامه‌های .SM CGI، تعدادی از تدابیر محافظت از دسترسی که در یک وب‌سرور تنظیم شده‌اند را دور می‌زند. برای مثال فرض کنید وب‌سایت شما شامل فایل‌های DjVu محافظت‌شده با گذرواژه است. برنامه .B djvuserve چیزی درباره این محافظت نمی‌داند و با کمال میل هر فایل DjVu مرتبط با یک .SM URL معتبر را ارائه خواهد داد. کنترل دسترسی با .B djvuserve را می‌توان ابتدا با در نظر گرفتن این نکته پیاده‌سازی کرد که وب‌سرور همیشه برنامه .B djvuserve را از طریق اسکریپت شل .IB /var/www/cgi\(enbin/ djvuserve اجرا می‌کند. این اسکریپت می‌تواند بر اساس نام فایل هدف که در متغیر محیطی .SM PATH_TRANSLATED موجود است، درباره اجرای برنامه واقعی .B djvuserve تصمیم‌گیری کند. می‌توان چندین اسکریپت از این دست ایجاد کرد که دسترسی به مجموعه‌های گوناگون فایل‌های DjVu را فراهم کنند. هر یک از این اسکریپت‌ها را می‌توان با استفاده از روش‌های متداول ارائه‌شده توسط وب‌سرور، با گذرواژه محافظت نمود. .SH "باگ‌های شناخته‌شده (KNOWN BUGS)" ابرپیوندهایی که با استفاده از یک .SM URL نسبی مشخص شده‌اند ممکن است با .BR djvuserve کار نکنند. این .SM URL ها نسبت به .SM URL سند DjVu سنجیده می‌شوند. با این وجود، .BR djvuserve .SM URL ظاهری سند یعنی .IB http://server/dir/doc.djvu را به .SM URL پیچیده‌تر .IB http://server /cgi\(enbin/djvuserve/ dir/doc.djvu /index.djvu. تبدیل می‌کند. این اجزای اضافی، تفسیر .SM URL های نسبی را دگرگون می‌سازند. .SH "دست‌اندرکاران (CREDITS)" این برنامه توسط Leon Bottou نوشته شده است. .SH "همچنین ببینید (SEE ALSO)" .BR djvu (1), .BR djvmcvt (1), .BR nsdejavu (1)