1장은 대체로 HTTP에 대해서 얕게 훑은 형식의 워밍업 챕터이다. 이해하기 쉬운 용어와 친절한 설명으로...........
웹 애플리케이션, 서버, 웹브라우저 등은 모두 HTTP(HyperText Transfer Protocol)을 통해 대화
이때, HTTP는 신뢰성 있는 데이타 전송 프로토콜을 사용 -- 데이타 유실이나 왜곡에 안전함
웹 서버(HTTP 서버)에 인터넷에 데이타를저장하고, 클라이언트가 이로 데이타 요청을 함 !
이를테면, 클라이언트가 웹 브라우저 상에서 http://www.asdf.com/index.html 을 입력하면,
www.asdf.com 서버로 HTTP 요청을 보내어 index.html 이라는 리소스를 가져올것을 기대함.
웹 리소스 ?
정적 파일(텍스트파일, HTML 파일, JPEG 등 ), 동적 리소스(라이브 영상, 실시간 변하는 주식 데이타 등)
- 미디어 타입 : HTTP는 웹에서 전송되는 객체에 MIME 타입이라는 데이타포맷라벨을 붙임, 이를 통해 웹브라우저는 응답으로 부터 다룰 수 있는 데이타인지 판단함
Content-type : image/jpeg --> MIME 타입 (주타입/부타입), ex. text/html, image/gif ...
- URI : Uniform Resource Identifier , http://www.asdf.com/index.html 는 www.asdf.com에 있는 index.html 이란 리소스에 대한 URI 임
URL, URN 이 있음
HTTP 트랜잭션 ?
HTTP 트랜잭션은 ,요청과 응답으로 이루어짐
- 요청명령에는 여러가지 메서드가 있음 GET,PUT,DELETE,POST,HEAD ... 등 ( 추후 자세히 다룸 3장)
- 응답에는 상태코드가 함께 반환됨 200, 203, 404 등...
웹페이지는 여러 트랜잭션을 수행하여 가져오게됨, 여러 리소스의 모음이며 각 리소스는 각기 다른 서버에 위치할 수 있다.
메시지 ?
이진형식이 아닌 텍스트 형식으로 읽고 쓰기 쉬움
HTTP 메시지는 시작줄 / 헤더 / 본문(바디) 으로 구성됨. 본문에는 이진 데이타를 포함(이미지, 음성 등)할 수 있다.
Request
시작줄 GET /tool.html HTTP/1.1
헤더 User-agent : Mozilla/4.75 .....
Host: www.asdf.com
Accept : text/html, image/gif
Accpet-language: en
Response
시작줄 HTTP/1.1 200 OK
헤더 bla~bla~
Content-length:408
Content-type : text/html
바디 <HTML>
....
</HTML>
TCP 커넥션?
웹브라우저는 서버의 URL에서 호스트명 추출 -> IP로 변환 -> 포트번호 추출 -> 웹서버와 TCP 커넥션 ->HTTP 요청 -> 서버 응답 -> 커넥션이 닫히고 브라우저로 리턴
'Development > HTTP' 카테고리의 다른 글
HTTP 메시지 헤더에 대해 조금 더 . . . (1) | 2016.07.21 |
---|---|
HTTP 메시지 - 메서드 (0) | 2016.07.20 |
3. HTTP 메시지 - 기본 구조 (0) | 2016.07.20 |
2. URL과 리소스 - URL 단축과 확장, 설계 (0) | 2016.07.17 |
2. URL과 리소스 - URL 문법 (0) | 2016.07.15 |