웹 서버는 웹 리소스를 관리하고 제공
웹 리소스의 종류
가장 간단한 웹 리소스는 웹 서버 파일 시스템의 정적 파일이다.
동적 컨텐츠 리소스는 사용자가 누구인지, 어떤 정보를 요청했는지, 몇 시인지에 따라 다른 콘텐츠를 생성한다.
미디어 타입
인터넷은 수천 가지 데이터 타입을 다루기 때문에, HTTP는 웹에서 전송되는 객체 각각에 신중하게 MIME(Multipurpose Internet Mail Extensions, 다목적 인터넷 메일 확장) 타입이라는 데이터 포맷 라벨을 붙여서 사용한다.
MIME이란 원래 각기 다른 전자메일 시스템 사이에서 메세지가 오갈 때 겪는 문제점을 해결하기 위해 설계되었는데 워낙 잘 동작했어기 때문에, HTTP에서도 멀티미디어 콘텐츠를 기술하고 라벨을 붙이기 위해 채택 되었음.
HTTP 트랜잭션은 요청 명령(클라이언트가 서버로 보내는)과 응답 결과(서버가 클라이언트에게 돌려주는)로 구성
메서드
HTTP는 HTTP 메서드라고 불리는 여러 가지 종류의 요청 명령을 지원 함.
모든 HTTP 요청 메세지는 한 개의 HTTP 메서드를 가진다.
HTTP 메서드 | 설명 |
---|---|
GET | 서버에서 클라이언트로 지정한 리소스를 보내라. |
PUT | 클라이언트에서 서버로 보낸 데이터를 지정한 이름의 리소스로 저장하라. |
DELETE | 지정한 리소스를 서버에서 삭제하라. |
POST | 클라이언트 데이터를 서버 게이트웨이 애플리케이션으로 보내라. |
HEAD | 지정한 리소스에 대한 응답에서, HTTP 헤더 부분만 보내라. |
상태 코드
- 모든 HTTP 응답 메세지는 상태 코드와 함께 반환된다.
- 상태 코드는 클라이언트에게 요청이 성공했는지 아니면 추가 조치가 필요한지 알려주는 세 자리 숫자
HTTP 상태코드 | 설명 |
---|---|
200 | 좋다. 문서가 바르게 반환되었다. |
302 | 다시 보내라. 다른 곳에 가서 리소스를 가져가라. |
404 | 없음. 리소스를 찾을 수 없다. |
웹 페이지는 여러 객체로 이루어질 수 있다
애플리케이션은 보통 하나의 작업을 수행하기 위해 여러 HTTP 트랜잭션을 수행한다.
예를 들어, https://www.naver.com 으로 HTTP 요청을 보내면 HTML '뼈대'를 한 번의 트랜잭션으로 가져온 뒤, 첨부된 이미지, 그래픽 조각, 자바 애플릿 등을 가져오기 위해 추가로 여러 HTTP 트랜잭션들을 수행한다.
잘 정리하셨네요. 책에 있는 이미지는 대부분 https://www.oreilly.com 사이트에서 제공하더라구요. 참고하시면 글 작성하실 때 도움될 것 같습니다.