월간 인기 게시물

게시물 111건
   
[HTTP 프로토콜] HTTP 동작 원리
글쓴이 : 최고관리자 날짜 : 2009-12-01 (화) 10:55 조회 : 16844
글주소 :
                             

 
* HTTP 통신 분석(동작 원리)
간단한 예를 통해 HTTP 1.1 의 동작 원리를 분석해 보겠습니다.
말씀 드렸듯이 HTTP 1.1 부터는 HTTP 연결 유지를 사용할 수 있습니다.
HTTP 1.1 의 연결 유지 측면에서의 동작원리를 파악해 보겠습니다.
(이전 버전의 HTTP 는 연결유지를 사용하지 않는 것과 동일한 방식으로 동작합니다)

테스트 시나리오>>
클라이언트는 웹 서버의 test.htm 파일을 요청한다.test.htm 은 이미지를 하나 포함하는 html 파일이다

① 연결 유지(Keep-Alive) 사용시.
서버 측 : HTTP 연결 유지 사용, 연결 유휴 시간 제한 120 초
클라이언트 측 : HTTP 연결 유휴 시간 60 초
(이 경우 더 작은 값 즉 클라이언트의 값이 사용되므로 1분 동안 연결 유지가 된다)
- 첫 요청


1 : 클라이언트와 웹 서버가 통신을 위한 소켓 연결을 맺는다
2 : 웹 서버의 test.htm 파일을 요청(Request) 하고 서버는 응답한다(200 OK)
3 : test.htm 파일에 포함되어 있는 test.gif 파일을 요청 하고 서버는 응답한다(200 ok)

- 두 번째 요청


1분 안에 두 번째 요청을 하였다.(클라이언트 웹 브라우저의 연결 유지 시간은 1분이다)
연결 유지를 사용하기 때문에 기존의 연결을 사용하여 리소스를 요청함을 알 수 있다.
응답 코드는 304 Not Modified 이다
(단, 1분이 지난 후에 다시 요청하면 연결을 다시 맺는걸 확인 할 수 있다)
- 이 요청에서의 HTTP 헤더 값


요청 헤더에서 클라이언트는 연결 유지를 사용함을 알 수 있다. 응답 헤더에서는 응답 후 연결을 해제 하는 헤더 값을 볼 수 없다.


② 연결 유지 사용하지 않을 시.
서버 측 : HTTP 연결 유지 사용 하지 않음.
클라이언트 측 : HTTP 연결 유휴 시간 60 초
(이 경우 더 작은 값 즉  서버 값이 사용되므로 연결이 유지 되지 않는다)
- 첫 요청


1 : 클라이언트와 웹 서버가 통신을 위한 소켓 연결을 맺는다
2 : 웹 서버의 test.htm 파일을 요청(Request) 하고 서버는 응답과 동시에
    연결을 해제 한다(응답코드는 [Close Connection] 에 포함되어 있다)
3 : test.htm 파일에 포함되어 있는 test.gif 파일을 요청하기 위해 다시 서버와 연결을 맺는다. 서버는 test.gif 파일을 
    응답하고 다시 연결을 해제 한다. 이 요청에서는 총 두 번의 연결/해제 과정이 있었다.
- 두 번째 요청 
 첫 요청과 동일한 과정이 일어 난다.  
- 이 요청에서의 HTTP 헤더 값


 요청하는 클라이언트는 연결 유지를 사용하고 있어도 웹 서버는 연결 유지를 사용하지 않기 때문에 응답 헤더에서
 Connection: Close 를 확인 할 수 있다. 즉 매 요청마다 연결/응답 과정이 일어 난다는 것을 알 수 있다


8. HTTP 요청/응답
아래의 그림은 HTTP 요청/응답 과정을 도식화 한 것입니다
(ex: test.htm 의 기본 문서를 요청한다. 이 기본문서는 이미지 파일 하나를 포함한다)
위의 과정 중  HTTP 연결 유지를 사용하였을 경우입니다


1.       Connection : 클라이언트는 요청 시 웹 서버와 새 소켓 연결을 한다
2.       Request     : 소켓 연결이 되었다면 실제 요청 자원을 Request 한다
3.       Response   : 2번 과정에서 요청한 자원에 대해 응답헤더와 본문 데이터를 클라이언트로 응답(전송)한다
4.       Request     : 2번 과정에서 요청한 파일이 이미지를 포함하고 있으면 그 이미지에 대해 다시 요청한다
5.       Response   : 4번 의 요청 리소스에 대한 응답을 한다 
                          (Connnection 은 유휴시간 1분이 경과되면 끊어질 것입니다)
 

이름 패스워드
비밀글 (체크하면 글쓴이만 내용을 확인할 수 있습니다.)
왼쪽의 글자를 입력하세요.
   

 



 
사이트명 : 모지리네 | 대표 : 이경현 | 개인커뮤니티 : 랭키닷컴 운영체제(OS) | 경기도 성남시 분당구 | 전자우편 : mojily골뱅이chonnom.com Copyright ⓒ www.chonnom.com www.kyunghyun.net www.mojily.net. All rights reserved.