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