누가 아약스와 휴식의 차이점을 설명해 줄 수 있습니까?
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
'programing' 카테고리의 다른 글
PHP에서 2일보다 오래된 모든 파일을 삭제하는 올바른 방법 (0) | 2023.07.28 |
---|---|
전체 텍스트 파일을 C의 문자 배열로 읽는 중 (0) | 2023.07.28 |
사용자가 로그인한 후 Larvel 5 세션이 유지되지 않음 (0) | 2023.07.28 |
파이썬 메소드 오버라이드, 서명이 중요합니까? (0) | 2023.07.28 |
Spring MVC(비동기) 대 Spring WebFlux (0) | 2023.07.28 |