inblog logo
|
{CODE-RYU};
    HTTP

    HTTP(HyperText Transfer Protocol)

    Jan 11, 2024
    HTTP(HyperText Transfer Protocol)
    Contents
    Request HeaderResponse HTTP
     
    HTTP는 웹 상에서 데이터를 주고받기 위한 프로토콜 중 하나이다. HTTP는 클라이언트와 서버 간의 통신을 담당하여 웹 페이지의 요청과 응답을 처리한다.
     
    notion image
     
    클라이언트가 웹 서버에게 자료를 요청한다. 이때 클라이언트는 브라우저(크롬, 익스플로어) 등을 이용해 URL 을 입력한다.
    예를 들어 http://www.abcd.com/USER/login.html 을 입력하게 되면 웹서버에 login.html 파일을 요청한 것이다.
     
    이 과정을 HTTP 요청 메서드라고 한다.
    요청을 할때 요청 데이터가 전송되는데 다음과 같다.
     
     
    notion image
    출처 : https://developer.mozilla.org/ko/docs/Web/HTTP/Messages
     

    Request Header

     
    notion image
    요청 데이터는 헤더와 바디를 가지고 있다. 헤더는 명령을 수행할 메서드가 있다. 그림에서는 POST 메서드를 가지고 있다. 그리고 출발지의 IP 주소와 URL 을 가지고 있다. 요청인 경우는 바디값은 없다.
     

    Response HTTP

     
    notion image
    요청 HTTP 의 헤더에는 각 호스트의 IP 가 표기되고 MIME 이 표시된다.
    MIME 은 바디 데이터의 확장자를 의미한다. 사진에는 html 확장자로 표기되어 있다.
    그리고 바이트 단위로 조각난 데이터를 다시 인코딩해야할 때도 필요한게 charset이다.
    charset(Charactor set) 로 컴퓨터 시스템에서 문자를 저장하기 사용되는 특정한 문자열의 집합이다. 보통 UTF-8 을 사용하고, 그림에서는 iso-8859-1 를 사용한다.
    바디에는 요청한 데이터의 내용이 포함된다.
     
     
    💡
    HTTP 통신은 요청이 오면 응답을 하고 통신이 종료되기 때문에 반이중 통신이다. Stateless 라고도 하며 클라이언트의 상태를 관리하지 않기 때문에 확장성과 유연성이 높아질 수 있다. 반대로 클라이언트와 서버의 연결을 유지하는 것은 Stateful 이라고 한다.
     
    Share article

    {CODE-RYU};

    RSS·Powered by Inblog