http://melancholy.tistory.com/254 == Http Request == {{{ GET / HTTP/1.1[CRLF] Host: www.handstory.co.kr[CRLF] Connection: close[CRLF] Accept-Encoding: gzip[CRLF] Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, a pplication/msword, application/x-shockwave-flash, */*[CRLF] Accept-Language: ko[CRLF] User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727) Web-Sniffer/1.0.24[CRLF] Referer: http://web-sniffer.net/[CRLF] [CRLF] }}} == Http Response == {{{ HTTP(Hyper Text Transfer Protocol) : 웹서버와 웹 클라이언트(웹 브라우저) 간의 통신을 위한 프로토콜 웹 브라우저는 HTTP 프로토콜에 맞게 요청(Request)을 웹 서버에 전송하고, 웹 서버는 이에 따라 응답(Response)을 HTTP 프로토콜에 맞게 웹 브라우저에 전송한다. 이러한 요청과 응답은 크게 세 부분으로 구성되어 있다. 첫 번째 요청/응답 라인 부분, 두 번재는 헤더 부분 세번째는 엔티티바디(Entity Body)부분이다 . 형태-HTTP요청 [
: ] ``````````` [
: ] [entity body] 1. 웹 클라이언트는 미리 알려진 포트로 연결을 시도한다. 연결이 되면 웹 클라이언트는 HTTP 명령어, 문서 주소, HTTP 버전 정보를 웹 서버에 전달한다. 다음 예는 index.html문서를 요청하기 위해서 GET 메소드를 사용하는 것을 보여준다. 2. 요청 라인 다음 줄에 웹 클라이언트는 헤더 정보, 구성정보(Configuration Information). 받아들일 문서 포맷 등의 정보를 옵션으로 웹 서버에 전달한다. 모든 헤더 정보들은 한 줄에 하나씩 기술되며, 헤더 이름과 값으로 구성된다. 헤더 정보의 끝에는 공백 라인을 추가해서 헤더의 끝임을 알려준다. 3. 요청과 헤더 정보를 보낸 다음에 웹 클라이언트는 추가적인 정보를 웹 서버에 보낼 수 있다. 보통 이런 데이터는 POST 방법으로 웹 서버에 전달한다. 예)-HTTP 요청 라인 GET /index.html HTTP/1.0 예)-헤더정보 User-Agent: Mozilla/2.03Gold(WinNT: I) Accept: text/html, img/gif 형태-HTTP응답 [] [
: ] ``````````````````` [
: ] [entity body] ... }}}