목차
추천사 ... 6
서문 ... 8
01 안녕, 웹2.0 세계 ... 27
   버즈워치 개요 ... 28
   전체 구도 잡기 ... 30
   내부 살펴보기 ... 33
   버즈워치의 기여도 높이기 ... 62
   버즈워치의 유지보수성 개선하기 ... 68
   마무리 양념 뿌리기 ... 75
   맺음말 ... 78
02 페이지 연출 ... 79
   깔끔하고 간결한 페이지 제작하기 ... 80
      유효한 HTML 작성 ... 80
      CSS 활용 ... 84
      적합한 엘리먼트 선택 ... 85
   HTML에서 XHTML로 ... 88
      XHTML 1.0 ... 88
      XHTML 1.1 ... 89
      왜 XHTML을 사용하는가? ... 90
      HTML과 다른 점 ... 92
   문서 객체 모델 ... 95
      DOM 계층 ... 98
      DOM API 개관 ... 99
      DOM API 참고문서 ... 101
      CSS ... 102
      둥근모서리 ... 103
      탭 ... 105
   도구 ... 107
      파이어폭스용 DOM Inspecter ... 108
      파이어폭스용 Web Developer Toolbar ... 110
      인터넷 익스플로러 Developer Toolbar ... 111
      파이어폭스용 DevBoi ... 112
   핵심정리 ... 114
03 자바스크립트와 에이잭스 ... 115
   자바스크립트: 별로 알려지지 않은 중요 기능들 ... 115
      undefined값과 형 ... 116
      === 연산자 ... 119
      for-in 반복문 ... 121
      함수형 프로그래밍 ... 124
      함수의 인수 ... 126
   자바스크립트 최적화 ... 127
      자바스크립트 다운로드 시간을 줄이자 ... 128
      DOM 업데이트를 최소로 유지하자 ... 130
   에이잭스 ... 130
      풍부한 사용자 경험, 그 자체 ... 131
      XMLHttpRequest 발전사 ... 132
      XMLHttpRequest 예제 ... 133
      Yahoo! UI Library ... 137
      구글 웹 툴킷 ... 142
      메모리 누출 다루기 ... 144
   핵심정리 ... 147
04 설계 원칙 ... 149
   공통 설계 사안 ... 151
      북마크 ... 152
      내비게이션 ... 156
      트래픽 최소화 ... 158
      저사양 기기 지원 ... 164
      접근성의 요청과 지침 ... 167
      내용과 표현을 분리하자 ... 172
      프레임을 웬만하면 사용하지 말자 ... 183
   핵심정리 ... 188
05 웹2.0에 도입될 다음 기술은? ... 191
   XSLT와 XPath ... 192
      XSLT Hello World 예제 ... 192
      XSLT 예제 조금 더 ... 196
      XSLT 스타일 ... 201
      XSLT 예제 하나 더 ... 204
      브라우저에서 XSLT 사용하기 ... 208
   SVG ... 212
      SVG Hello World 예제 ... 215
      SVG 스타일 정의하기 ... 221
      SVG 추가 예제 ... 223
   XForms ... 238
      XForms Hello World 예제 ... 240
      XForms 스타일 정의하기 ... 245
      XForms 추가 예제 ... 250
   HTML의 다음 행보는 ... 263
      W3C 제안 ... 264
      WHATWG 반대안 ... 267
      XHTML 2.0과 HTML 5 비교 ... 268
   핵심정리 ... 269
06 대안으로서의 리치 클라이언트 ... 271
   브라우저에서 리치 클라이언트로 ... 271
      브라우저의 약점 ... 273
      해답은 리치 클라이언트 ... 274
      리치 크라이언트의 현주소 ... 275
   다양한 리치 클라이언트 프레임워크 비교 ... 275
      오픈 라즐로 ... 276
      XUL ... 289
      XAML ... 300
   핵심정리 ... 306
07 HTTP와 URI ... 309
   웹은 어떻게 성공할 수 있었을까 ... 310
   웹 1.0: HTML, URL, HTTP ... 310
      기본 개념 ... 312
      URL과 URI ... 315
      숨겨진 코드의 위험성 ... 319
      웹서버의 진짜 역할은? ... 319
      웹은 양방향이다 ... 321
   웹 모델와 REST ... 321
      자원 ... 323
      표현물 ... 324
      상태 ... 324
      전송: HTTP 메서드 이용 ... 327
   HTTP 서비스 구축할 때 고려할 사항 ... 328
      미디어 유형 ... 328
      관심 자원 ... 330
      필수 표현물 ... 331
      서버 응답 ... 333
   HTTP 실습과 관찰 ... 334
      참고용 툴킷 ... 334
      HTTP 예제 ... 335
   추가 표현물 예제 ... 341
      콘텐트 협상 ... 343
      HTTPTracer로 메시지 감시 ... 346
   핵심정리 ... 350
08 XML과 대안 언어 ... 353
   XML ... 354
      XML 기초 ... 354
      XML 이름공간 ... 361
      유니코드와 문자 인코딩 ... 364
      바이너리 데이터 처리 ... 368
      보통은 사용할 일 없는 XML 기능 ... 369
      데이터형 ... 370
      스키마 언어 ... 372
      XSLT와 XPath ... 375
      그 밖의 XML 기술 ... 376
      기존 데이터 포맷과 프로토콜 ... 377
      API ... 378
   XML의 대안 ... 378
      JSON ... 380
      자바스크립트 ... 383
      HTML ... 383
      기타 포맷 ... 386
   핵심정리 ... 387
09 신디케이션 ... 389
   기초 내용 약간 ... 390
      마이크로콘텐트 ... 390
      피드 ... 391
   신디케이션 절차 ... 393
   신디케이션 포맷 ... 394
      RSS 2.0: 단순 콘텐트 ... 395
      RSS 1.0: 자원 서술 ... 402
      RSS 1.0 명세와 모듈 ... 409
      아톰: 둘의 장점만 취합했나? ... 410
      아톰 명세와 확장 요소 ... 416
      포맷 간의 엘리먼트 비교 ... 417
      인클로저와 파드캐스팅 ... 418
   핵심정리 ... 420
10 마이크로포맷 ... 421
   마이크로포맷 기초 ... 423
      CSS와 마이크로포맷 ... 424
      시맨틱 HTML ... 426
      콘텐트, 표현물, 데이터 ... 427
      모호한 이름 지정 피하기 ... 428
      적용 범위 ... 430
      표준 Org 2.0 ... 434
   마이크로포맷 문서 작성하기 ... 436
      예제: 이벤트 타임라인 ... 437
   핵심정리 ... 452
11 프로토콜 결합을 통해 웹서비스 구축하기 ... 453
   웹서비스의 명확한 개념 ... 454
   REST 서비스 ... 455
      샘플 응용프로그램 ... 455
      아톰 퍼블리싱 프로토콜(APP) ... 461
      실무에 쓰이는 REST 서비스 ... 461
      REST에 관한 추가 자료 ... 465
   WS-* 서비스 ... 465
      WS-* 서비스와 SOAP ... 466
      WS-* 서비스와 WSDL ... 472
      WS-* 스택 ... 476
   REST vs WS-* ... 478
      SOAP ... 478
      WSDL ... 480
      도구 지원 ... 482
   핵심정리 ... 484
12 HTTP로 XMl 서브하기 ... 487
   HTML 서브와의 차이점 ... 487
      미디어 유형 ... 488
      문자 인코딩 ... 488
      적격한 XML 서브하기 ... 488
   정적 콘텐트 서브하기 ... 488
   동적 콘텐트 서브하기 ... 491
      원리 ... 491
      자바로 XML 서브하기 ... 493
      ASP.NET과 C#으로 XML 서브하기 ... 499
      루비온레일스로 XML 서브하기 ... 504
      PHP, 펄, 파이썬 등으로 XML 서브하기 ... 506
      서버 측 XSLT 활용 ... 507
      XML 플랫폼 활용 ... 510
   XQuery와 XML 데이터베이스 ... 514
      eXist를 이용하여 XML 서브하기 ... 515
      WebDAV와 서브버전 ... 518
   JSON 서브하기 ... 519
   핵심정리 ... 521
13 데이터베이스와 비XML 소스 ... 523
   비XML 소스 처리하기 ... 523
   관계형 데이터를 XML로 변환하기 ... 524
      SQL 서버를 이용한 서버 측 변환 ... 530
      ADO.NET을 이용한 클라이언트 측 변환 ... 537
      오라클 XSQL 이용 ... 544
   이진 데이터를 XML로 변환하기 ... 556
      수동 변환 ... 557
      변환을 자동화하기 ... 562
   핵심정리 ... 572
14 신디케이션 채널 생성하기 ... 573
   간단한 아톰 서비스 ... 573
      사용자 인터페이스 ... 574
      응용프로그램 구조 ... 576
      압데라 아톰 툴킷 ... 577
      코드 훑어보기 ... 578
   응용프로그램 실행하기 ... 598
      응용프로그램 컴파일과 디플로이 ... 599
      실제 디플로이를 위한 고려사항 ... 600
   이메일 지원 추가 ... 600
      이메일 지원 구조 이해하기 ... 601
      로컬 메일 서버 설치하기 ... 602
      MailClient 클래스 이용하기 ... 605
      MessageReader 인터페이스 ... 609
      MailEntryCollector ... 610
   핵심정리 ... 615
15 매시업, HTML 스크래핑, 웹서비스 ... 617
   인기 예제: 지도 제작 매시업 ... 618
   매시업은 왜 사용하나? ... 621
   매시업의 비즈니스 모델 ... 623
   스크린 스크래핑 ... 625
      장점과 단점 ... 625
      정당하고 떳떳하게 ... 626
      해당 페이지 다운로드하기 ... 627
      해당 페이지 분석하기 ... 628
      단순 스크린 스크래핑 예제 ... 629
   피드 작성하기 ... 631
      자신의 서버에서 디플로이하기 ... 635
      외부 서버를 통해 디플로이하기 ... 636
   지도 제작과 배지(badge) ... 637
      배지(badge) ... 638
      구글 맵 ... 639
   핵심정리 ... 643
16 자신의 URI 공간 구축과 유지보수 ... 645
   URI의 장래성 확보하기 ... 647
      기술 중립성 ... 647
      계층과 수집 ... 648
      맨끝 슬래시와 위치 독립성 ... 650
   URI 공간의 변경사항 관리하기 ... 652
      HTTP 경로재지정 기초 ... 652
      영구히 자원 경로재지정하기 ... 653
      임시로 자원 경로재지정하기 ... 654
      사용하지 말아야 할 경로재지정 방법 ... 656
      서버 측 경로재지정 ... 657
   자신의 URI 매핑 도구상자 ... 658
      자바 서블릿 ... 658
      아파치 mod_alias와 mod_rewrite ... 659
      ASP.NET과 IIS ... 666
   핵심정리 ... 666
17 멀티미디어 파드캐스팅과 서빙 ... 669
   다양한 포맷 ... 670
      서술 포맷 ... 671
      컨테이너와 인코딩 포맷 ... 685
   프로토콜 ... 697
      멀티캐스트 ... 698
      유니캐스트 ... 699
      프로토콜 선택하기 ... 701
   핵심정리 ... 701
18 보안 ... 703
   보안은? ... 704
      자원 보안 ... 704
      메시지 보안 ... 705
   과거 경험에서 얻은 지혜 ... 706
   단계적 접근법 ... 707
   인증과 권한부여 ... 708
      IIS와 ASP.NET에서의 인증과 권한부여 ... 708
      IIS와 ASP.NET에서의 다양한 인증 방법 ... 711
      아파치에서의 인증과 권한부여 ... 714
   메시지 암호화 ... 715
      대칭적 암호화 ... 715
      공개키 기반체계 ... 717
   메시지 다이제스트 ... 718
   디지털 증명서 ... 719
   보안 소켓 계층 ... 720
      SSl 통신 단계 ... 721
      IIS에 SSL 설치하기 ... 722
      아파치에 SSL 설치하기 ... 727
   코드 보안 ... 733
      일반 원칙 ... 733
   웹서비스 보안 ... 739
      웹서비스 보안 이용하기 ... 740
      웹서비스 작동 원리 ... 742
      정책 추가하기 ... 745
      사용자 정의 인증 추가하기 ... 746
      클라이언트 생성하기 ... 750
      보안 개선하기 ... 756
   핵심정리 ... 756
옮긴이의 말 ... 758
찾아보기 ... 760
닫기