[HTTP 웹 기본 지식] HTTP 메시지

khyojun·2022년 10월 20일
0

http기본

목록 보기
5/6
post-thumbnail

본 게시글은 김영한님의 HTTP 웹 기본 지식 강의를 보고 정리한 글입니다.


📌 HTTP 메시지

HTTP 통신을 한다고 우리는 알고 있었다. 그렇다면 이런 수신과 발신의 관계를 당연히 할 것인데 이를 HTTP 메시지를 활용하여 한다고 한다. 어떤 것인지 한 번 알아보자.

정말 이 그림 하나로 설명이 가능할까? 가능하다! 하나씩 파헤쳐보자.,

우선 위에부터 하나씩 Request 즉 요청을 보냈을때의 메시지부터 하나씩 보자.

✔ 요청

주소 요청은 URL: http://google.com/search?q=hello&hl=ko 이라고 한다.
그리고 HTTP Method: GET, HTTP 버전: HTTP/1.1 이다.

Start-line

  • HTTP Method : GET
  • Request-Line : search?q=hello&hl=ko
  • HTTP Version : HTTP/1.1
    이렇게 구성이 된다.

GET /search?q=hello&hl=ko HTTP/1.1 이렇게 start-line이 구성이 될 거다.

그리고 각각은 다음과 같은 값을 지닐 수 있다.

HTTP Method: GET,POST,PUT, DELETE, PATCH..... 이 존재한다.
Request-Line: 절대경로"/"로 시작하는 경로이다. 그러니까 중간에 도메인 뒤 / 부터 시작하는 부분이라고 보면 된다.
HTTP Version: HTTP의 버전이 오는 곳이다.

HTTP header
헤더 부분은 미리 말하지만 되게 다른 곳에 비해서 많이 들어간다. 표준 헤더가 진짜 엄청 많다.
다 찾아보려면 구글링을 하는 것을 추천한다. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers 이곳을 참고하면 좋을 거 같다. 그치만 일단 가장 많이 나오는 헤더에 대해서는 알아보자.

Cache-Control, Connection, Date, Pragma, Trailer, Transfer-Enco, Upgrade, Via, Warning가 있고 Request Header에는 Accept, Accept-Charset, Accept-Encoding, Accept-Language, Authorization, Expect, From, Host, If-Match, If-Modified-Since, If-None-Match, If-Range, If-Unmodified-Since, Max-Forwards, Proxy-Authorization, Range, Referer, TE, User-Agent등이 있고 Entity Header에는 Allow, Content-Encoding, Content-Language, Content-Length, Content-Location, Content-MD5, Content-Range, Content-Type, Expires, Last-Modified, extension-header가 있다.

뭐 이정도? 되게 많다. 간단하게만 보면 Content-Type : text/html;charser=UTF-8, Content-Length: 3423 이렇게 2개는 무조건 거의 들어가서 자주 볼수 있는 헤더항목일 것이다.

body
여기에는 일반적으로 실제 전송할 수 있는 데이터들이 온다.

  • HTML 문서
  • 이미지, 영상 등 정적 이미지
  • JSON 등등 byte로 표현할 수 잇는 모든 데이터 전송 가능

✔ 응답

Start-line

  • HTTP Version : HTTP/1.1
  • status-line : http의 상태코드를 나타낸다.

    HTTP 상태코드: 요청 성공, 실패를 나타낸다.

  • 200 : 성공
  • 300 : 리다이렉트
  • 400 : 클라이언트 오류
  • 500 : 서버 내부 오류

이렇게 구성이 된다.

GET /search?q=hello&hl=ko HTTP/1.1 이렇게 start-line이 구성이 될 거다.

HTTP header

요청과 동일

body

요청과 동일

출처

  1. 김영한님의 모든 개발자를 위한 HTTP 웹 기본 지식(https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC)
profile
코드를 씹고 뜯고 맛보고 즐기는 것을 지향하는 개발자가 되고 싶습니다

0개의 댓글