클라이언트(브라우저)와 웹서버간의 통신시, 클라이언트는 웹서버에 request(요청) 메세지를 보내고 웹서버는 response(응답)메세지를 보낸다.


request 메시지 구성 :

 <메소드><공백><URI><공백><HTTP 버전>

 리퀘스트 라인 , 대략적인 리퀘스트 내용을 알 수 있다.

 <필드명> : <필드값>
"
"
"

 메시지 헤더 , 클라이언트의 정보나 사용 언어 종류등 리퀘스트의 부가적인 정보를 포함한다

 <메시지 본문>

 POST 메소드로 전송 시 송신 되는 데이터

메소드 

클라이언트가 서버에 어떤 요청을 보낼것인지에 대한 명세. GET,POST,HEAD등이 있다. GET은 지정한 정보를 얻기 위한 방식이고 POST는 데이터를 송신하는 경우에 사용한다. GET방식으로 데이터를 송신시에는 URI에 포함되어 전송되고, POST에 전송시에는 메시지 본문에 포함되어 전송된다. 많은 양의 데이터를 전송시에는 POST가 적합하다.

그 외에 서버의 파일을 삭제하는 DELETE 메소드나 서버에 파일을 치환하거나 새로 생성하는 PUT 메소드등이 있는데 이를 통해 웹서벌 파일 서버와 유사하게 구현할 수도 있다.

reponse 메시지 구성 : 

 <HTTP 버전><공백><스테이터스 코드><공백><응답문구>

 스테이터스 라인, 응답의 상태를 알 수 있다.

 <필드명> : <필드값>
"
"
"

 메시지 헤더 , 서버 정보나 사용 언어 종류등 리스폰스의 부가적인 정보를 포함한다

 <메시지 본문>

 요청의 응답으로 전송하는 데이터(텍스트나 바이너리 데이터 등)

스테이터스 코드 

요청에 대한 결과의 상태를 표시하며 숫자로 나타난다. 대표적인 스테이터스 코드는 다음과 같다.   

1XX : 처리의 경과 상황 등을 통지

2XX : 정상 종료

3XX : 다른 조치가 필요함을 나타낸다.

4XX : 클라이언트 측 오류

5XX : 서버 측 오류

웹페이지의 요청 시 응답 메시지의 메시지 본문에 HTML코드가 삽입되어 전송되는데, 코드 내에 이미지나 동영상과 같은 영상의 출력을 요청하는 태그가 있을 시, 이를 요청하는 리퀘스트 메시지를 전송하게 된다.

즉 요청한 페이지에 이미지 파일이 하나 포함되어 있다면, 페이지를 요청하는 리퀘스트 메시지, 페이지에 포함되어있는 이미지를 요청하는 리퀘스트 메시지, 총 2번의 메시지를 요청하고 응답하게 된다.

 

+ Recent posts