본문 바로가기

개발 서적/웹을 지탱하는 기술

[웹을 지탱하는 기술] chatper 09. HTTP 헤더 [목차] chapter 01. 웹이란 무엇인가? chapter 02. 웹의 역사 chapter 03. REST 웹의 아키텍처 스타일 chapter 04. URI의 스펙 chapter 05. URI의 설계 chapter 06. HTTP의 기본 chapter 07. HTTP 메서드 chapter 08. 스테이터스 코드 chapter 08. HTTP 헤더 HTTP 헤더의 중요성 헤더는 메시지의 바디에 대한 부가적인 정보, 즉 메타 데이터를 표현함 클라이언트와 서버는 헤더를 보고 메시지에 대한 동작을 결정함 리소스에 대한 접근권한을 설정하는 인증이나 클라이언트와 서버의 통신횟수와 양을 감소시키는 캐시 같은 HTTP의 기능을 헤더로 실현함 HTTP 헤더의 탄생 HTTP의 최초 버전인 0.9에는 헤더가 없었음. H..
[웹을 지탱하는 기술] chatper 08. 스테이터스 코드 [목차] chapter 01. 웹이란 무엇인가? chapter 02. 웹의 역사 chapter 03. REST 웹의 아키텍처 스타일 chapter 04. URI의 스펙 chapter 05. URI의 설계 chapter 06. HTTP의 기본 chapter 07. HTTP 메서드 chapter 08. 스테이터스 코드 스테이터스 코드의 중요성 HTTP의 스테이터스 코드는 클라이언트의 움직임을 좌우하는 중요한 역할을 담당 응답에 잘못된 스테이터스 코드를 할당해버리면 클라이언트가 혼동하여 시스템 전체의 동작에 지장을 초래함 스펙에서 정해진 스테이터스 코드의 의미를 바르게 이해하는 것이 중요함 스테이터스 라인의 복습 응답 메시지의 첫째 줄에 있는 스테이터스 라인은 프로토콜 버전, 스테이터스 코드, 텍스트 프레이즈..
[웹을 지탱하는 기술] chatper 07. HTTP 메서드 [목차] chapter 01. 웹이란 무엇인가? chapter 02. 웹의 역사 chapter 03. REST 웹의 아키텍처 스타일 chapter 04. URI의 스펙 chapter 05. URI의 설계 chapter 06. HTTP의 기본 chapter 07. HTTP 메서드 8개 밖에 없는 메서드 HTTP 메서드에는 클라이언트가 하고 싶은 처리를 서버에게 전달하는 중요한 임무가 있음. 그럼에도 HTTP 1.1은 8개의 메서드밖에 정의되지 않았음. 메서드 의미 GET 리소스 취득 POST 서버 리소스의 작성, 리소스 데이터의 추가, 그 밖의 처리 PUT 리소스 갱신, 리소스 작성 DELETE 리소스 삭제 HEAD 리소스의 헤더(메타 데이터) 취득 OPTION 리소스가 서포트하는 메서드의 취득 TRACE..
[웹을 지탱하는 기술] chapter 06. HTTP의 기본 [목차] chapter 01. 웹이란 무엇인가? chapter 02. 웹의 역사 chapter 03. REST 웹의 아키텍처 스타일 chapter 04. URI의 스펙 chapter 05. URI의 설계 chpater 06. HTTP의 기본 HTTP는 TCP/IP를 베이스로 한 프로토콜이다. 이 장에서는 TCP/IP 기초 지식과 HTTP의 간단한 역사를 알아본다. 그리고 HTTP의 메시지 구조와 프로톸로로서의 HTTP를 특정짓는 스테이트리스성 등에 대해서도 알아본다. HTTP의 중요성 RFC 2616에서 규정된 프로토콜. 1.1 버전이 규정되어 있음. 현시점에서는 최신 버전이며, 현재의 웹에서는 이 버전의 HTTP가 제일 많이 사용됨 → 확인 필요 이름과 다르게 HTML과 XML 같은 하이퍼텍스트 뿐만 ..
[웹을 지탱하는 기술] chapter 05. URI의 설계 [목차] chapter 01. 웹이란 무엇인가? chapter 02. 웹의 역사 chapter 03. REST 웹의 아키텍처 스타일 chapter 04. URI의 스펙 chapter 05. URI의 설계 이 장에서는 좋은 URI란 무엇인지 설명하고 좋은 URI를 설계하기 위한 방법과 힌트를 소개한다. 쿨(Cool)한 URI는 변하지 않는다 좋은 URI와 아름다운 URI를 가리켜 Cool URI라고 부른다. 이 용어의 기원은 웹의 발명자 팀 버너스-리가 1988년에 발표한 ‘Cool URIs don’t change’라는 웹 페이지다. 이 웹페이지가 발표된 당시에는 URI가 변경되는 것은 일상다반사였다. 북마크해둔 링크들이 시간이 지나면 유효하지 않게 되버렸다. 링크가 끊어져버린다는 것은 하이퍼미디어 시스템..
[웹을 지탱하는 기술] chapter 04. URI의 스펙 [목차] chapter 01. 웹이란 무엇인가? chapter 02. 웹의 역사 chapter 03. REST 웹의 아키텍처 스타일 chapter 04. URI의 스펙 일반적으로 URI의 설계와 구현을 웹 애플리케이션 프레임워크에 전적으로 맡겨버리는 사람도 많지만, URI 스펙을 바르게 이해하는 것은 쓰기 편한 웹 서비스와 웹 API로 가는 첫걸음이다. URI의 중요성 URI(Uniform Resource identifier)는 ‘리소스를 통일적으로 식별하는 ID’를 말함. 통일적 : 같은 규칙을 따름을 의미 식별자 : 어떤 것을 그 밖에 다른 것과 구별하여 가리키키위한 이름/ID URI를 사용하면 웹상에 존재하는 모든 리소스를 한결같은 방식으로 간단하게 접속할 수 있다. URI의 구문 URI의 스펙은 ..
[웹을 지탱하는 기술] chapter 03. REST 웹의 아키텍처 스타일 [목차] chapter 01. 웹이란 무엇인가? chapter 02. 웹의 역사 chapter 03. REST 웹의 아키텍처 스타일 01 아키텍처 스타일의 중요성 REST는 웹의 아키텍처 스타일. 아키텍처 스타일이 뭔데? (매크로) 아키텍처 패턴이라고도 함 복수의 아키텍처의 공통된 성질, 양식, 규정 혹은 독특한 방식을 가리키는 말 아키텍처를 설계할 때 참조할 수 있는 전형적 해결 방식 or 예제 MVC(Model-View-Controller), 파이프 앤 필터(Pipe and Filter), 이벤트 시스템(Event System) 등이 있음 [1과목-3장-021] 아키텍처 패턴 아키텍처를 설계할 때 참조할 수 있는 전형적 해결 방식 or 예제를 의미 - SW 시스템의 구조를 구성하기 위한 기본적 윤곽을..
[웹을 지탱하는 기술] chapter 02. 웹의 역사 [목차] chapter 01. 웹이란 무엇인가? chapter 02. 웹의 역사 01 웹 이전의 인터넷 인터넷의 기원은 1969년에 구축된 ARPANET(Advanced Research Project Agency가 구축한 네트워크)까지 거슬러 올라간다. ARPANET은 미국 내 대학과 연구기관 사이를 고속 회선으로 접속하고, 전 미국을 연결하는 네트워크로서 서서히 성장해갔음 웹 이전의 인터넷 환경은 1998년 프로그래밍 언어 C의 저자 브라이언 커니핸이 번역자 이시다 교수 앞으로 보낸 전자메일에서 엿볼 수 있다. 메일의 서식은 현재와 동일하지만 내용은 일본어임에도 모든 문자가 영문자와 숫자로 되어 있음 당시의 네트워크는 리얼 타임으로 상대와 통신하는 TCP/IP뿐만 아니라, 패킷 릴레이 방식의 UUCP에..