목차
이 책에서 다루지 않는 내용 ... 6
책의 전체 구조와 공부하는 순서 ... 9
예제 파일 및 프로그램 설치 ... 11
Part 1 AJAX와 웹의 미래
   제1장 웹 2.0과 AJAX ... 39
      1) 잘 나가는 닷컴만 웹 2.0 ... 41
      2) 그러나 웹 2.0은 없다 ... 44
      3) 변화의 중심에는 XML이 있다 ... 45
      4) AJAX는 어떻게 움직이는가? ... 48
      5) AJAX로 할 수 없는 일들 ... 51
      핵심정리 ... 53
      연습문제 ... 54
   제2장 AJAX의 활용 분야 ... 55
      1) 기존 웹 사이트에서 AJAX 활용 ... 57
      2) AJAX 애플리케이션 ... 63
      핵심정리 ... 67
      연습문제 ... 67
Part 2 AJAX 개체 모델
   제3장 AJAX 개체의 사용법 ... 71
      3.1 AJAX 개체의 생성과 웹 브라우저 ... 73
        1) AJAX 개체 생성하기 ... 74
        2) AJAX 개체 생성 함수 지원 여부 확인 ... 75
        3) 브라우저 버전으로 AJAX 지원 여부 확인 ... 78
        4) 사용자 정의 AJAX 개체 생성 함수 만들기 ... 80
        핵심정리 ... 83
      3.2 AJAX로 데이터 요청하고 받기 ... 84
        1) open() 메소드로 설정하고 send() 메소드로 요청하기 ... 84
        2) readySate, staus, onreadystatechange 속성 ... 85
        3) responseText 속성과 responseXML 속성의 차이 ... 90
        4) AJAX 동작 과정 정리 ... 93
        5) AJAX 개체의 속성과 메소드 ... 94
      핵심정리 ... 96
   연습문제 ... 96
   제4장 AJAX 요청을 보내기 전에 할 일 ... 97
      4.1 AJAX와 HTTP 헤더 ... 99
        1) HTTP 헤더 종류: 요청 헤더와 응답 헤더 ... 99
        2) 서버 프로그램에서 응답 헤더 설정하는 법 ... 102
        3) 요청 헤더 설정하기 ... 103
        4) 응답 헤더 읽기 ... 107
        5) Content-Type 응답 헤더 ... 110
        핵심정리 ... 113
      4.2 AJAX와 한글 문제 ... 114
        1) AJAX 응답에서 한글이 깨지는 경우 ... 114
        2) 요청하는 페이지가 PHP 파일인 경우 ... 117
        3) UTT - 8로 인코딩해야 하는 경우 ... 120
        4) 문자 인코딩 방식을 변환하기 ... 124
        5) 페이지 특성에 따른 알맞은 문자 인코딩 방법 ... 130
        핵심정리 ... 131
      4.3 AJAX와 통신 방식 ... 132
        1) 여러 번 요청하는 경우의 문제 ... 132
        2) AJAX로 동기 통신하는 방법 ... 135
        3) 동기 통신 방식의 단점 ... 137
        핵심정리 ... 143
      4.4 GET 방식과 POST 방식 ... 144
        1) HTTP 메소드 ... 144
        2) AJHX와 GET 방식 ... 147
        3) AJAX와 POST 방식 ... 156
        핵심정리 ... 160
      연습문제 ... 161
   제5장 AJAX로 응답을 받은 후에 할 일 ... 165
      5.1 AJAX 응답 상태의 변화 ... 167
        1) status, statusText 속성과 응답 상태 ... 167
        2) status 속성으로 HTTP 응답 상태 코드 알아내기 ... 169
        3) 일정한 간격으로 계속 AJAX 요청 보내기 ... 174
        4) 데이터가 변경된 경우에만 응답 내용 받기 ... 178
        5) abort() 메소드로 응답이 도착하기 전에 취소하기 ... 186
        핵심정리 ... 188
      5.2. MIME 타입과 XML 응답 ... 189
        1) 텍스트 파일을 받은 경우 (text/plain) ... 189
        2) XML 문서를 받은 경우 (text/xml) ... 191
        3) HTML 문서를 text/html MIME 타입으로 받은 경우 ... 192
        4) HTML 문서를 text/xml MIME 타입으로 받은 경우 ... 193
        5) XML 문법에 어긋난 XML 응답 ... 194
        6) 꼭 지켜야 하는 다섯 가지 XML 기본 문법 ... 200
        7) 문서 타입 정의에 어긋난 XML응답을 받았을 때 ... 204
        핵심정리 ... 206
      연습문제 ... 207
Part 3 XML 문서 개체 모델
   제6장 XML 문서 개체 모델 기초 ... 211
      6.1 노드의 계층 구조 ... 213
        1) 문서의 최상위 노드 접근하기 ... 213
        2) 하위 노드 접근하기 ... 219
        3) 재귀 함수로 하위 노드 모두 출력하기 ... 226
        4) 노드 사이의 관계로 접근하기 ... 230
        5) 특정 이름의 노드 모두 찾기 ... 239
        핵심정리 ... 246
      6.2 XML 개체 수정하기 ... 247
        1) 맨 끝에 추가하기 ... 247
        2) 특정 위치에 추가하기 ... 252
        3) 노드 이동하기 ... 257
        4) 노드 복사하여 추가하기 ... 263
        5) 노드 삭제하기 ... 269
        6) 노드 바꾸기 ... 274
        7) 속성 읽기 ... 277
        8) 속성 수정하기 ... 282
        9) 속성 삭제하기 ... 291
        10) 노드의 종류와 특징 ... 296
        11) 노드 개체의 속성 ... 299
        12) 노드 개체의 메소드 ... 300
        핵심정리 ... 302
      연습문제 ... 304
   제7장 XML 개체의 생성과 변환 ... 305
      7.1 XML 개체 만들기 ... 307
        1) XML 개체 만들기 ... 307
        2) 문자열로 XML 개체 만들기 ... 308
        3) 원격 파일 불러오기 ... 313
        4) xml 요소로 XML 개체 만들기 ... 319
        5) 문서 타입 정의로 유효성 검사하기 ... 320
        6) 문서 타입 정의가 별도 파일인 경우 ... 324
        7) XML 개체를 수정하고 다시 검증하기 ... 328
        핵심정리 ... 331
      7.2 XML 개체의 변환 ... 332
        1) XML 노드나 XML 개체를 문자열로 변환하기 ... 332
        2) 버전, 문자 인코딩, DTD 알아내기 ... 337
        3) XSL로 XML 문서 변환하기 ... 340
        4) XML 개체를 다른 구조의 XML 개체로 변환하기 ... 348
        5) XML 노드를 XML 노드로 변환하기 ... 358
        6) XSL 개체의 일부분을 사용하여 변환하기 ... 363
        7) XSL 개체로 인자 넘기기 ... 373
        핵심정리 ... 385
      연습문제 ... 388
   제8장 XML 문서의 검색 ... 389
      8.1 XPath로 노드 검색하기 ... 391
        1) 재귀 함수로 노드 검색하기 ... 391
        2) walker 클래스로 노드 검색하기 ... 401
        3) 인터넷 익스플로러에서 XPath로 검색하기 ... 409
        4) 다양한 XPath 테스트 해 보기 ... 421
        5) 모질라 웹 브라우저에서 XPath로 검색하기 ... 423
        6) XPath로 검색한 결과를 XSL로 변환하기 ... 434
        핵심정리 ... 447
      8.2 더 알고 있으면 좋은 것들 ... 450
        1) 여러 개의 DTD를 같이 사용할 때: XML 네임스페이스 ... 450
        2) DTD보다 좋은 XML 구조 정의: XML 스키마 정의(XSD) ... 460
        3) 최상위 노드가 여럿일 때: 문서조각 노드 ... 466
        4) 내용에 〈, 〉, &, ', " 문자가 있는 경우: CDATA 선언과 엔티티(Entity) ... 471
        5) CDATA 선언과 CDATASection 개체 ... 474
        6) HTML 요소와 XML 노드 ... 482
        7) HTML 요소에 사용 가능한 XML 노드의 속성과 메소드 ... 488
        8) [정리] XML 노드의 속성과 메소드 ... 492
        핵심정리 ... 497
      연습문제 ... 499
Part 4 실전 AJAX 프로그래밍
   제9장 제사용 가능한 AJAX 클래스 ... 503
      9.1 개체 생성 함수와 클래스 ... 505
        1) 개체 생성 함수로 클래스 만들기 ... 505
        2) 내장 개체와 prototype 속성 ... 511
        3) 함수의 인자로 개체를 사용하기 ... 514
        4) Map 클래스 설계하기 ... 516
        5) JSDoc으로 API 문서 생성하기 ... 522
        6) isUnit로 테스트 프로그램 만들기 ... 526
        7) 클래스 코딩 하기 ... 530
        8) 자바스크립트 클래스 개발 과정 ... 534
        핵심정리 ... 536
      9.2 재사용 가능한 XML 클래스 ... 537
        1) XML 클래스의 필요성과 설계 방향 ... 537
        2) ozXML 클래스의 API 문서와 테스트 프로그램 ... 539
        3) init() 메소드와 개체 초기화 과정 ... 543
        4) ozXML 클래스의 메소드 분석 ... 546
        5) ozXML 클래스의 활용 ... 550
      9.3 재사용 가능한 AJAX 클래스 ... 553
        1) AJAX 클래스의 필요성과 설계 방향 ... 553
        2) ozAjax 클래스 API 문서와 테스트 프로그램 ... 556
        3) init() 메소드와 개체 초기화 ... 557
        4) send() 메소드 분석 ... 559
        5) ozAjax 활용 예 ... 563
      연습문제 ... 565
   제10장 AJAX 애플리케이션 설계 ... 567
      10.1 AJAX로 할 수 없는 일 ... 569
        1) 서버 푸시 방식의 실시간 서비스 ... 569
        2) 다른 서버로 XML 요청하기 ... 573
        3) AJAX로 바이너리 파일을 보내고 응답 받기 ... 577
        핵심정리 ... 579
      10.2 널리 사용되는 XML 포맷의 활용 ... 580
        1) RDF(Resource Description Framework): 자원 설명 프레임워크 ... 580
        2) RSS(Really Simple Syndication, Rich Site Summary): 매우 단순한 배급 ... 586
        3) XML-RPC(Remote Procedure Call): XML 원격 프로세스 호출 ... 591
        4) AJAX로 XML-RPC 메시지 보내고 받기 ... 596
        5) SOAP(Simple Object Access Protocol): 단순한 개체 접근 프로토콜 ... 605
        6) AJAX로 SOAP 메시지 보내고 받기 ... 608
        7) WSDL(Web Service Description Language): 웹 서비스 설명 언어 ... 614
        8) JSON(JavaScript Object Notation): 자바스크립트 개체 표시법 ... 620
        핵심정리 ... 625
      10.3 AJAX 애플리케이션 설계 ... 626
        1) 서버로부터 어떤 형식의 응답을 받을까? ... 626
        2) 서버에 데이터를 어떤 형식으로 보낼까? ... 629
        3) 웹 브라우저 내에서 데이터 저장 ... 630
        4) AJAX 애플리케이션 설계 과정 ... 632
        핵심정리 ... 636
      연습문제 ... 637
   제11장 AJAX 실전 프로젝트 ... 639
      11.1 ID 중복 체크 ... 641
        1) 기획 및 설계 ... 641
        2) 기능 구현 ... 643
      11.2 관심 상품 등록 및 조회 ... 648
        1) 서비스 기획 ... 648
        2) 프로그램 흐름도와 메시지 설계 ... 650
        3) AJAX로 로그인 구현 ... 655
        4) 관심 상품 등록 및 조회 구현 ... 661
      11.3 블로그 카테고리 편집기 ... 670
        1) 애플리케이션 설계 ... 670
        2) 메시지 설계와 메시지 샘플 작성 ... 672
        3) 구현된 결과를 먼저 살펴보자 ... 679
        4) 데이터를 받아서 표시하기 ... 684
        5) 데이터를 서버로 보내기 ... 687
      11.4 추천 키워드 기능 ... 691
        1) 모질라와 한글 입력 keyup 이벤트 ... 691
        2) 키워드 추천 기능 기획 ... 696
        3) 키워드 추천 기능 설계 ... 699
        4) 핵심 부분부터 구현하기 ... 704
        5) 유저 인터페이스 부분 구현하기 ... 709
        6) UI 컴포넌트를 HTML 요소에 자동으로 적용하기 ... 718
      11.5 RSS 뷰어와 네이버 OPENAPI 활용 ... 722
        1) RSS 뷰어 애플리케이션의 설계 ... 722
        2) RSS 뷰어 애플리케이션 구현 ... 726
        3) 네이버 OPENAPI와 RSS 뷰어 활용 ... 731
닫기