2011-08-19 4 views

답변

4

오늘 사용된다.

그것은 서버에 자바 스크립트를 사용하여 페이지에서 요청을 실행하고 몇 가지 응답을받을 수있는 방법입니다. 이 응답은 json, xml, text, html 등 무엇이든 될 수 있습니다 ...

이렇게하면 전체 페이지를 다시로드하지 않아도 페이지를 반응 적으로 처리 할 수 ​​있습니다 (예 :이 질문에 대한 답변 게시). :-)

Json은 JavaScrip Object Notation의 약자입니다. XML보다 가벼운 직렬화 형식이며 JavaScript가되는 장점이 있습니다.

JsonP는 Json에서 Ajax를 사용하기위한 다음이고 논리적 인 단계입니다.

서버는 콜백 함수에서 Json 객체를 래핑하는 JSONP로 응답합니다. 함수 이름은 일반적으로 쿼리 문자열의 매개 변수로 클라이언트에서 서버로 전달됩니다. P는 패딩을 나타냅니다. 서버는 json 객체를 함수의 이름과 객체를 인수로 사용하기 때문에 패딩을 의미합니다.

callback({"name":"my name"}); 

자세한 내용은 http://en.wikipedia.org/wiki/JSONP을 참조하십시오.

+0

"예를 들어 귀하의 질문에이 답변 게시 ..."부분이 마음에 들었습니다. :) 나중에 다시! –

47
  • - "비동기 Javascript 및 XML" Ajax는 웹 애플리케이션이보다 풍부한 사용자 경험을 제공 할 수 있도록 일련의 기술을 느슨하게 정의합니다. 화면 업데이트 및 새로 고침은 javascript 및 xml (또는 json 또는 일반 http 게시)을 사용하여 비동기 적으로 수행됩니다.

  • JSON - "Javascript Object Notation" JSON은 객체를 설명하는 데 사용할 수 있다는 점에서 xml과 비슷하지만 크기가 작고 실제 자바 스크립트라는 장점이 있습니다. JSON으로 표현 된 객체는 실제 객체로 변환하여 자바 스크립트 코드로 조작 할 수 있습니다.

  • 기본적으로 Ajax 요청은 요청이 발생한 페이지의 동일한 도메인에서 발생해야합니다. JSONP - "패딩이있는 JSON"- 다른 도메인에서 JSON 리소스를 요청할 수 있도록 작성되었습니다. (CORS은 JSONP보다 새롭고 더 나은 대안입니다.)

  • REST - "Representational State Transfer". REST 원칙을 사용하는 응용 프로그램에는 URL 구조와 자원 사용을 중심으로하는 요청/응답 패턴이 있습니다. 순수한 모델에서 HTTP Verbs Get, Post, Put 및 Delete는 각각 리소스를 검색, 생성, 업데이트 및 삭제하는 데 사용됩니다.

16

아약스, 또는 좀 더 제대로, AJAX는 비동기 자바 스크립트와 XML의 약자 받기 떠나 포스트 (POST)를 선택지도 (GET) 및 작성, 업데이트 및 삭제, 넣어 자주 사용되지 않는 삭제합니다. 기술적으로 이는 반환되는 내용 유형에 관계없이 현재 페이지에서 실행중인 일부 스크립트를 대신하여 브라우저가 만든 비동기 요청 (XmlHttpRequest을 사용하는 모든 것)을 나타냅니다. 또한 페이지의 대부분/모든 부분이 페이지에서 동적으로 가져 오거나 업데이트되는 페이지/사이트를 구성하는 특정 패턴을 설명하는 데 사용할 수도 있습니다. 데이터 형식을 설명 할 때 "ajax"는 일반적으로 "xml"을 의미합니다.

JSON은 데이터 인코딩 형식입니다. 이름 자체는 "JavaScript Object Notation"의 약자입니다. JSON 데이터가 매우 일반적으로 경량의 확장으로 다른 맥락에서 사용하지만, Ajax 요청에 의해 가져, 쉬운 구문 분석 데이터 교환 형식으로 할 수있다

{"key": "value1", "key2": {"number": 1, "array": [0, 1, 2]}} 

: 같은 JSON 형식의 데이터를 보인다.

JSONP는 JSON 형식의 데이터로 콜백 함수로 래핑됩니다. "P"는 "With Padding"의 약자로, 함수 호출을 "패딩"으로 생각하지 않는 한 어리석은 행동입니다. 어떤 경우에는, JSONP 데이터는 다음과 같이 표시됩니다 이와 같이

someFunction({"key": "value1", "key2": {"number": 1, "array": [0, 1, 2]}}); 

, JSONP는 정말 그냥 자바 스크립트 코드 조각이며, JSON과 달리 자바 스크립트의 컨텍스트 외부에서 사용하지 않는 브라우저 (또는 다른 자바 스크립트를 지원하는 클라이언트) , 그리고 AJAX 요청. JSONP를 사용하는 이유는 same-origin policy이 전복 될 수 있기 때문입니다. 사이트 Y가 사이트 X와 다른 도메인에있는 경우 사이트 X에서 제공 한 스크립트는 사이트 Y가 사이트 Y에 직접 요청할 수 없습니다. 그러나 사이트 Y의 서버가 JSONP 형식의 응답을 보낼 수있는 경우 사이트 X의 스크립트는 새 <script> 태그가 사이트 Y의 URL을 참조하는 문서에 추가되고 사이트 Y의 응답이로드되면 스크립트 X가 문서에서 정의한 콜백 함수를 호출하여 스크립트 X가 동적으로로드 된 데이터에 액세스 할 수있게합니다. 사이트 Y.

JSONP 데이터는 XmlHttpRequest을 사용하여 (일반적으로) 요청되지 않습니다. 이 방법은 동일한 출처 정책의 표준주의 사항에 따라 수행 할 수 있지만 JSONP를 유용하게 만드는 교차 도메인 매직을 잃게됩니다.

REST는 HTTP가 실제로 작동/사용되는 방법에 대한 공식 사양/설명입니다. 서버에서 해당 리소스를 요청하는 데 사용되는 URL의 개념을 이해하고 GetPost의 차이점을 이해하면 REST에 관해 필요한 모든 것을 알 수 있습니다.