-
http 프로토콜 본문
## 소포를 주고받을 때 전달하려는 내용물을 사자에 담고 상작 ㅓㅌ에 내용물에 대한 내용을 적어 보내는 것처럼 HTML 문서(즉, 웹 페이지)도 HTTP라는 방식의 상자를 이용해서 전송한다.
## HTTP는 Hypermedia Transfer Protocol의 약자로 웹 브라우저와 웹 서버가 HTML을 비롯해 이미지, 동영상, XML 문서 등 다양한 데이터를 주고받을 때 사용하는 일종의 규칙이다.
## HTTP는 크게 다음과 같이 두 가지 관점에서 규칙을 정의하고 있다.
- 요청규칙
: 웹 브라우저가 웹 서버에 html과 같은 것을 요청할 때 사용할 데이터 구성 규칙
- 응답규칙
: 웹 서버가 웹 브라우저에 HTML과 같은 것을 전송할 떄 사용할 데이터 구성 규칙
ex) 주소창에 http://www.daum.net을 입력하면,
요청 데이터
GET /HTTP/1.1
Host: www.daum.net
Connection: keep-alie
Accept: text/html
User-Agent: Mozilla/5.0 ...생략
Accept-Encoding: gzip, deflate, sdch
Accept-Languae: ko, en-US;q=0.8,en;q=0.6
웹 브라우저가 웹 서버로부터 무엇을 받고 싶은지 기술한다.
응답데이터
HTTP/1.1 200 OK
Date: Mon, 23, Apr 2018 22:35:39 GMT
Expires: ..
Content-Type:...
Content-Language:..
요청 데이터를 받은 웹 서버는 요청 데이터에 기술한 정보를 이용해서 웹 브라우저가요청한 것을 응답 데이터에 담아 보낸다.
## HTTP에서 요청 데이터와 응답 데이터는 크게 '요청/응답 줄', '헤더', '몸체' 세 개의 영역으로 구성된다.
구성 요소 |
요청 데이터 |
응답 데이터 |
요청/응답 줄 |
GET이나 POST와 같은 HTTP 요청 방식(method)과 요청하는 자원의 경로를 지정한다. |
요청에 대해 200이나 404같은 응답 코드를 전송한다. |
헤더 |
서버가 응답을 생성하는데 참조할 수 있는 정보를 전송한다. 예를 들어, 브라우저의 종류나 언어의 정보 등 |
응답에 대한 정보를ㅈ ㅓㄴ송. 응답의 몸체가 어떤 데이터인지, 길이는 어떻게 되는지 등에 대한 정보를 담는다. |
몸체 |
정보를 전송해야 할 때 사용한다. 예를 들어, 파일 업로드와 같은 기능을 사용하면 몸체 영역에 파일을 담아 웹 서버에 전송한다. |
웹 브라우저가 요청한 자원의 내용을 담는다. HTML 문서나 이미지 파일 데이터 등이 몸체 영역을 이용해서 전달된다. |
** 자원 : HTTP는 HTML 뿐만 아니라 이미지, 자바스크립트 코드 등 다양한 데이터를 전송하는데 사용되기 떄문에, 이들을 포괄적으로 지칭하기 위해 사용한 단어.
'웹' 카테고리의 다른 글
proto 파일 형식 공부 (0) | 2018.04.10 |
---|---|
Google Protocol Buffer - Linux에서 (0) | 2018.04.08 |
웹 공부. 간단한 질문들 (0) | 2017.12.18 |