
브라우저에서 동작하는 웹사이트나 웹어플리케이션 같은 클라이언트들이 어떻게 서버와 통신할 수 있는지 정의하는 것이 HTTP이다.
HTTP (Hypertext Transfer Protocol) 란?
텍스트 기반의 통신 규약으로 인터넷이서 데이터를 주고 받을 수 있는 프로토콜.
- 프로토콜: 데이터 교환 방식을 정의하는 규칙 체계.
- 하이퍼텍스트: 하이퍼 링크, 문서나 이미지 파일 등의 리소스들을 통틀어 의미한다.
이 HTTP를 이용해서 서버에서 데이터를 받아올 수 있는 방법으로 AJAX가 있다.
AJAX (Asynchronous JavaScript and XML) 란?
웹페이지에서 비동기적으로 데이터를 요청하고 응답을 받기 위해서 사용되는 기술들의 조합.
서버와 클라이언트 간에 복잡한 데이터를 주고 받을 때 데이터베이스의 내용을 특정한 포맷(형식)으로 담아 데이터를 전송한다.
이렇게 데이터를 담는 여러가지 포맷 중 하나가 JSON이며, 이외에는 XML, CSV 등이 있다.
XML은 HTML과 같은 마크업 언어 중 하나로 태그들을 이용해서 데이터를 나타낸다. HTML처럼 데이터를 보여주는 목적이 아닌 데이터를 저장하고 전달할 목적으로 만들어졌으며 HTML 태그처럼 태그가 미리 정의되어 있지 않고, 사용자가 직접 정의할 수 있다.
JSON은 JavaScript Object Notation 자바스크립트 객체 문법을 따른는 문자 기반의 데이터 포맷이다.
위에서 나온 AJAX는 이름만 보면 XML 파일만을 주고 받을 수 있을 것 같지만 실제로는 대부분 JSON 형태를 주로 사용한다.
eval() 함수로 파싱되며 XML은 XML파서로 파싱된다.JSON 예시
{ "name": "루키", "age": 19, "height": 180 }
XML 예시
<character> <name>루키</name> <age>19</age> <height>180<height> </character>