FastCGI
ફાસ્ટસીજીઆઈ એ વેબ સર્વર સાથે ઇન્ટરેક્ટિવ પ્રોગ્રામ્સને ઇન્ટરફેસ કરવા માટેનો દ્વિસંગી પ્રોટોકોલ છે. તે અગાઉના કોમન ગેટવે ઇન્ટરફેસ (સી. જી. આઈ.) પરની વિવિધતા છે. ફાસ્ટ સી. જી. આઈ. નો મુખ્ય ઉદ્દેશ વેબ સર્વર અને સી. જી. આઈ. પ્રોગ્રામ્સ વચ્ચેના ઇન્ટરફેસિંગને લગતા ઓવરહેડને ઘટાડવાનો છે, જે સર્વરને સમયના એકમ દીઠ વધુ વેબ પૃષ્ઠ વિનંતીઓને નિયંત્રિત કરવાની મંજૂરી આપે છે. કોમન ગેટવે ઇન્ટરફેસ (સી. જી. આઈ.) એ વેબ સર્વર પર બાહ્ય એપ્લિકેશનોને જોડવા માટેનો એક પ્રોટોકોલ છે. સી. જી. આઈ. કાર્યક્રમો અલગ પ્રક્રિયાઓમાં ચાલે છે, જે દરેક વિનંતીની શરૂઆતમાં બનાવવામાં આવે છે અને અંતે તોડી નાખવામાં આવે છે. આ "વિનંતી દીઠ એક નવી પ્રક્રિયા" મોડેલ સી. જી. આઈ. કાર્યક્રમોને અમલમાં મૂકવા માટે ખૂબ જ સરળ બનાવે છે, પરંતુ કાર્યક્ષમતા અને માપનીયતાને મર્યાદિત કરે છે. ઉચ્ચ ભાર પર, પ્રક્રિયા નિર્માણ અને વિનાશ માટે ઓપરેટિંગ સિસ્ટમ ઓવરહેડ નોંધપાત્ર બને છે. ઉપરાંત, CGI પ્રક્રિયા મોડેલ સંસાધનના પુનઃઉપયોગની પદ્ધતિઓને મર્યાદિત કરે છે, જેમ કે ડેટાબેઝ જોડાણોનો પુનઃઉપયોગ, ઇન-મેમરી કેશીંગ વગેરે. સી. જી. આઈ. ની માપનીયતાની ખામીઓને દૂર કરવા માટે, ઓપન માર્કેટે ફાસ્ટ સી. જી. આઈ. વિકસાવી અને તેને સૌપ્રથમ 1990ના દાયકાના મધ્યમાં તેમના વેબ સર્વર ઉત્પાદનમાં રજૂ કર્યું. ઓપન માર્કેટે મૂળ રૂપે ફાસ્ટસીજીઆઈને વેબ એપ્લિકેશન્સ વિકસાવવા માટે નેટસ્કેપના માલિકીના, ઇન-પ્રોસેસ એપ્લિકેશન પ્રોગ્રામિંગ ઇન્ટરફેસો (એપીઆઈ) (નેટસ્કેપ સર્વર એપ્લિકેશન પ્રોગ્રામિંગ ઇન્ટરફેસ (એનએસએપીઆઈ)) ના સ્પર્ધાત્મક પ્રતિભાવ તરીકે વિકસાવ્યું હતું. જ્યારે પ્રથમ ઓપન માર્કેટ દ્વારા વિકસાવવામાં આવ્યું હતું, ત્યારે ફાસ્ટસીજીઆઈનો અમલ અન્ય કેટલાક વેબ સર્વર ઉત્પાદકો દ્વારા કરવામાં આવ્યો હતો. જો કે, તેનો અભિગમ સર્વર-સબપ્રોગ્રામ સંચારને ઝડપી બનાવવા અને સરળ બનાવવા માટેની અન્ય પદ્ધતિઓ સામે સ્પર્ધાત્મક હતો. મોડ _ પર્લ અને મોડ _ પીએચપી જેવા અપાચે એચટીટીપી સર્વર મોડ્યુલો લગભગ એક જ સમયે દેખાયા હતા અને ઝડપથી લોકપ્રિયતા મેળવી હતી. સી. જી. આઈ. સહિત આ તમામ વિવિધ પદ્ધતિઓ સામાન્ય ઉપયોગમાં છે. અમલીકરણની વિગતો દરેક વિનંતી માટે નવી પ્રક્રિયા બનાવવાને બદલે, ફાસ્ટસીજીઆઈ વિનંતીઓની શ્રેણીને નિયંત્રિત કરવા માટે સતત પ્રક્રિયાઓનો ઉપયોગ કરે છે. આ પ્રક્રિયાઓ ફાસ્ટસીજીઆઈ સર્વરની માલિકીની છે, વેબ સર્વરની નહીં. આવનારી વિનંતીને સેવા આપવા માટે, વેબ સર્વર યુનિક્સ ડોમેન સોકેટ, નામવાળી પાઇપ અથવા ટ્રાન્સમિશન કંટ્રોલ પ્રોટોકોલ (ટીસીપી) જોડાણ પર ફાસ્ટસીજીઆઈ પ્રક્રિયાને પર્યાવરણ ચલ માહિતી અને પૃષ્ઠ વિનંતી મોકલે છે. પ્રતિક્રિયાઓ પ્રક્રિયાથી સમાન જોડાણ પર વેબ સર્વરને પરત કરવામાં આવે છે, અને વેબ સર્વર પછી તે પ્રતિસાદ અંતિમ વપરાશકર્તાને પહોંચાડે છે. પ્રતિસાદના અંતે જોડાણ બંધ થઈ શકે છે, પરંતુ વેબ સર્વર અને ફાસ્ટસીજીઆઈ સેવા પ્રક્રિયાઓ બંને ચાલુ રહે છે. દરેક વ્યક્તિગત ફાસ્ટસીજીઆઈ પ્રક્રિયા તેના જીવનકાળ દરમિયાન ઘણી વિનંતીઓનું સંચાલન કરી શકે છે, જેનાથી પ્રતિ-વિનંતી પ્રક્રિયા નિર્માણ અને સમાપ્તિના ઓવરહેડને ટાળી શકાય છે. એક સાથે બહુવિધ વિનંતીઓની પ્રક્રિયા ઘણી રીતે કરી શકાય છેઃ આંતરિક મલ્ટિપ્લેક્સિંગ સાથે એક જોડાણનો ઉપયોગ કરીને (એટલે કે, એક જોડાણ પર બહુવિધ વિનંતીઓ); બહુવિધ જોડાણોનો ઉપયોગ કરીને; અથવા આ પદ્ધતિઓના મિશ્રણ દ્વારા. બહુવિધ ફાસ્ટસીજીઆઈ સર્વરને રૂપરેખાંકિત કરી શકાય છે, જે સ્થિરતા અને માપનીયતામાં વધારો કરે છે. વેબ સાઇટ સંચાલકો અને પ્રોગ્રામરો શોધી શકે છે કે ફાસ્ટસીજીઆઈમાં વેબ સર્વરથી વેબ એપ્લિકેશનોને અલગ કરવાના એમ્બેડેડ દુભાષિયાઓ (મોડ _ પર્લ, મોડ _ પીએચપી, વગેરે) કરતાં ઘણા ફાયદા છે. આ વિભાજન સર્વર અને એપ્લિકેશન પ્રક્રિયાઓને સ્વતંત્ર રીતે પુનઃપ્રારંભ કરવાની મંજૂરી આપે છે-વ્યસ્ત વેબ સાઇટ્સ માટે એક મહત્વપૂર્ણ વિચારણા. તે પ્રતિ-એપ્લિકેશન, હોસ્ટિંગ સેવા સુરક્ષા નીતિઓના અમલીકરણને પણ સક્ષમ કરે છે, જે આઇએસપી અને વેબ હોસ્ટિંગ કંપનીઓ માટે એક મહત્વપૂર્ણ જરૂરિયાત છે. વિવિધ પ્રકારની આવનારી વિનંતીઓને ચોક્કસ ફાસ્ટસીજીઆઈ સર્વર પર વિતરિત કરી શકાય છે જે તે પ્રકારની વિનંતીઓને અસરકારક રીતે સંભાળવા માટે સજ્જ છે. ફાસ્ટસીજીઆઈ નોંધ અમલમાં મૂકતા વેબ સર્વરોઃ જ્યાં સુધી જણાવ્યું ન હોય ત્યાં સુધી, ફાસ્ટસીજીઆઈ અમલીકરણની સંપૂર્ણતા અજ્ઞાત અપાચે એચટીટીપી સર્વર (આંશિક) દ્વારા અમલમાં મૂકવામાં આવે છે. આ મોડ્યુલ તૃતીય-પક્ષ તરીકે ઉપયોગમાં લેવાતું હતું, પરંતુ 2009માં અપાચે સર્વર પેટા-પ્રોજેક્ટ તરીકે અપાચે સોફ્ટવેર ફાઉન્ડેશન (એએસએફ) ને ક્રિસ ડારોચ દ્વારા આપવામાં આવ્યું હતું. તે ફક્ત યુનિક્સ ડોમેન સોકેટ્સને સપોર્ટ કરે છે, કોઈ ટીસીપી સોકેટ્સ નથી. તૃતીય-પક્ષ મોડ્યુલનો પણ ઉપયોગ કરવામાં આવી રહ્યો છે. થોડા સમય માટે, આ મોડ્યુલ હવે અપાચે 2.4. x હેઠળ યોગ્ય રીતે સંકલિત કરવામાં આવ્યું નથી, જો કે તે સમસ્યાને મૂળ પ્રોજેક્ટના કાંટો સાથે હલ કરવામાં આવી છે. એક જોડાણ દ્વારા વિનંતીઓનું મલ્ટિપ્લેક્સિંગ અપાચે 1. x ડિઝાઇન દ્વારા પ્રતિબંધિત છે, તેથી આ અપાચે 2.4 માં આધારભૂત નથી, ટીસીપી ફાસ્ટસીજીઆઈ સર્વરોને ટેકો આપતા ઉમેરવામાં આવ્યું હતું. કેડી ચેરોકી હિયાવથા લોડ બેલેન્સિંગ ફાસ્ટસીજીઆઈ સપોર્ટ ક્રોટેડ ફાસ્ટસીજીઆઈ સર્વરોને સપોર્ટ કરે છે જેટ્ટી કેરીયો વેબસ્ટાર લાઇટપીડ લાઇટપીડ વેબ સર્વર માઈક્રોસોફ્ટ આઈઆઈએસ એનજીએનએક્સ નેવીસર્વર ઓરેકલ આઈપ્લેનેટ વેબ સર્વર ઓપનબીએસડીનો ઓપન માર્કેટ વેબ સર્વર રેઝિન વેબ અને એપ્લિકેશન સર્વર રોક્સેન વેબ સર્વર શિમરકેટ વેબ સર્વર ઝિયસ વેબ સર્વર લેંગ્વેજ તેના એપીઆઈ ફાસ્ટસીજીઆઈ માટે બંધન કોઈપણ ભાષામાં લાગુ કરી શકાય છે જે નેટવર્ક સોકેટ્સને સપોર્ટ કરે છે. "ફાસ્ટસીજીઆઈ એ એક પ્રોટોકોલ છે, અમલીકરણ નથી", તે કોઈ એક ભાષા સાથે ચુસ્તપણે બંધાયેલ નથી. એપ્લિકેશન પ્રોગ્રામિંગ ઇન્ટરફેસો (API) આના માટે અસ્તિત્વ ધરાવે છેઃ રુબી ઓન રેલ્સ, કેટાલિસ્ટ, જેંગો, કેપ્લર અને પ્લેક જેવા તાજેતરના માળખાઓ એમ્બેડેડ દુભાષિયાઓ (ઉદાહરણ તરીકે, મોડ _ રુબી, મોડ _ પર્લ, મોડ _ પાયથોન અથવા મોડ _ લુઆ) અથવા ફાસ્ટસીજીઆઈ સાથે ઉપયોગ કરવાની મંજૂરી આપે છે. સંદર્ભો બાહ્ય કડીઓ-ફોર્ક/ડાઉન ફાસ્ટસીજીઆઈ વેબસાઇટનો અરીસો-જૂનું ફાસ્ટસીજીઆઈ હોમ પેજ, જે કામ કરતી વખતે દેખાયું અમલીકરણ-અપાચે માટે અમલીકરણ HTTPd-માઈક્રોસોફ્ટ IIS માટે અમલીકરણ-અપાચે 2. x મોડ _ પ્રોક્સી વેબ ટેકનોલોજી માટે પ્રાયોગિક અમલીકરણ