[HTTP] 크롬으로 HTTP 요청과 응답 메시지 구조 파악하기

    HTTP 요청과 응답 메시지는 단순한 줄 단위의 문자열이다. 이진 형식이 아닌 일반 텍스트이기 때문에 사람이 읽고 쓰기 쉽다.


    웹 클라이언트에서 웹 서버로 보낸 HTTP 메시지를 요청 메시지라 하고 서버에서 클라이언트로 가는 메시지는 응답 메시지라 부른다. 그 외에 다른 메시지는 없다.



    HTTP의 메시지의 구조는 시작, 헤더, 본문으로 이루어져 있다.



    크롬으로 구조 파악하기


    크롬 브라우저에서 F12를 눌러 보면 아래와 같은 화면이 뜬다. 그리고 빨간색 상자대로 화면을 이동시켜보자



    첨에 사이트 들어가고 F12 를 눌르고 Network탭에 들어가면 아무것도 없는데 F5를 눌러 새로고침을 하면된다. 그리고 왼쪽 Name에서 가장 위쪽에 있는걸 누르고 Header를 보면 된다.


    그러면 응답(Response)/요청(Request) 메시지가 나오는데 시작줄하고 헤더를 확인 할 수있다.



    다음 으로 본문 확인은 Response 탭에서 확인 할 수있는데 이것은 응답메시지의 본문(body)이다.



    위 사진에서는 응답 메시지의 본문 밖에 없는데 요청 메시지의 본문은 어딨냐고 물어볼 수 있다. 요청 메시지의 시작줄을 보면 GET인데 이 GET은 메서드 이다. 메서드는 서버에게 무엇을 해야 하는지 말해준다. GET 메서드는 본문이 없고 본문이 있는 메서드는 POST이다.  그래서 GET 메서드로 요청 메시지를 보냈기 때문에 본문이 없다.


    Get방식은 서버에서 문서를 가져오는 것이며, POST 메서드는 서버가 처리해줬으면 하는 데이터를 보내는 것이다.



    시작줄, 헤더, 본문 특징


    시작줄

    메시지의 첫 줄은 시작줄로, 요청이라면 무엇을 해야 하는지 응답이라면 무슨일이 일어났는지 나타낸다.


    헤더

    시작줄 다음에는 0개 이상의 헤더 필드가 이어진다. 각 헤더 필드는 쉬운 구문분석을 위해 쌍점(:)으로 구분되어 있는 하나의 이름과 하나의 값으로 구성된다. 헤더 필드를 추가하려면 그저 한 줄을 더하기만 하면 된다. 헤더는 빈 줄로 끝난다.


    본문(body)

    빈 줄 다음에는 어떤 종류의 데이터든 들어갈 수 있는 메시지 본문이 필요에 따라 올 수 있다. 요청의 본문은 웹 서버로 데이터를 실어 보내며, 응답의 본문은 클라이언트로 데이터를 반환한다. 문자열이며 구조적인 시작줄이나 헤더와 달리, 본문은 임의의 이진 데이터를 포함할 수 있으며, 텍스트도 포함할 수 있다.







    댓글

    Designed by JB FACTORY