| 1 | http://melancholy.tistory.com/254 |
| 2 | |
| 3 | |
| 4 | == Http Request == |
| 5 | |
| 6 | {{{ |
| 7 | GET / HTTP/1.1[CRLF] |
| 8 | Host: www.handstory.co.kr[CRLF] |
| 9 | Connection: close[CRLF] |
| 10 | Accept-Encoding: gzip[CRLF] |
| 11 | Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, |
| 12 | application/vnd.ms-powerpoint, application/vnd.ms-excel, a |
| 13 | pplication/msword, application/x-shockwave-flash, */*[CRLF] |
| 14 | Accept-Language: ko[CRLF] |
| 15 | User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; |
| 16 | .NET CLR 2.0.50727) Web-Sniffer/1.0.24[CRLF] |
| 17 | Referer: http://web-sniffer.net/[CRLF] |
| 18 | [CRLF] |
| 19 | }}} |
| 20 | |
| 21 | |
| 22 | == Http Response == |
| 23 | |
| 24 | {{{ |
| 25 | HTTP(Hyper Text Transfer Protocol) : 웹서버와 웹 클라이언트(웹 브라우저) 간의 통신을 위한 프로토콜 |
| 26 | |
| 27 | 웹 브라우저는 HTTP 프로토콜에 맞게 요청(Request)을 웹 서버에 전송하고, |
| 28 | |
| 29 | 웹 서버는 이에 따라 응답(Response)을 HTTP 프로토콜에 맞게 웹 브라우저에 전송한다. |
| 30 | |
| 31 | 이러한 요청과 응답은 크게 세 부분으로 구성되어 있다. 첫 번째 요청/응답 라인 부분, 두 번재는 헤더 부분 |
| 32 | |
| 33 | 세번째는 엔티티바디(Entity Body)부분이다 . |
| 34 | |
| 35 | 형태-HTTP요청 |
| 36 | <method><resource identifier><HTTP version><crlf> |
| 37 | [<header>: <value>] <crlf> |
| 38 | ``````````` |
| 39 | [<header>: <value>] <crlf> |
| 40 | <crlf> |
| 41 | [entity body] |
| 42 | 1. 웹 클라이언트는 미리 알려진 포트로 연결을 시도한다. 연결이 되면 웹 클라이언트는 HTTP 명령어, 문서 주소, |
| 43 | HTTP 버전 정보를 웹 서버에 전달한다. 다음 예는 index.html문서를 요청하기 위해서 GET 메소드를 사용하는 것을 보여준다. |
| 44 | 2. 요청 라인 다음 줄에 웹 클라이언트는 헤더 정보, 구성정보(Configuration Information). 받아들일 문서 포맷 등의 정보를 옵션으로 |
| 45 | 웹 서버에 전달한다. 모든 헤더 정보들은 한 줄에 하나씩 기술되며, 헤더 이름과 값으로 구성된다. 헤더 정보의 끝에는 공백 라인을 |
| 46 | 추가해서 헤더의 끝임을 알려준다. |
| 47 | 3. 요청과 헤더 정보를 보낸 다음에 웹 클라이언트는 추가적인 정보를 웹 서버에 보낼 수 있다. 보통 이런 데이터는 POST 방법으로 |
| 48 | 웹 서버에 전달한다. |
| 49 | |
| 50 | 예)-HTTP 요청 라인 |
| 51 | GET /index.html HTTP/1.0 |
| 52 | |
| 53 | 예)-헤더정보 |
| 54 | User-Agent: Mozilla/2.03Gold(WinNT: I) |
| 55 | Accept: text/html, img/gif |
| 56 | |
| 57 | 형태-HTTP응답 |
| 58 | <HTTP><result code> [<explanation>]<crlf> |
| 59 | [<header>: <value>] <crlf> |
| 60 | ``````````````````` |
| 61 | [<header>: <value>] <crlf> |
| 62 | <crlf> |
| 63 | [entity body] |
| 64 | }}} |