네트워크 원리 _2

Bonnie Ryu·2020년 9월 7일
1

Network 🧳

목록 보기
2/3

✔지난시간 정리 : URL을 해독하고 해독한 URL의 요구에 따라 리퀘스트 메시지를 만들어 웹서버에 전송 -> 웹서버에서 받은 메시지를 또 해독하고 결과데이터가 든 응답 메세지를 만들어 클라이언트에게 반송 -> 클라이언트는 응답 메시지를 확인 🐢

지난시간에는 전체적인 흐름을 살펴보았다면,
오늘은 HTTP포맷, Request Message & Response Message에 대해 알아봅니다.
(책.. 일관성이 없어... 리퀘스트 메시지라고 하면서 받는 메시지는 응답메시지라고 함..😦)

🔷 HTTP 메시지 포맷

HTTP메시지 포맷 형식(Request Message & Response Message)

HTTP메시지는 서버와 클라이언트 간에 데이터가 교환되는 방식을 말한다.

  • 클라이언트(Client) -> 서버(Server) : Request Message
  • 서버(Server) -> 클라이언트(Client) : Response Message
    (HTTP메시지는 ASCII로 인코딩된 텍스트 정보이며 여러줄로 되어있다.)

HTTP 요청과 응답의 구조는 서로 닮았으며, 구조는 아래와 같다.

  • 시작줄(start-line)에는 실행되어야 할 요청 또는 요청 수행에 대한 성공, 실패가 기록됨.
  • 옵션으로 HTTP 메시지 헤더는 요청과 응답의 부가적인 정보를 나타낸다.
    행 수는 상황에 따라 달라지며 empty line까지 메시지 헤더가 된다.
  • empty line는 요청에 대한 모든 메타정보가 전송되었음을 알린다.
  • 메시지 본문(body)
    request message에 쓰는 URL은 하나뿐으로 복수의 파일을 읽을 때는 웹 서버에 별도의 request message를 보낸다.

🔷 HTTP Request Message

Request Line
[HTTP 메서드][URL] [HTTP버전]
POST / HTTP 1.1
GET /books HTTP/1.0
HEAD /test.html?query=corn HTTP/1.1

HTTP 메시지 헤더
대소문자 구분 없는 문자열 다음에 콜론(:)이 붙으며 그 뒤에는 헤더 값이 온다.
(각 필드 뜻은 책 참고 ㅇㅅㅇ)

메시지 본문(body)
메시지 내용은 클라이언트에서 서버에 송신하는 데이터(폼에 입력한 데이터를 POST메소드로 웹서버에 보낼 때 등에 데이터)가 들어간다.

🔷 Response Message

HTTP 응답의 시작 줄은 상태 줄(status line)이라고 불리며, 다음과 같은 정보를 갖고 있다.
프로토콜 버전 : 보통 HTTP/1.1
상태 코드 : 요청의 성공 여부를 나타냄 (200, 402, 302 ... )
상태 텍스트(응답 문구) : 짧고 간결하게 상태 코드에 대한 설명을 글로 나타내어 사람들이 HTTP 메시지를 이해할 때 도움이 됨

[프로토콜 버전][상태코드] [상태 텍스트]
HTTP/1.1 404 Not Found.

메시지 헤더

메시지 본문(body)
메시지 본문은 바이너리 데이터로 취급한다.

profile
Ryuwisdom

0개의 댓글