एजेक्स
एजेक्स () वेब विकास तकनीकों का एक समूह है जिसका उपयोग इंटरेक्टिव वेब अनुप्रयोग के निर्माण के लिए ग्राहक पक्ष पर किया जाता है।  अजाक्स के साथ, वेब अनुप्रयोग पृष्ठभूमि में सर्वर से अतुल्यकालिक रूप से डेटा को पुनः प्राप्त कर सकता है, इसमें डिस्प्ले और उपस्थित पेज के व्यवहार से किसी प्रकार की कोई बाधा नहीं पहुंचती है।  अजाक्स तकनीकों के उपयोग ने वेब पेज पर इंटरेक्टिव या गतिशील इंटरफेस में वृद्धि की है। डेटा आमतौर पर XMLHttp रिक्वेस्ट ऑब्जेक्ट का उपयोग करते हुए पुनः प्राप्त किया जाता है। नाम के बावजूद जावास्क्रिप्ट और XML का उपयोग वाक्स्तव में ज़रुरी नहीं होता है, ना ही रिक्वेस्ट (अनुरोध) के अतुल्यकालिक होने की आवश्यकता होती है।
DHTML और LAMP की तरह, अजाक्स अपने आप में एक तकनीक नहीं है, बल्कि तकनीकों का एक समूह है।  अजाक्स निम्न के एक संयोजन को काम में लेता है:
codice_1
सामग्री की अतुल्यकालिक लोडिंग के लिए तकनीकें सन् 1990 के दशक के मध्य में आयीं। जावा भाषा के पहले संस्करण में जावा ऐपलेट की शुरुआत सन् 1995 में हुई। ये एक वेब पेज को लोड किये जाने के बाद डेटा को अतुल्यकालिक रूप से लोड करने के लिए संकलित ग्राहक पक्ष कोड की अनुमति देते हैं।
हालांकि, इस लक्षण को व्यापक रूप से तभी जाना जाने लगा जब इसे Gmail (2004) और Google Maps (2005) के द्वारा उपयोग में लाया गया।  यह शब्द "अजाक्स" सन् 2005 में आया। जेसी जेम्स गरेट के दिमाग में शब्द "अजाक्स" तब आया जब वे नहा रहे थे, उस समय वे एक ग्राहक के लिए प्रौद्योगिकियों के प्रतिनिधित्व के लिए एक संक्षिप्त रूप की आवश्यकता महसूस कर रहे थे।  5 अप्रैल 2006 वर्ल्ड वाइड वेब कंसोर्टियम (W3C) ने एक अधिकारिक वेब मानक के निर्माण के लिए ऑब्जेक्ट के लिए पहला ड्राफ्ट विवरण जारी किया।
शब्द "अजाक्स" वेब प्रौद्योगिकियों के क बड़े समूह का प्रतिनिधित्व करता है, जिनका उपयोग एक ऐसे वेब अनुप्रयोग के क्रियान्वयन के लिए किया जाता है, जो पृष्ठभूमि में एक सर्वर के साथ संचार करता है, इस दौरान यह पेज की वर्तमान स्थिति में कोई हस्तक्षेप नहीं करता है।  जिस लेख में शब्द अजाक्स दिया गया,जेसी जेम्स गरेट ने स्पष्ट किया कि निम्नलिखित प्रौद्योगिकियों की आवश्यकता है:
XML और XSLT.
तब से, शब्द अजाक्स की परिभाषा और अजाक्स अनुप्रयोग में काम में आने वाली प्रोद्योगिकियों में कई विकास हुए हैं। विशेष रूप से यह नोट किया गया है कि:
अन्य भाषाएं जैसे VBScript भी आवश्यक कार्यक्षमता के योग्य है।  हालांकिजावा स्क्रिप्ट अजाक्स प्रोग्रामिंग के लिए सबसे लोकप्रिय भाषा है, क्योंकि यह अधिकांश आधुनिक वेब ब्राउज़र्स के साथ संगत है और उनमें शामिल है।   जावास्क्रिप्ट ऑब्जेक्ट संकेतन (JSON) का उपयोग अक्सर डेटा के विनिमय के लिए एक वैकल्पिक प्रारूप के रूप में किया जाता है, हालांकि अन्य प्रारूप जैसे पहले से फोर्मेट किये हुए HTML या सादे पाठ्य का उपयोग भी किया जा सकता है।
क्लासिकल अजाक्स में ग्राहक पर तदर्थ जावा स्क्रिप्ट (ad hoc JavaScript) का लेखन शामिल है। एक आसान और कृडर विकल्प का उपयोग मानक जावा स्क्रिप्ट लायब्रेरीज के लिए किया जाता है, जो आंशिक रूप से पेज को अपडेट करते हैं, जैसे ASP.Net का अपडेट पैनल. उपकरण जैसे Echo2 और ZK केवल मानक जावा स्क्रिप्ट लायब्रेरीज का उपयोग करते हुए सर्वर से एक पेज के फाइन ग्रेन्ड नियंत्रण (fine grained control) को सक्षम बनता है।
पारंपरिक तरीक़ों का उपयोग का उपयोग करते हुए, हर रिक्वेस्ट पर सामग्री को रीलोड किया जाता है। हालांकि, अजाक्स का उपयोग करते हुए, एक वेब अनुप्रयोग केवल उस सामग्री की रिक्वेस्ट करता है जिसे अपडेट किये जाने की ज़रुरत होती है, इस प्रकार से बैंडविड्थ के उपयोग और लोड के समय को बहुत अधिक कम करता है।
उपयोगकर्ता अनुप्रयोग को अधिक तेज और अधिक प्रतिक्रियाशील बनाते हैं, यहां तक कि तब भी जब अनुप्रयोग सर्वर के पक्ष पर बदला नहीं है।
आस पास के कार्यों में अदृश्य IFrames का उपयोग शामिल है, जो ब्राउज़र की हिस्ट्री में परिवर्तन करते हैं और URL के एंकर हिस्से में परिवर्तन करते हैं (following a #) जब अजाक्स चल रहा होता है और परिवर्तनों के लिए इसका नियंत्रण करता है।
इस समस्या का समाधान मौजूद हैं, जिनमें से कई इसका ट्रैक रखने के लिए URL फ्रेगमेंट आईडनटीफायर ('#' के बाद URL का हिस्सा) का उपयोग करते हैं और उपयोगकर्ता को एक दी गयी अवस्था में अनुप्रयोग पर लौटने के लिए अनुमति देते हैं।  स्क्रीन पाठकों जो अजाक्स का उपयोग करने में सक्षम है वह गतिक रूप से उत्पन्न सामग्री को ठीक प्रकार से पढने में अक्षम हो सकता है।
उपयोगकर्ता को कार्यशील बनाने का एकमात्र तरीका है, गैर जावास्क्रिप्ट तरीके पर वापस जाना. ऐसा निश्चित लिंक बना कर किया जा सकता है, औ रूपों को ठीक प्रकार से हल किया जा सकता है और ये केवल अजाक्स पर ही निर्भर नहीं करते हैं।  जावास्क्रिप्ट में इसके बाद "रिटर्न फाल्स' के साथ फॉर्म जमा करने की प्रक्रिया को गलत किया जा सकता है।  अन्य वेब प्रौद्योगिकियों से परिचित विकास कर्ताओं को सुरक्षित अजाक्स अनुप्रयोगों के लेखन के लिए कोडिंग विधियाँ और नए परीक्षणों को सीखना चाहिए।