سرور وب: تفاوت میان نسخهها
بدون خلاصۀ ویرایش برچسبها: ویرایش همراه ویرایش از وبگاه همراه |
ابرابزار |
||
خط ۲: | خط ۲: | ||
{{بهبود منبع}} |
{{بهبود منبع}} |
||
[[پرونده:firstwebserver.jpg|بندانگشتی|تصویری از اولین سرور وب دنیا]] |
[[پرونده:firstwebserver.jpg|بندانگشتی|تصویری از اولین سرور وب دنیا]] |
||
'''کارساز وب'''،<ref>''کارساز'' و ''وب'' واژههای مصوب [[فرهنگستان زبان و ادب فارسی]] به جای ''Server'' و ''Web'' در [[زبان انگلیسی|انگلیسی]] هستند. {{یادکرد وب | تاریخ بازبینی=۲۸ دسامبر ۲۰۱۱ | عنوان=واژهنامه مرجع برای ترجمه محیط لینوکس | نشانی=http://tihcec.tabaar.com/Nashrie/Files/874.pdf | ناشر=[[شورای عالی انفورماتیک]] | archiveurl=https://web.archive.org/web/20120112083716/http://tihcec.tabaar.com/Nashrie/Files/874.pdf | archivedate=۱۲ ژانویه ۲۰۱۲ | dead-url=yes |
'''کارساز وب'''،<ref>''کارساز'' و ''وب'' واژههای مصوب [[فرهنگستان زبان و ادب فارسی]] به جای ''Server'' و ''Web'' در [[زبان انگلیسی|انگلیسی]] هستند. {{یادکرد وب | تاریخ بازبینی=۲۸ دسامبر ۲۰۱۱ | عنوان=واژهنامه مرجع برای ترجمه محیط لینوکس | نشانی=http://tihcec.tabaar.com/Nashrie/Files/874.pdf | ناشر=[[شورای عالی انفورماتیک]] | archiveurl=https://web.archive.org/web/20120112083716/http://tihcec.tabaar.com/Nashrie/Files/874.pdf | archivedate=۱۲ ژانویه ۲۰۱۲ | dead-url=yes}}</ref> '''سرور وب''' یا '''وب سرور''' {{انگلیسی|web server}}، [[سیستم|سامانهای]] (میزبان یک نرمافزار)، یا سختافزاری برای اجرای یک [[نرمافزار]] است که امکان پاسخگوئی به درخواستهای کاربران [[مرورگر وب|شبکه جهانی وب]] را دارد. بهطور کلی یک وب سرور میزبان یک یا چند وب سایت است که درخواستهای ارسالی از پروتکل اچ تی تی پی یا چندین پروتکل را پردازش میکند. |
||
اصلیترین وظیفه یک وب سرور میزبانی و |
اصلیترین وظیفه یک وب سرور میزبانی و ذخیرهٔ صفحات وب، پردازش آنها و ارسال صحیح اطلاعات پردازش شده در صفحات وب به کاربران است. ایجاد ارتباط بین کاربر و سرور از طریق جایی به نام Hypertext Transfer Protocol یا به اختصار HTTP انجام میشود. اطلاعات ارسالی سرور به کاربر معمولاً در قالب ساختار HTML است که میتواند حاوی عکس، صفحات نوشتاری و صفحات کد نویسی شده باشد. |
||
در پاسخ به درخواست کاربر برای ارتباط با یک صفحه وب مشخص توسط پروتکل HTTP ارسال |
در پاسخ به درخواست کاربر برای ارتباط با یک صفحه وب مشخص توسط پروتکل HTTP ارسال میکند، سرور بعد از دسترسی به صفحه درخواستی و پردازش آن، پاسخ کاربر را ارسال میکند، و اگر صفحه مورد درخواست کاربر را پیدا نکرد پیامی مبنی بر وجود مشکل در اطلاعات درخواستی به دستگاه کاربر میفرستد. اطلاعات رسیده به ماشین کاربر ابتدا توسط یک [[مرورگر وب]] یا [[خزنده وب]] دریافت میشود. |
||
در واقع به دو معنی است: |
در واقع به دو معنی است: |
||
# یک [[برنامه کامپیوتری]] است که مسئول قبول کردن |
# یک [[برنامه کامپیوتری]] است که مسئول قبول کردن درخواستهای http از [[کارخواه|کارخواهان]] است که همان [[مرورگر وب|مرورگرهای وب]] هستند و پاسخها را به همراه یک سری اطلاعات به آنها پست میکنند. این پاسخها همان صفحات HTML هستند. بهطور مثال اگر در صفحه مرورگر تان آدرس http://fa.wikipedia.org/index.php را وارد کنید، یک درخواست به دامنه ای که نامش fa.wikipedia.org است، فرستاده میشود. آنگاه سرور صفحه index.php را برای شما میفرستد. |
||
# یک کامپیوتر است که یک برنامه کامپیوتری را اجرا |
# یک کامپیوتر است که یک برنامه کامپیوتری را اجرا میکند و کارایی اش همانند مطالبی است که در بالا گفته شد. |
||
هر کامپیوتری میتواند با نصب |
هر کامپیوتری میتواند با نصب نرمافزار وب سرور، به سرور وب تبدیل شود. |
||
سرورها بهطور کلی به ۲ دسته تقسیم میشوند: |
سرورها بهطور کلی به ۲ دسته تقسیم میشوند: |
||
خط ۱۷: | خط ۱۷: | ||
'''سرورهای اشتراکی:''' بر روی هر یک از این کامپیوترها، معمولاً حدود ۱۵۰۰ سایت میزبانی میشوند که نسبت به سرورهای اختصاصی از قدرت بسیار کمتری نیز برخوردارند. فضای این سرور بین مشترکین مختلف تقسیم خواهد شد. این نکته بسیار مهم است که این تعداد سایت، سرور را کند کرده و همچنین چون طراحهای مختلفی این سایتها را طراحی کردهاند ممکن است تعداد زیادی از این وب سایتها غیر بهینه طراحی شده باشند که در نهایت، عملکرد سایت به شدت تحت تأثیر قرار خواهد گرفت. |
'''سرورهای اشتراکی:''' بر روی هر یک از این کامپیوترها، معمولاً حدود ۱۵۰۰ سایت میزبانی میشوند که نسبت به سرورهای اختصاصی از قدرت بسیار کمتری نیز برخوردارند. فضای این سرور بین مشترکین مختلف تقسیم خواهد شد. این نکته بسیار مهم است که این تعداد سایت، سرور را کند کرده و همچنین چون طراحهای مختلفی این سایتها را طراحی کردهاند ممکن است تعداد زیادی از این وب سایتها غیر بهینه طراحی شده باشند که در نهایت، عملکرد سایت به شدت تحت تأثیر قرار خواهد گرفت. |
||
'''سرورهای اختصاصی:''' در این نوع سرورها، کامپیوتر به صورت اختصاصی در انحصار یک استفادهکننده (شرکت طراح) میباشد، بنابراین این سرور توسط طراحهای مختلف به صورت اشتراکی استفاده نمیشود، همچنین چون معمولاً فقط بین ۱ یا چند سایت بر روی این سرور میزبانی میشوند و همه سایتها نیز توسط یک تیم طراحی، تولید شدهاند بنابراین امکان تحت تأثیر قرار گرفتن سایت توسط سایتهای غیر بهینه طراحی شده توسط دیگران وجود نخواهد داشت و امنیت سایت بالا میرود. این سرورها در دو حالت فیزیکی و مجازی سرویس میدهند. |
'''سرورهای اختصاصی:''' در این نوع سرورها، کامپیوتر به صورت اختصاصی در انحصار یک استفادهکننده (شرکت طراح) میباشد، بنابراین این سرور توسط طراحهای مختلف به صورت اشتراکی استفاده نمیشود، همچنین چون معمولاً فقط بین ۱ یا چند سایت بر روی این سرور میزبانی میشوند و همه سایتها نیز توسط یک تیم طراحی، تولید شدهاند بنابراین امکان تحت تأثیر قرار گرفتن سایت توسط سایتهای غیر بهینه طراحی شده توسط دیگران وجود نخواهد داشت و امنیت سایت بالا میرود. این سرورها در دو حالت فیزیکی و مجازی سرویس میدهند.<ref>{{یادکرد وب|نویسنده=|کد زبان=|تاریخ=|وبگاه=}}</ref> |
||
== ویژگیهای مشترک == |
== ویژگیهای مشترک == |
||
در عمل بسیاری از سرورهای وب، |
در عمل بسیاری از سرورهای وب، ویژگیهای زیر را نیز پیادهسازی میکنند: |
||
* شناسایی: درخواست شناسایی اختیاری قبل از اجازه دسترسی به انواع منابع |
* شناسایی: درخواست شناسایی اختیاری قبل از اجازه دسترسی به انواع منابع |
||
* نه تنها مفاهیم استاتیک (مفاهیم فایلی که بر روی سیستم فایلی وجود دارد) بلکه مفاهیم داینامیک را با یک یا چند ساختار نیز مانند SSI, CGI, SCGI, FastCGI , JSP, [[پیاچپی|PHP]], ASP, ASP.NET اداره میکند. |
* نه تنها مفاهیم استاتیک (مفاهیم فایلی که بر روی سیستم فایلی وجود دارد) بلکه مفاهیم داینامیک را با یک یا چند ساختار نیز مانند SSI, CGI, SCGI, FastCGI , JSP, [[پیاچپی|PHP]], ASP, ASP.NET اداره میکند. |
||
* پشتیبانی از HTTPS تا به کاربران اجازه دهد اتصالات مطمئنی به سرور را بر روی پورت ۴۴۳ به جای ۸۰ برقرار کنند. این نوع اتصال روی پروتکل SSL |
* پشتیبانی از HTTPS تا به کاربران اجازه دهد اتصالات مطمئنی به سرور را بر روی پورت ۴۴۳ به جای ۸۰ برقرار کنند. این نوع اتصال روی پروتکل SSL پیادهسازی میشود. |
||
* [[فشرده سازی]] مطالب تا بتوان از حجم پاسخها کم کرد. (توسط کدسازی GZIP) |
* [[فشرده سازی]] مطالب تا بتوان از حجم پاسخها کم کرد. (توسط کدسازی GZIP) |
||
* پشتیبانی از فایلهای بزرگ تا بتواند فایلهای بزرگتر از ۲ گیگا بایت را سرویس دهی کند. |
* پشتیبانی از فایلهای بزرگ تا بتواند فایلهای بزرگتر از ۲ گیگا بایت را سرویس دهی کند. |
||
خط ۴۵: | خط ۴۵: | ||
سرور وبی است که ارائه دهنده آن شرکت NginX میباشد. |
سرور وبی است که ارائه دهنده آن شرکت NginX میباشد. |
||
Nginx |
Nginx بهطور خاص برای بررسی محدودیتهای عملکرد سرور [[آپاچی اکسیس|Apache]] طراحی شدهاست. |
||
همچنین از آن به عنوان سرور پروکسی معکوس و کَش [[HTTP]] نیز استفاده |
همچنین از آن به عنوان سرور پروکسی معکوس و کَش [[HTTP]] نیز استفاده میشود. |
||
برای حفظ تعادل در وب سایت نیز از این سرویس NginX ستفاده |
برای حفظ تعادل در وب سایت نیز از این سرویس NginX ستفاده میشود. |
||
ایگور سیسوف مهندس |
ایگور سیسوف مهندس نرمافزار روسی بود که Nginx را برای اولین بار عرضه کرد. |
||
=== مقایسه عملکردهای امنیتی سرورهای وبِ آپاچی و IIS === |
=== مقایسه عملکردهای امنیتی سرورهای وبِ آپاچی و IIS === |
||
خط ۷۷: | خط ۷۷: | ||
== ترجمه مسیر == |
== ترجمه مسیر == |
||
سرور وب میتوانند کامپوننت مسیر url را نگاشت کنند به: |
سرور وب میتوانند کامپوننت مسیر url را نگاشت کنند به: |
||
# منابع [[فایل سیستم]] محلی (برای درخواستهای ایستا) |
# منابع [[فایل سیستم]] محلی (برای درخواستهای ایستا) |
||
# نام برنامه داخلی یا خارجی (برای درخواستهای پویا) |
# نام برنامه داخلی یا خارجی (برای درخواستهای پویا) |
||
برای مثال کاربر آدرس زیر را درخواست میکند :http://www.example.com/path/file.html{{پیوند مرده|date=اکتبر ۲۰۱۹ |bot=InternetArchiveBot |
برای مثال کاربر آدرس زیر را درخواست میکند :http://www.example.com/path/file.html{{پیوند مرده|date=اکتبر ۲۰۱۹ |bot=InternetArchiveBot}} |
||
مرورگر وب کاربر آن را به یک اتصال به http://www.example.com با درخواست http 1.1 ترجمه میکند: |
مرورگر وب کاربر آن را به یک اتصال به http://www.example.com با درخواست http 1.1 ترجمه میکند: |
||
GET/path/file.html.php HTTP/1.1 |
GET/path/file.html.php HTTP/1.1 |
نسخهٔ ۱۳ سپتامبر ۲۰۲۱، ساعت ۱۹:۳۱
برای تأییدپذیری کامل این مقاله به منابع بیشتری نیاز است. |
کارساز وب،[۱] سرور وب یا وب سرور (به انگلیسی: web server)، سامانهای (میزبان یک نرمافزار)، یا سختافزاری برای اجرای یک نرمافزار است که امکان پاسخگوئی به درخواستهای کاربران شبکه جهانی وب را دارد. بهطور کلی یک وب سرور میزبان یک یا چند وب سایت است که درخواستهای ارسالی از پروتکل اچ تی تی پی یا چندین پروتکل را پردازش میکند.
اصلیترین وظیفه یک وب سرور میزبانی و ذخیرهٔ صفحات وب، پردازش آنها و ارسال صحیح اطلاعات پردازش شده در صفحات وب به کاربران است. ایجاد ارتباط بین کاربر و سرور از طریق جایی به نام Hypertext Transfer Protocol یا به اختصار HTTP انجام میشود. اطلاعات ارسالی سرور به کاربر معمولاً در قالب ساختار HTML است که میتواند حاوی عکس، صفحات نوشتاری و صفحات کد نویسی شده باشد.
در پاسخ به درخواست کاربر برای ارتباط با یک صفحه وب مشخص توسط پروتکل HTTP ارسال میکند، سرور بعد از دسترسی به صفحه درخواستی و پردازش آن، پاسخ کاربر را ارسال میکند، و اگر صفحه مورد درخواست کاربر را پیدا نکرد پیامی مبنی بر وجود مشکل در اطلاعات درخواستی به دستگاه کاربر میفرستد. اطلاعات رسیده به ماشین کاربر ابتدا توسط یک مرورگر وب یا خزنده وب دریافت میشود.
در واقع به دو معنی است:
- یک برنامه کامپیوتری است که مسئول قبول کردن درخواستهای http از کارخواهان است که همان مرورگرهای وب هستند و پاسخها را به همراه یک سری اطلاعات به آنها پست میکنند. این پاسخها همان صفحات HTML هستند. بهطور مثال اگر در صفحه مرورگر تان آدرس http://fa.wikipedia.org/index.php را وارد کنید، یک درخواست به دامنه ای که نامش fa.wikipedia.org است، فرستاده میشود. آنگاه سرور صفحه index.php را برای شما میفرستد.
- یک کامپیوتر است که یک برنامه کامپیوتری را اجرا میکند و کارایی اش همانند مطالبی است که در بالا گفته شد.
هر کامپیوتری میتواند با نصب نرمافزار وب سرور، به سرور وب تبدیل شود.
سرورها بهطور کلی به ۲ دسته تقسیم میشوند:
سرورهای اشتراکی: بر روی هر یک از این کامپیوترها، معمولاً حدود ۱۵۰۰ سایت میزبانی میشوند که نسبت به سرورهای اختصاصی از قدرت بسیار کمتری نیز برخوردارند. فضای این سرور بین مشترکین مختلف تقسیم خواهد شد. این نکته بسیار مهم است که این تعداد سایت، سرور را کند کرده و همچنین چون طراحهای مختلفی این سایتها را طراحی کردهاند ممکن است تعداد زیادی از این وب سایتها غیر بهینه طراحی شده باشند که در نهایت، عملکرد سایت به شدت تحت تأثیر قرار خواهد گرفت.
سرورهای اختصاصی: در این نوع سرورها، کامپیوتر به صورت اختصاصی در انحصار یک استفادهکننده (شرکت طراح) میباشد، بنابراین این سرور توسط طراحهای مختلف به صورت اشتراکی استفاده نمیشود، همچنین چون معمولاً فقط بین ۱ یا چند سایت بر روی این سرور میزبانی میشوند و همه سایتها نیز توسط یک تیم طراحی، تولید شدهاند بنابراین امکان تحت تأثیر قرار گرفتن سایت توسط سایتهای غیر بهینه طراحی شده توسط دیگران وجود نخواهد داشت و امنیت سایت بالا میرود. این سرورها در دو حالت فیزیکی و مجازی سرویس میدهند.[۲]
ویژگیهای مشترک
در عمل بسیاری از سرورهای وب، ویژگیهای زیر را نیز پیادهسازی میکنند:
- شناسایی: درخواست شناسایی اختیاری قبل از اجازه دسترسی به انواع منابع
- نه تنها مفاهیم استاتیک (مفاهیم فایلی که بر روی سیستم فایلی وجود دارد) بلکه مفاهیم داینامیک را با یک یا چند ساختار نیز مانند SSI, CGI, SCGI, FastCGI , JSP, PHP, ASP, ASP.NET اداره میکند.
- پشتیبانی از HTTPS تا به کاربران اجازه دهد اتصالات مطمئنی به سرور را بر روی پورت ۴۴۳ به جای ۸۰ برقرار کنند. این نوع اتصال روی پروتکل SSL پیادهسازی میشود.
- فشرده سازی مطالب تا بتوان از حجم پاسخها کم کرد. (توسط کدسازی GZIP)
- پشتیبانی از فایلهای بزرگ تا بتواند فایلهای بزرگتر از ۲ گیگا بایت را سرویس دهی کند.
- کنترل کردن پهنای باند: تا سرعت پاسخها را محدود کند و شبکه را پرازدحام نکند و قادر باشد تعداد بیشتری کارخواه را سرویس دهی کند.
سرورهای اینترنتی
آپاچی
این سرور وب در توسعه و همگانی شدن وب جهانی نقش بسیار مهمی داشتهاست. این سرور وب که به زبان C نوشته شدهاست دارای قابلیت cross- platform بوده و بر روی ماشینهای مختلف قابل اجرا میباشد. دلیل انتخاب این اسم برای این سرور وب را نیز دو مورد ذکر کردهاند اول اینکه به یکی از قبایل قدیمی بومی آمریکا که به خاطر مقاومت و مهارت در ساخت ابزار آلات جنگی مشهور میباشند احترام گذاشته شود و ثانیاً به این دلیل که (Root)ریشه پروژه به صورت یک سری پچ (Patch)میباشد. این سرور وب در یک گروه و به صورت کد باز (open source) گسترش یافت و از سال ۱۹۹۶ به عنوان محبوبترین سرور وب برای HTTP در وب جهانی شناخته شده بود ولی در سال ۲۰۰۵ میدان مبارزه را به IIS مایکروسافت باخت و در حال حاضر نزدیک به ۴۹٪ بازار سرورهای وب جهان را به خود اختصاص دادهاست همچنین MAC OS آن را به عنوان سرور وب اصلی در پشتیبانی از WEB OBJECT خود برگزیدهاست. این سرور وب دارای پودمانهای امنیتی بسیار خوبی از جمله mod_access, mod_auth, mod_digest میباشد. آپاچی برای میزبانی هر دو نوع وب ایستا و وب پویا مناسب است.
IIS (Internet Information Services)
سرور وبی است که ارائه دهنده آن شرکت مایکروسافت میباشد و آخرین نسخه آن IIS 7.5 است که برای سیستم عاملهای Widows Server 2012 و Windows 8 طراحی شدهاست. در واقع IIS مجموعهای از سرویسهای اینترنتی است که به صورت یکجا نمایش داده شدهاست. طبق آخرین آماری که منتشر شد بعد از سرور وب آپاچی بیشترین محبوبیت را بین کاربران داشتهاست و هماکنون نزدیک به ۳۶٪ بازار سرورهای وب جهان را در اختیار دارد. پلت فرمی که این سرور وب پشتیبانی میکند مایکروسافت ویندوز میباشد و در محیطهای دیگر کار نمیکند.
NGINX
سرور وبی است که ارائه دهنده آن شرکت NginX میباشد.
Nginx بهطور خاص برای بررسی محدودیتهای عملکرد سرور Apache طراحی شدهاست.
همچنین از آن به عنوان سرور پروکسی معکوس و کَش HTTP نیز استفاده میشود.
برای حفظ تعادل در وب سایت نیز از این سرویس NginX ستفاده میشود.
ایگور سیسوف مهندس نرمافزار روسی بود که Nginx را برای اولین بار عرضه کرد.
مقایسه عملکردهای امنیتی سرورهای وبِ آپاچی و IIS
قابلیت | آپاچی | IIS |
---|---|---|
ورود امن | بله | بله |
SSL | بله | بله |
Basic Authentication | بله | بله |
Digest Authentication | بله | بله |
LDAP Authentication | بله | بله |
Passport Authentication | بله | نه |
Active Directory Authentication | بله | فقط با ماژولهای third-party |
ترجمه مسیر
سرور وب میتوانند کامپوننت مسیر url را نگاشت کنند به:
- منابع فایل سیستم محلی (برای درخواستهای ایستا)
- نام برنامه داخلی یا خارجی (برای درخواستهای پویا)
برای مثال کاربر آدرس زیر را درخواست میکند :http://www.example.com/path/file.html[پیوند مرده] مرورگر وب کاربر آن را به یک اتصال به http://www.example.com با درخواست http 1.1 ترجمه میکند: GET/path/file.html.php HTTP/1.1 HOST: www.example.com سرور وب بر روی www.example.com، مسیر درخواستی را به آدرس مسیر اصلی اضافه میکند. آنگاه سرور وب اگر فایل وجود داشته باشد آن را خوانده و پاسخ را که مجموعهای از مطالب فایل است به عنوان پاسخ میفرستد.
سهم استفاده در بازار
در زیر لیستی از نرمافزارهای سرور وب داده شدهاست که در برآورد Netcraft در ژانویه ۲۰۰۹ منتشر شدهاست
فروشنده | محصول | وب سایتهای میزبانی شده | درصد |
---|---|---|---|
بنیاد نرمافزار آپاچی | وبسرور آپاچی | ۹۶٬۵۳۱٬۰۳۳ | ۵۲٫۰۵٪ |
مایکروسافت | IIS | ۶۱٬۰۲۳٬۴۷۴ | ۳۲٫۹۰٪ |
گوگل | GWS | ۹٬۸۶۴٬۳۰۳ | ۵٫۳۲٪ |
انجیناکس | انجیناکس | ۳٬۴۶۲٬۵۵۱ | ۱٫۸۷٪ |
lighttpd | lighttpd | ۲٬۹۸۹٬۴۱۶ | ۱٫۶۱٪ |
Oversee | Oversee | ۱٬۸۴۷٬۰۳۹ | ۱٫۰۰٪ |
دیگر | - | ۹٬۷۵۶٬۶۵۰ | ۵٫۲۶٪ |
مجموع | - | ۱۸۵٬۴۷۴٬۴۶۶ | ۱۰۰٫۰۰٪ |
خطاهای متداول در سرور وب
allowDefinition=‘MachineToApplication’ beyond application level
HTTP Error 401.3–Unauthorized
Failed to update database “C:\BEGASPNET\RELEASE\APP_DATA\ASPNETDB.MDF”
HTTP Error 403.14–Forbidden
HTTP Error 404.0–Not Found
- خطای ایجاد اتصال به سرور
-HTTP Error 500.21
- خطای زمان اجرا
منابع
- ↑ کارساز و وب واژههای مصوب فرهنگستان زبان و ادب فارسی به جای Server و Web در انگلیسی هستند. «واژهنامه مرجع برای ترجمه محیط لینوکس» (PDF). شورای عالی انفورماتیک. بایگانیشده از اصلی (PDF) در ۱۲ ژانویه ۲۰۱۲. دریافتشده در ۲۸ دسامبر ۲۰۱۱.
- ↑ یادکرد خالی (کمک)
Web server در ویکیپدیای انگلیسی