انتقال بازنمودی حالت ( به انگلیسی: Representational state transfer ( REST ) ) یک سبک معماری نرم افزاری است که مجموعه ای از محدودیت ها را برای استفاده در ایجاد خدمات وب تعریف می کند. سرویس های وب که مطابق با سبک معماری REST، به نام خدمات وب RESTful هستند، قابلیت همکاری بین سیستم های رایانه ای در اینترنت را فراهم می کنند. یک وب سرویس RESTful به سیستم های متقاضی اجازه می دهد تا با استفاده از یک مجموعه یکسان و از پیش تعریف شده از عملیات بدون حالت، به بازنمایی های متنی از منابع وب دسترسی پیدا نموده و آنها را دستکاری کنند. انواع دیگر خدمات وب، مانند سرویسهای وب SOAP، مجموعه عملیات دلخواه خود را در معرض نمایش قرار می دهند. [ ۱]
«منابع وب» برای اولین بار در شبکه جهانی وب به عنوان اسناد یا پرونده هایی که توسط URLهای آنها مشخص شده بود تعریف شد. با این حال، امروز آنها تعریف بسیار ژرف تر و انتزاعی تری دارند که شامل هر چیز یا موجودیتی است که می تواند شناسایی، نام گذاری و آدرس دهی شده یا به هر روشی در وب شناسایی شود. در یک وب سرویس RESTful، درخواست های ارسال شده به URI منبع، پاسخی را به صورت یک بسته داده در قالب HTML، XML , JSON یا سایر قالب ها ایجاد می کنند. پاسخ می تواند تأیید کند که آیا تغییراتی در منابع ذخیره شده ایجاد شده است، و نیز می تواند پیوندهای ابر متن به سایر منابع مرتبط یا مجموعه منابع را فراهم کند. هنگامی که از HTTP استفاده می شود، به عنوان متداولترین روش، عملیات ( متدهای HTTP ) موجود عبارتند از: GET , HEAD , POST , PUT , PATCH , DELETE , CONNECT , OPTIONS و Trace. [ ۲]
با بهره وری از یک پروتکل بدون حالت و عملیات استاندارد، سیستم های RESTful می توانند از کامپاننتهایی که بدون تأثیرگذاری کلی روی سیستم، حتی در حالی که سیستم در حال اجراست، قابلیت مدیریت و بروز شدن دارند، استفاده مجدد نمایند. این ویژگی به این سیستمها اجازه می دهد که عملکرد سریع، قابلیت اطمینان و توانایی رشد را داشته باشند.
اصطلاح انتقال بازنمودی حالت در سال ۲۰۰۰ توسط روی فیلدینگ در رساله دکتری وی معرفی و تعریف شد. [ ۳] پایان نامه فیلدینگ، اصول REST را که از آغاز سال ۱۹۹۴ به عنوان "مدل شی HTTP" شناخته می شد، توضیح داد و در طراحی استانداردهای HTTP 1. 1 و شناسه های یکسان منابع ( URI ) مورد استفاده قرار گرفت. [ ۴] اصطلاح " انتقال بازنمودی حالت "قصد دارد تصویری از چگونگی رفتار یک برنامه خوش طراحی شده وب ارائه کند: چنین برنامه ای شبکه ای از منابع وب ( یک ماشین حالت مجازی ) است که کاربر با انتخاب شناسه های منبع مانند http://www. example. com/articles/21 و عملیات منبع مانند GET یا POST ( انتقال حالت برنامه ) می تواند در این برنامه پیمایش کند که در نتیجه این عملیات، نمایشی از منابع بعدی آماده شده و برای استفاده به کاربر منتقل می شود ( تهیه وارائه این نمایش در واقع یک حالت جدید بوده و حالت بعدی برنامه تعیین می کند ) .
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلف«منابع وب» برای اولین بار در شبکه جهانی وب به عنوان اسناد یا پرونده هایی که توسط URLهای آنها مشخص شده بود تعریف شد. با این حال، امروز آنها تعریف بسیار ژرف تر و انتزاعی تری دارند که شامل هر چیز یا موجودیتی است که می تواند شناسایی، نام گذاری و آدرس دهی شده یا به هر روشی در وب شناسایی شود. در یک وب سرویس RESTful، درخواست های ارسال شده به URI منبع، پاسخی را به صورت یک بسته داده در قالب HTML، XML , JSON یا سایر قالب ها ایجاد می کنند. پاسخ می تواند تأیید کند که آیا تغییراتی در منابع ذخیره شده ایجاد شده است، و نیز می تواند پیوندهای ابر متن به سایر منابع مرتبط یا مجموعه منابع را فراهم کند. هنگامی که از HTTP استفاده می شود، به عنوان متداولترین روش، عملیات ( متدهای HTTP ) موجود عبارتند از: GET , HEAD , POST , PUT , PATCH , DELETE , CONNECT , OPTIONS و Trace. [ ۲]
با بهره وری از یک پروتکل بدون حالت و عملیات استاندارد، سیستم های RESTful می توانند از کامپاننتهایی که بدون تأثیرگذاری کلی روی سیستم، حتی در حالی که سیستم در حال اجراست، قابلیت مدیریت و بروز شدن دارند، استفاده مجدد نمایند. این ویژگی به این سیستمها اجازه می دهد که عملکرد سریع، قابلیت اطمینان و توانایی رشد را داشته باشند.
اصطلاح انتقال بازنمودی حالت در سال ۲۰۰۰ توسط روی فیلدینگ در رساله دکتری وی معرفی و تعریف شد. [ ۳] پایان نامه فیلدینگ، اصول REST را که از آغاز سال ۱۹۹۴ به عنوان "مدل شی HTTP" شناخته می شد، توضیح داد و در طراحی استانداردهای HTTP 1. 1 و شناسه های یکسان منابع ( URI ) مورد استفاده قرار گرفت. [ ۴] اصطلاح " انتقال بازنمودی حالت "قصد دارد تصویری از چگونگی رفتار یک برنامه خوش طراحی شده وب ارائه کند: چنین برنامه ای شبکه ای از منابع وب ( یک ماشین حالت مجازی ) است که کاربر با انتخاب شناسه های منبع مانند http://www. example. com/articles/21 و عملیات منبع مانند GET یا POST ( انتقال حالت برنامه ) می تواند در این برنامه پیمایش کند که در نتیجه این عملیات، نمایشی از منابع بعدی آماده شده و برای استفاده به کاربر منتقل می شود ( تهیه وارائه این نمایش در واقع یک حالت جدید بوده و حالت بعدی برنامه تعیین می کند ) .

wiki: انتقال بازنمودی حالت