PDA

View Full Version : جريان داده ها در هنگام redirect چيست؟



vb_nima
پنج شنبه 02 شهریور 1391, 01:16 صبح
سلام دوستان.
حتما همگي با دستور redirect آشنايي داريد.
فرض كنيد يك صفحه asp.net با آدرس www.site.com داريم. و تو كد اين صفحه فقط نوشتيم redirect كن به www.yahoo.com
حالا سوالم اينه دوستاني كه با مفاهيم پايه بيشتر آشنايي دارند ميشه جريان داده ها را از زماني كه كاربر تو مرورگر ميزنه www.site.com تا زماني كه صفحه www.yahoo.com را ميبينه، برام توضيح بديد؟ چه اتفاقاتي اين وسط ميفته؟

ممنون

vb_nima
جمعه 03 شهریور 1391, 08:21 صبح
دوستان كسي نبود كمك كنه؟
اصلا بگذاريد اينطور بگم كدوم يكي از اين دو اتفاق ميفته در هنگام Redirect:
الف- سرور بعد از اين كه به دستور redirect رسيد اون سايت را دريافت ميكنه و بعد براي مرورگر ما ميفرسته. اينطوري داده هاي اون سايت از سرور ما ميگذره و يكجور ترافيك محسوب ميشه برا سرورمون.
ب- سرور پس از رسيدن به دستور redirect‌ آدرس را به مرورگرمون ميفرسته و مرورگر خودش دوباره آدرس جديد مثل(www.yahoo.com) را درخواست ميده.


دليل پرسيدن سوال:
«يخوام ببينم آيا اين سايتهاي كوتاه كننده لينك احتياج دارند كه هاست با bandwidth بالا داشته باشند يا خير؟ اگر گزينه الف باشه احتياج به bw بالا دارند ولي اگر ب باشه احتياج به bw بالا ندارند.
البته اين نظر منه.

ممنون.

dorparasti
جمعه 03 شهریور 1391, 11:38 صبح
گزینه دوم درسته . اطلاعات بیشتر (http://www.dotnetperls.com/redirect)درباره Response.Redirect

vb_nima
جمعه 03 شهریور 1391, 18:34 عصر
گزینه دوم درسته . اطلاعات بیشتر (http://www.dotnetperls.com/redirect)درباره Response.Redirect

ممنون در بحث شركت كرديد.
بله با توجه به لينكي كه داديد گزينه ب درسته و سرور پس از رسيدن به دستور Redirect‌يك پاسخ http ارسال ميكند و بعد مرورگر دوباره آدرس جديد را درخواست ميدهد.
اينجا يك مسئله ديگه پيش مياد. اين خاصيت Redirect مثلا براي سايتهاي كوتاه كننده لينك خوبه كه ترافيك هاستشون از بين نميره ولي من در بعضي برنامه هاي معمولي asp.net هم ديدم مثلا اين دستورات استفاده ميشه:

Response.Redirect("~/basket.aspx")
يا
Response.Redirect("~/products.aspx")



خوب با توجه به اين خاصيت Redirect‌ الان دوباره كاري انجام ميشه و يك رفت و برگشت بيجا انجام ميشه. و كلا سرعت لود صفحه پايين مياد.
آيا روش جايگزين براي استفاده در اين موارد وجود دارد؟

dorparasti
شنبه 04 شهریور 1391, 00:31 صبح
خوب redirect کاربردهای خودش رو داره ولی برای همه جا هم گزینه اول نمی تونه باشه . یک جایگزین برای redirect تابع Server.Transfer (http://www.dotnetperls.com/server-transfer) هستش که همون سمت سرور عمل انتقال کاربر رو انجام میده و کاربر و مرورگرش متوجه تغییر صفحه نمیشن و همه چیز در سمت سرور اتفاق میفته .