CS/네트워크

HTTP

chaev2ly 2025. 7. 22. 02:27

HTTP

HTTP는 분산 하이퍼미디어 환경에서 빠르고 간편하게 데이터를 전송하는 프로토콜이다. HTTP는 80번 포트를 사용하도록 정의한다. 따라서 HTTP 서버는 80번 포트에서 대기하고, 클라이언트는 TCP를 사용해 연결을 설정한다.

 웹 브라우저는 사용자가 요청하는 자원을 가르키는 URL 주소에 사용할 프로토콜을 표현한다. 즉, URL 주소의 첫 번째 부분을 사용해 서비스 유형을 표현한다.

 HTTP 명령에 해당하는 HTTP 메서드를 이용해 클라이언트가 서버에 요청을 전송하고, 반대로 서버에서 클라이언트로 문서 정보를 회신한다. 클라이언트가 서버에 요청할 때 GET 메서드를 사용하고, 클라이언트에서 서버로 회신할 때는 POST 메서드를 사용한다.


1. HTTP의 요청과 응답

HTTP 1.1 버전은 클라이언트의 요청과 서버의 응답에 의해 동작하는 아주 간단한 프로토콜이다. 동작 원리는 다음과 같다.

  • HTTP 클라이언트가 서버에 요청을 전송한다. 요청 내용에는 프로토콜 명령에 해당하는 요청 메소드, URL, GTTP 버전이 포함되며, 기타 클라이언트의 요청과 관련된 부가 정보도 포함한다.
  • HTTP 서버는 요청의 처리 결과를 의미하는 응답 코드가 포함된 상태 정보를 회신한다. 클라이언트가 요청한 결과물이나 기타 정보도 함께 회신한다.

1.1 비상태 연결

TCP 연결이 설정되면서 요청과 응답이 진행되고, 이후 TCP 연결이 해제되기 때문에 둘 사이에는 연결 존재에 따른 상태 정보가 존재하지 않는다. 따라서 HTTP는 비상태 프로토콜로 분류된다. 이런 단발성의 연결 방식은 웹 문서가 작고 간달할 때는 상관 없지만, 웹 문서의 내용이 복잡하면서 문제를 야기한다. 즉, 웹 문서 하나가 다양한 그림 정보나 데이터 파일과 연관되기 때문에 성능이 저하될 수 있다.

 

1.2 MIME 유사 메시지

HTTP의 요청/응답 메시지는 MIME 유사 구졸르사용해 데이터를 전송한다. 즉, 웹 브라우저에서 발생하는 모든 메시지는 MIME 개체와 거의 유사하게 표현되며, 서버에서 전송된 데이터도 IME 개체로 표현한다.

 

1.3 요청 메시지

클라이언트가 서버에 보내는 요청 메시지는 요청문, 헤더, 바디로 구성된다. 요청문의 내용은 요청 메서드, URL, HTTP 버전의 세 부분으로 구성된다. 요청 메서드에는 클라이언트가 서버에 실행을 요구하는 명령을 기술한다. 

 

1.4 응답 메시지

클라이언트로부터 요청 메시지를 수신한 서버는 해당 요구를 처리한 후에 그 결과를 응답 메시지 형식으로 회신한다. 응답 메시지의 구조는 요청 메시지와 거의 동일한데 요청문 대신에 처리 결과를 의미하는 상태문이라는 용어를 사용한다. 상태문의 내용은 HTTP 버전, 상태 코드, 상태 이름의 세 부분으로 구성된다.


 

'CS > 네트워크' 카테고리의 다른 글

네트워크 기기  (2) 2025.08.14
TCP/IP 4계층 모델  (1) 2025.08.14
네트워크의 기초  (5) 2025.08.11
TCP/IP 모델  (0) 2025.07.20
OSI 7계층  (5) 2025.07.20