programing

누가 아약스와 휴식의 차이점을 설명해 줄 수 있습니까?

megabox 2023. 7. 28. 21:54
반응형

누가 아약스와 휴식의 차이점을 설명해 줄 수 있습니까?

AJAX

비동기 Javascript 및 XML." Ajax는 다음과 같은 집합을 느슨하게 정의합니다.
웹 애플리케이션을 보다 풍부한 사용자에게 제공하는 데 도움이 되는 기술
경험하다.데이터 업데이트 및 화면 새로 고침이 완료되었습니다.
비동기식으로 Javascript 및 xml(또는 json 또는 일반 http POST)을 사용합니다.

쉬다

"대표적인 상태 이동"REST 원칙을 사용하는 응용 프로그램은 리소스 사용을 중심으로 하는 Url 구조와 요청/응답 패턴을 가집니다.순수 모델에서 HTTP 동사 Get, Post, Put 및 Delete는 각각 리소스를 검색, 생성, 업데이트 및 삭제하는 데 사용됩니다.Put 및 Delete는 사용되지 않는 경우가 많아 Get 및 Post를 맵에 남겨 선택(GET)하고 생성, 업데이트 및 삭제(POST)합니다.

저는 이 용어들에 대해 정말 혼란스럽습니다. 저는 Symfony2로 웹사이트를 코딩하고 모든 것이 항상 작동합니다. 하지만 제 상사가 제게 어떻게 그것을 했는지 묻는 순간 저는 그것을 설명하기 위해 사용할 단어를 잘 모르겠습니다.제가 이 모든 것을 취미로 시작해서 평생을 실용적인 부분에 집중했기 때문일 것입니다.

클라이언트 측에 다음 코드가 있다고 가정합니다(javascript).

       function image_remover(myimageId,path)
        {   
            // creating xmlhttprequest using ajax
            var xml = ( window.XMLHttpRequest ) ?
                   new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
    
            xml.open("GET", path+"?imageId="+myimageId, true);  
            xml.setRequestHeader("Content-type", "application/json"); 
    
            xml.onreadystatechange = function() 
            {
                if( xml.readyState === 4 &&
                    xml.status     === 200 )
                {
                    var serverResponse = JSON.parse(xml.responseText); 
                     switch(serverResponse.d)
                     {
                       // do stuff
                     }
                }
            } 
            xml.send(null);   
        }

서버 측에서는 이 기능을 사용합니다(PHP / Symfony2 컨트롤러(주석 포함).

        /**
        *@Route("/removeImage",name="image_remover")
        */
        public function removeImageAction(Request $request)
        {
            //If user is not logged in..
            if (false === $this->get('security.context')->isGranted('ROLE_USER')) 
            {          
                //ip block 
                return new Response("an error has occured");
            }
    
             
            //My requests
            $current_imageId = intval($request->query->get('imageId')); 
            
            //Getting image repository
            $em = $this->getDoctrine()->getManager();
            $db_myimage = $em->getRepository('GabrielUploadBundle:Image')->findOneById($current_imageId); 
            
            //if image was found
            if($db_myimage)
            {
                //Owner of this image 
                $imageowner = $db_myimage->getImageowner();
    
                //Getting user name
                $user = $this->getUser();
                $current_username = $user->getUsername();    
    
                // is username == imageowner? if not = block ip
                if($current_username == $imageowner) 
                {
                    //remove image from database
                    $em->remove($db_myimage);
                    $em->flush();
    
                    // d = deleted y = yes
                    $response = array("d"=>1);    
                    return new Response(json_encode($response));
                }
                else
                {
                    //ip block
                    $response = array("d"=>0);
                    return new Response(json_encode($response));
                } 
            }
            else
            {
                //image object not found
                //d = deleted, n = not found
                $response = array("d"=>0);
                return new Response(json_encode($response));
            }
        }
    }  

이 코드의 어느 부분에서 REST를 사용했습니까?AJAX가 무슨 파트야? 내가 REST를 썼나?

당신의 코드에 대해 자세히 언급하지는 않겠습니다만, 다음과 같습니다.

AJAX는 기본적으로 JavaScript에서 비동기식 요청을 하는 것을 의미합니다. 전통적으로 XML을 전송/수신합니다(오늘날에는 XML 대신 JSON을 사용하는 경우가 많습니다).이것이 고객 측에서 사용하는 기술입니다.

REST는 HTTP 요청 교환을 위한 개념이므로 서버 측에서 구현한 REST-API에 대해 RESTful 요청 호출(예: 'get')을 수행하는 것입니다.

참조: AJAX는 Rest api입니까?

그리고 위키백과의 REST와 AJAX에 대해 조금 더 자세히 읽어보시기 바랍니다.

언급URL : https://stackoverflow.com/questions/23054764/can-someone-explain-the-difference-between-ajax-and-rest

반응형