.\" Automatically generated by Pandoc 3.10.2 .\" .TH "JWEBSERVER" "1" "2026" "JDK 26.0.2.1" "JDK Commands" .SH "نام (NAME)" jwebserver \- راه‌اندازی وب‌سرور ساده جاوا .SH "خلاصه دستور (SYNOPSIS)" \f[CR]jwebserver\f[R] [\f[I]options\f[R]] .TP \f[I]options\f[R] گزینه‌های خط فرمان. برای شرح تفصیلی گزینه‌ها، بخش \f[B]گزینه‌ها (OPTIONS)\f[R] را ببینید. .SH "توضیحات (DESCRIPTION)" ابزار \f[CR]jwebserver\f[R] یک وب‌سرور کمینه HTTP ارائه می‌دهد که برای ساخت پیش‌نمونه (prototyping)، آزمایش، و اشکال‌زدایی طراحی شده است. این ابزار یک سلسله‌مراتب دایرکتوری واحد را ارائه داده و فقط فایل‌های استاتیک را سرویس‌دهی می‌کند. تنها از HTTP/1.1 پشتیبانی می‌شود؛ نسخه‌های HTTP/2 و پروتکل HTTPS پشتیبانی نمی‌شوند. .PP تنها درخواست‌های ناوردا (idempotent) از نوع HEAD و GET سرویس‌دهی می‌شوند. سایر درخواست‌ها پاسخی با کد \f[CR]501 \- Not Implemented\f[R] یا \f[CR]405 \- Not Allowed\f[R] دریافت می‌کنند. درخواست‌های GET به شکل زیر به دایرکتوری در حال سرویس نگاشت می‌شوند: .IP \(bu 2 اگر منبع درخواستی یک فایل باشد، محتوای آن سرویس‌دهی می‌شود. .IP \(bu 2 اگر منبع درخواستی دایرکتوری حاوی یک فایل شاخص (index) باشد، محتوای فایل شاخص سرویس‌دهی می‌شود. .IP \(bu 2 در غیر این صورت، نام تمام فایل‌ها و زیردایرکتوری‌های آن دایرکتوری فهرست می‌شوند. پیوندهای نمادین (symbolic links) و فایل‌های مخفی فهرست یا سرویس‌دهی نمی‌شوند. .PP انواع MIME به طور خودکار و با استفاده از جدول داخلی پیکربندی می‌شوند. به عنوان مثال، فایل‌های \f[CR].html\f[R] به صورت \f[CR]text/html\f[R] و فایل‌های \f[CR].java\f[R] به صورت \f[CR]text/plain\f[R] سرویس‌دهی می‌شوند. .PP ابزار \f[CR]jwebserver\f[R] در ماژول jdk.httpserver قرار دارد و می‌توان آن را به طور جایگزین با دستور \f[CR]java \-m jdk.httpserver\f[R] نیز اجرا کرد. این ابزار بر اساس پیاده‌سازی سرور وب در بسته \f[CR]com.sun.net.httpserver\f[R] عمل می‌کند. کلاس \f[CR]com.sun.net.httpserver.SimpleFileServer\f[R] روشی برنامه‌نویسی‌شده برای دریافت سرور و اجزای آن جهت استفاده مجدد و توسعه فراهم می‌کند. .SH "نحوه استفاده (USAGE)" .IP .EX jwebserver [\-b bind address] [\-p port] [\-d directory] [\-o none|info|verbose] [\-h to show options] [\-version to show version information] .EE .SH "گزینه‌ها (OPTIONS)" .TP \f[CR]\-h\f[R] یا \f[CR]\-?\f[R] یا \f[CR]\-\-help\f[R] پیام راهنما را نمایش داده و خارج می‌شود. .TP \f[CR]\-b\f[R] \f[I]addr\f[R] یا \f[CR]\-\-bind\-address\f[R] \f[I]addr\f[R] آدرسی که باید به آن متصل (bind) شود را مشخص می‌کند. پیش‌فرض: 127.0.0.1 یا ::1 (loopback). برای تمام رابط‌ها از \f[CR]\-b 0.0.0.0\f[R] یا \f[CR]\-b ::\f[R] استفاده کنید. .TP \f[CR]\-d\f[R] \f[I]dir\f[R] یا \f[CR]\-\-directory\f[R] \f[I]dir\f[R] دایرکتوری مورد نظر برای سرویس‌دهی را مشخص می‌کند. پیش‌فرض: دایرکتوری جاری. .TP \f[CR]\-o\f[R] \f[I]level\f[R] یا \f[CR]\-\-output\f[R] \f[I]level\f[R] قالب خروجی را مشخص می‌کند. \f[CR]none\f[R] | \f[CR]info\f[R] | \f[CR]verbose\f[R]. پیش‌فرض: \f[CR]info\f[R]. .TP \f[CR]\-p\f[R] \f[I]port\f[R] یا \f[CR]\-\-port\f[R] \f[I]port\f[R] درگاهی (port) که باید به آن گوش دهد را مشخص می‌کند. پیش‌فرض: 8000. .TP \f[CR]\-version\f[R] یا \f[CR]\-\-version\f[R] اطلاعات نسخه را نمایش داده و خارج می‌شود. .PP برای متوقف کردن سرور، کلیدهای \f[CR]Ctrl + C\f[R] را فشار دهید. .SH "راه‌اندازی سرور (STARTING THE SERVER)" دستور زیر Simple Web Server را راه‌اندازی می‌کند: .IP .EX $ jwebserver .EE .PP در صورت موفقیت‌آمیز بودن راه‌اندازی، سرور پیامی را در \f[CR]System.out\f[R] چاپ می‌کند که آدرس محلی و مسیر مطلق دایرکتوری در حال سرویس‌دهی را فهرست می‌کند. به عنوان مثال: .IP .EX $ jwebserver Binding to loopback by default. For all interfaces use \(dq\-b 0.0.0.0\(dq or \(dq\-b ::\(dq. Serving /cwd and subdirectories on 127.0.0.1 port 8000 URL http://127.0.0.1:8000 .EE .SH "پیکربندی (CONFIGURATION)" به‌طور پیش‌فرض، سرور در پیش‌زمینه اجرا می‌شود و به آدرس loopback و پورت 8000 متصل می‌گردد. این تنظیمات با گزینه‌های \f[CR]\-b\f[R] و \f[CR]\-p\f[R] قابل تغییر است. برای مثال، جهت اتصال Simple Web Server به تمام رابط‌ها، از دستور زیر استفاده کنید: .IP .EX $ jwebserver \-b 0.0.0.0 Serving /cwd and subdirectories on 0.0.0.0 (all interfaces) port 8000 URL http://123.456.7.891:8000 .EE .PP توجه داشته باشید که این کار، سرور وب را برای تمامی میزبان‌های شبکه در دسترس قرار می‌دهد. \f[I]این کار را انجام ندهید مگر آنکه مطمئن باشید سرور هیچ اطلاعات حساسی را فاش نمی‌کند.\f[R] .PP به عنوان مثالی دیگر، از دستور زیر برای اجرا روی پورت 9000 استفاده کنید: .IP .EX $ jwebserver \-p 9000 .EE .PP به‌طور پیش‌فرض، فایل‌های دایرکتوری جاری سرویس‌دهی می‌شوند. دایرکتوری متفاوتی را می‌توان با گزینه \f[CR]\-d\f[R] مشخص کرد. .PP به‌طور پیش‌فرض، تمامی درخواست‌ها در کنسول ثبت می‌شوند. خروجی شبیه به نمونه زیر است: .IP .EX 127.0.0.1 \- \- [10/Feb/2021:14:34:11 +0000] \(dqGET /some/subdirectory/ HTTP/1.1\(dq 200 \- .EE .PP خروجی ثبت گزارش‌ها را می‌توان با گزینه \f[CR]\-o\f[R] تغییر داد. تنظیم پیش‌فرض \f[CR]info\f[R] است. حالت \f[CR]verbose\f[R] علاوه بر این، هدرهای درخواست و پاسخ و همچنین مسیر مطلق منبع درخواستی را نیز شامل می‌شود. .SH "متوقف کردن سرور (STOPPING THE SERVER)" سرور پس از راه‌اندازی موفقیت‌آمیز، تا زمان توقف به اجرای خود ادامه می‌دهد. در سیستم‌عامل‌های یونیکس، می‌توان با ارسال سیگنال \f[CR]SIGINT\f[R] (کلیدهای \f[CR]Ctrl+C\f[R] در پنجره ترمینال) سرور را متوقف کرد. .SH "گزینه راهنما (HELP OPTION)" گزینه \f[CR]\-h\f[R] پیامی راهنما شامل کاربرد و گزینه‌های ابزار \f[CR]jwebserver\f[R] را نمایش می‌دهد.