PDA

View Full Version : نحوه اجرای سایت توسط مرورگر



Programmer 1
سه شنبه 06 بهمن 1388, 07:01 صبح
سلام ،

لطفا متن زیر را مطالعه کنید ، من در این متن ابهامی دارم امیدوارم جواب بدهید :

« Server-Side: اسکریپتهای Server-Side تماما بر روی سرویس دهنده وب پردازش می شن. سرویس گیرنده(مرورگر شما) هیچ کدی را از اسکریپتهای Server-Side دریافت نمی کنه و نمی شناسه، بلکه تنها خروجی اسکریپتهای Server-Side را می گیره.
ببینید دوستان شاید مفهومش یکم گیج کننده باشه بهتره اینجوری بگم که وقتی شما یه صفحه به زبان های server-side می نویسید این صفحه وب تنها شامل کد های html نیست بلکه شامل کد های برنامه نویسی به زبانی دیگر هست( مانند php ,vb script , asp, ASP.NET ) که مرور گر شما قادر نیست اونارو درک کنه مثلا وقتی دارید ASP.NET کار می کنید و زبان برنامه نویسیتونو vb.net انتخاب کردید ( در این مورد مقاله نوشتم ) کد های vb.net شما برای مرورگرتون قابل درک نیست پس یک کامپایلر یا مترجم نیاز هست که اونارو برای مرورگر شما قابل درک کنه در نهایت این کامپایلر کد های نوشته شده به زبان vb.net شما رو به همان کد های html که برای مرور گر قابل فهم هست تبدیل میکنه تا بتونید صفحه وب رو مشاهده کنید.

شما باید بدونید که با مرورگرتون نمیتونید کد های دیگران server side نوشته شده دیگران رو ببینید امتحانش مجانیه می تونید صفحه server side رو که باز شده save کنید و ببینید که یک مشت کد html تحویل شما خواهد شد چرا این اتفاق می افته؟

همونطور که گفتم مرور گر ها قابل به فهم کد های طرف سرور ( server side ) نیستند بنابراین سرویس دهنده iis (که روی هاستی که سایت مورد نظرتون روش قرار داره )صفحه مورد نظر رو خونده و به زبان html ترجمه میکنه بعد اونو به مرورگر شما میفرسته پس میتونیم نتیجه گیری کنیم که iis واسط بین مرور گر شما و کد های طرف سروره .

اسکریپتهای Server-Side و Client-Side هیچ فعل و انفعالی بر روی یکدیگر ندارند، زیرا اسکریپتهای Client-Side بعد از اینکه اسکریپتهای Server-Side پردازش خود را به طور کامل انجام دادند، بر روی سرویس گیرنده اجرا می شوند. »


چیزی که هنوز خوب متوجه نشدم اینه که : اگر سایتی که بالفرض با ASP.NET ساخته شده و در هاست قرار گرفته و در اون هاست هم IIS نصب باشه که کار ترجمه را انجام می ده وقتی IIS این سایت را ترجمه کرد و نتیجه را به HTML ارسال کرد چرا کنترل های استفاده شده در ASP.NET به کنترل های استاندارد HTML تبدیل نمی شود که هیچ گونه شکل خاصی ندارند و بسیار خشک هستند( مثلا شما خودتان امتحان کنید آیا در برنامه Notepad می توانید فقط با دستورات HTML چنین کنترل هایی با این ظاهر گرافیکی طراحی کنید و برخی ویژگی های دیگر مثل : کنترل های Ajax و ... ) ، می دانیم که مرورگر خود یک کامپایلر است ، آیا زبانی که این کامپایلر ترجمه می کند فقط HTML است ؟

به طور خلاصه گام های ترجمه برنامه منبع به زبان ASP.NET به آن کدی که مرورگر تبدیل می کند را توضیح دهید ، لطفا در این بین نقش IIS را هم ذکر کنید .

با تشکر /.

Chabok
سه شنبه 06 بهمن 1388, 11:46 صبح
با سلام

در اول باید به یک نکته اشاره کرد و در مورد اینکه شما فرمودین :


کد های vb.net شما برای مرورگرتون قابل درک نیستشما بحث را طوری مطرح کرده اید که چون مثلاً کد vb.net در مرورگر اجرا نمیشه اومدن و iis رو ساختند .

در صورتی که چنین نباید توصیف کرد .
بصورت خلاصه میشه گفت بخش اعظم عملیات اصلی در سمت server صورت میگیره و اطلاعات ارسال شده به client برای نمایش در مرورگر و ... تقریباً یک حالت ظاهری و interface و یک رابط برای فرمان دادن به server است .

پس در واقع اصلاً لازم نیست کدهای vb.net و ... توسط مرورگر فهمیده بشوند .

و در مورد سوال شما :


می دانیم که مرورگر خود یک کامپایلر استعنوان کامپایلر برای مرورگر جالب نیست .

HTML is passed to the browser's layout engine to be transformed from markup to an interactive document
http://en.wikipedia.org/wiki/Web_browser


آیا زبانی که این کامپایلر ترجمه می کند فقط HTML است ؟ نمیشه گفت فقط HTML . کدهای javascript ممکنه باشند که توسط مرورگر اجرا می شوند .
همچنین css هست که مربوط به style و ... است .


چرا کنترل های استفاده شده در ASP.NET به کنترل های استاندارد HTML تبدیل نمی شودمیشه دلیل و یک نمونه را ذکر کنید ؟
اگر چنین نباشد که طبق فرمایشات خود شما مرورگر قابل به درک آن نیست .

Programmer 1
پنج شنبه 08 بهمن 1388, 05:32 صبح
از پاسخي كه داديد متشكرم ولي در مورد اين عبارتي كه شما نوشتيد :


میشه دلیل و یک نمونه را ذکر کنید ؟
اگر چنین نباشد که طبق فرمایشات خود شما مرورگر قابل به درک آن نیست .

مثلا همين سايت برنامه نويس ، اون دكمه ارسال پاسخ زير تاپيك مگه شبيه كنترل هاي استاندارد HTML هست؟
به نظر من اين كار فقط از طريق CSS ممكنه شايد هم اين دكمه نباشه و فقط يك عكس مشابه دكمه باشه كه از طريق قرار دادن يك HotSpot قرار دادن روي آن امكان لينك دهي فراهم شده !

با تشكر /.

Chabok
پنج شنبه 08 بهمن 1388, 10:53 صبح
http://barnamenevis.org/forum/images/buttons/reply.gif

اگر منظورتان این کلید است کدهاش بصورت زیر است :


<a rel="nofollow" href="newreply.php?do=newreply&noquote=1&p=897940">
<img border="0" alt="پاسخ" src="http://barnamenevis.org/forum/images/buttons/reply.gif" title="پاسخ">
</a>