HTTP

theonde·2022년 11월 3일
0

미디어 타입

  • 인터넷은 수천 가지 데이터 타입을 다루기 때문에, HTTP는 웹에서 전송되는 모든 객체 각각에 MIME 타입이라는 데이터 포맷 라벨을 붙인다.

  • /으로 구분된 주 타입, 부 타입으로 이루어져 있다.

  • HTML: text/html

  • JPEG: image/jpeg

  • JSON: application/json

트랜잭션

  • 클라이언트와 서버는 HTTP 메시지라고 하는 정형화된 데이터를 이용해 통신한다.
클라이언트 요청 메시지: GET /leeseonseonje
           		  Host: github.com
                  
서버 응답 메시지: HTTP/1.1 200 OK
              Content-type: text/html
              Content-length: 250

여러 HTTP 객체

  • 애플리케이션은 보통 하나의 작업을 수행하기 위해 여러 HTTP 트랜잭션을 수행한다.

  • html을 가져오고, image등을 가져오기 위해 추가로 HTTP 트랜잭션들을 수행한다.

  • 이 리소스 들은 다른 서버에 위치할 수도 있다.

HTTP 메시지

  • 시작줄: 메시지의 첫 줄, 요청은 무엇을 요청하는지(메소드, 리소스, HTTP버전), 응답은 무슨일이 일어났는지(상태코드)를 나타낸다.

  • 헤더: 키 : 값 형태다. 헤더의 마지막 줄은 빈 줄로 끝난다.

  • 바디: 어떤 종류의 데이터든 들어갈 수 있다.

TCP

  • HTTP는 애플리케이션 계층 프로토콜이다. 네트워크 통신의 핵심적인 세부사항에 대해서 신경 쓰지 않는다. 대신 이 일을 TCP/IP가 수행한다.

  • HTTP 프로토콜은 메시지 데이터 전송을 위해 TCP를 사용한다.

  • IP와 포트번호를 이용해 통신한다.

  • 웹브라우저가 HTTP를 이용해서 통신하는 순서

1. 웹 브라우저는 서버의 URL에서 호스트 명 추출

2. 서버의 호스트 명을 IP로 변환

3. URL에서 포트번호를 추출

4. 웹 서버와 TCP 커넥션을 맺음

5. HTTP 요청 메시지 전송

6. HTTP 응답 메시지 수신

7. 커넥션 종료, 결과를 브라우저에 보여줌
profile
개발자ㅋ.ㅋ

0개의 댓글