| JWEBSERVER(1) | JDK Commands | JWEBSERVER(1) |
نام (NAME)
jwebserver - راهاندازی وبسرور ساده جاوا (Java Simple Web Server)
خلاصه دستور (SYNOPSIS)
jwebserver [گزینهها]
- گزینهها
- گزینههای خط فرمان. برای توضیحات دقیق گزینهها، به بخش گزینهها مراجعه کنید.
توضیحات (DESCRIPTION)
ابزار jwebserver یک کارساز وب (HTTP server) کمینه را ارائه میدهد که برای نمونهسازی اولیه، آزمایش و اشکالزدایی طراحی شده است. این سرور یک سلسلهمراتب منفرد دایرکتوری را ارائه میدهد و تنها فایلهای ایستا (static) را سرویسدهی میکند. تنها پروتکل 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 آدرس اتصال] [-p درگاه] [-d دایرکتوری] [-o none|info|verbose] [-h جهت نمایش گزینهها] [-version جهت نمایش اطلاعات نگارش]
گزینهها (OPTIONS)
- -h یا -? یا --help
- پیام راهنما را چاپ کرده و خارج میشود.
- -b addr یا --bind-address addr
- آدرسی را مشخص میکند که سرور باید به آن متصل (bind) شود. پیشفرض: 127.0.0.1 یا ::1 (لوپبک). برای تمام رابطها از -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)
دستور زیر وبسرور ساده را راهاندازی میکند:
-
$ 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)
بهطور پیشفرض، سرور در پیشزمینه اجرا شده و به آدرس لوپبک و درگاه 8000 متصل میشود. این رفتار را میتوان با گزینههای -b و -p تغییر داد. برای نمونه، جهت متصل کردن وبسرور ساده به تمام رابطهای شبکه، از دستور زیر استفاده کنید:
-
$ 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 تعیین کرد.
بهطور پیشفرض، هر درخواست در کنسول ثبت (log) میشود. خروجی به این صورت است:
-
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 25.0.4.1 |