
מהם ההבדלים בין שפת שרת לשפת לקוח?
בעת בניית אתר אינטרנט יש צורך לבחור את שפת האתר. חשוב לבצע אבחנה בין שפת שרת לשפת הלקוח. ברגע שרושמים את כתובת האתר ומקישים Enter, אז יש פניה לשרת ושם מורץ קוד לביצוע. אותו קוד לביצוע הוא קוד בשפת שרת, בין אם PHP, ASP או פייטון. הקוד הזה מבצע בדיקות שונות (כגון: פרמטרים שהכניס הגולש, בדיקת מידע מבסיס הנתונים, וכו') ובסופו של דבר מחולל (מייצר) קוד לקוח. קוד הלקוח הוא קוד פשוט בשפת HTML או DHTML (שזה HTML עם פקודות JavaScript) שמוחזר מהשרת אל הדפדפן ושם הוא מוצג.
אתר אינטרנט טוב הוא כזה שיודע לשלב בצורה חכמה בין קוד שרת לבין קוד לקוח. קוד שרת הוא מהיר כמהירות השרת, איטי בעת עומס על השרת. קוד לקוח תלוי במהירות הדפדפן ומערכת ההפעלה של הגולש. קוד שרת הוא קוד שאינו חשוף לגולשים ולא ניתן להגיע אליו בקלות. ככזה, צריך וניתן להעזר בו להצפנות, הסתרת מידע מפולשים לא רצויים באתר, הגנות מספאם וכיוצא באלו.
איך בוחרים את שפת השרת בעת בניית אתר אינטרנט חדש?
היום נהוג לבחור בין PHP לבין ASP. ישנם הבדלים מסויימים בין 2 השפות ואלו העיקריים שביניהם:
- תחביר השפה - שפת ASP היא שפה מבית היוצר של מייקרוסופט ולכן הקוד שלה דומה לקוד של שפות Basic למיניהן (Visual Basic, Quick Basic). שפת PHP היא שפה הקרובה יותר לשפת C במבנה ובתחביר שלה, ומומלצת למי שמכיר סקריפטים של מערכות Unix כגון Perl.
- קוד פתוח - בעוד PHP היא שפת קוד פתוח וניתן למצוא המון חלקי קוד חופשיים ולשלבם ללא כל תשלום בקוד שלכם, שפת ASP היא קצת מוגבלת בקוד הפתוח הנכתב עבורה.
- אחסון אתרים - שרתים התומכים ב ASP דורשים התקנה מיוחדת של שרת ASP ולכן האחסון של אתרי ASP יקר מעט יותר.
ומה זה Ajax?
קוד Ajax הוא למעשה קוד לקוח הכתוב ב JavaScript המבצע פקודה ישירה לשרת ומתחיל הרצת קטע קוד שם בצורה לא סינכרונית (כלומר: לא מחכים שהקוד שם יסתיים לרוץ, אלא ממשיכים בפקודות ה-JS). ברגע שמסתיים הקוד על השרת לרוץ, נקבל "איתות" אצלנו ב-JS ונוכל לבצע דברים מסויימים בהתאם.
מדוע קוד כזה הוא נחוץ? מומלץ לשלב קטעי Ajax כדי להפעיל אובייקטים מסויימים אצלנו על המסך ללא רענון חוזר ונשנה שוב ושוב. למשל, הוספנו תגובה למאמר? אין צורך לרענן את העמוד כדי להציגה. נשלח פקודה לשרת שיש תגובה חדשה ומיד נציג אותה גם בעמוד.