Transcript Body 요청 내용
HTTP 메시지 구조 • 요청 메시지 : 정보, 자료 요청 – 요청 라인, 헤더, 공백 라인, 본문으로 구성 • 응답 메시지 : 요청에 대한 응답 – 상태라인, 헤더, 공백라인, 본문으로 구성 요청 라인 상태 라인 헤더 (일반헤더 | 요청헤더 | 엔터티헤더) 헤더 (일반헤더 | 응답헤더 | 엔터티헤더) 공백 라인 공백 라인 엔터티 본문 (요청 메시지) 엔터티 본문 (응답 메시지) HTTP 요청 메시지 HTTP 응답 메시지 USN기반 융합 서비스 기술개발 요청 라인(Request Line) • 메소드 : 서비스 수행 기능 명시 • URL : 웹페이지 위치 정보 • HTTP 버전 : HTTP 프로토콜 버전 정보 (현재 v1.1) – <major>.<minor> 메소드 (요청 타입) 프로토콜 SP :// URL 호스트 주소 SP : 포트 번호 HTTP 버전 / CR LF 경로 USN기반 융합 서비스 기술개발 상태 라인 (Status Line) • HTTP 버전 : 응답 메시지에서 사용하는 HTTP 버전 • 상태 코드 : 요청 수락 및 수행 시도의 결과를 나타내는 3자 리의 십진수 코드 • 상태 설명 : 사용자를 위한 상태 코드의 설명 HTTP 버전 SP 상태 코드 SP 상태 설명 SP SP USN기반 융합 서비스 기술개발 상태 코드 • 상태코드의 첫번째 십진수 의미 – 1XX : 정보 – 2XX : 성공, 3XX :재전송 요구 – 4XX : 클라이언트 에러, 5XX : 서버 에러 • 승인된 상태코드 의미 코드 의미 코드 의미 코드 의미 200 OK 302 Found 404 Not Found 201 Created 304 Not Modified 500 Internal Server Error 202 Accepted 400 Bad Request 501 Not Implemented 204 No Content 401 Unauthorized 502 Bad GateWay 301 Moved Permanently 403 Forbidden 503 Service Unavailable USN기반 융합 서비스 기술개발 HTTP 요청 메시지의 예 GET /somdir/Page.html HTTP/1.1 Host: www.skku.edu Connection: Close User-agent: Mozilla/4.0 Accept-language: kr (Body 요청 내용) USN기반 융합 서비스 기술개발 HTTP 응답 메시지 HTTP/1.1 200 OK Connection: close Date: Thu, 03 Jul 2003 12:00:15 GMT Server: Apache/1.3.0 Last-Modified: Sun, 5 May 2003 09:23:24 GMT Content-Length: 6821 Content-Type: text/html (Body 요청 결과) USN기반 융합 서비스 기술개발 Proxy 설정 • Windows Internet Explorer Proxy 설정 – 도구-인터넷옵션-연결-LAN 설정 – Proxy 서버가 실행되고 있는 PC IP 주소를 기입 – 시스템에서 Internet Explorer가 클라이언트가 됨 USN기반 융합 서비스 기술개발 시스템 구조 HTTP 메시지 Windows Internet Explorer HTTP 메시지 HTTP Proxy Server HTTP 메시지 Web Server HTTP 메시지 • Proxy Server의 역할 및 동작 순서 – Internet Explorer로의 접속을 기다림 – 접속이 있으면 하나의 HTTP 메시지를 처리하기 위한 쓰레드 생성 • • • • • • Internet Explorer로부터 HTTP Request 메시지 수신 메시지 파싱 (호스트 네임 추출) 소캣 생성(웹서버 접속용) 호스트 네임의 웹서버에 접속(80포트) 웹서버에게 HTTP Request 전달 웹서버로부터 HTTP Reply 수신 (HTTP 메시지 파싱 메시지를 다 받아는지 체크를 위 해) • 클라이언트에게 HTTP Reply 전달 • 소캣 닫기 USN기반 융합 서비스 기술개발 참고사항 • Internet Explorer와 Proxy 서버가 같은 PC에서도 동작이 가능함 – Internet Explorer의 Proxy 서버 설정시 로컬 PC의 IP 주소 입력 • Proxy 서버 디버깅 – 쓰레드 함수에 Breakpoint를 설정 후 디버깅 시작(F5) – 디버깅 시작 후에 Internet Explorer를 실행시켜에 디버깅을 할 수 있음 USN기반 융합 서비스 기술개발