CS/네트워크

[네트워크] HTTP의 이해2: HTTP Request-Response Messages

2021. 2. 6. 23:16
목차
  1. HTTP 요청-응답 메시지
  2.  
  3. HTTP 요청 메시지
  4.  
  5. HTTP 응답 메시지
  6. 참조

HTTP 요청-응답 메시지

브라우저에 URL을 입력하면 HTTP 표준에 따라 URL을 요청 메시지로 변환하고 TCP/IP를 사용하여 인터넷을 통해 요청을 보낸다. 웹 서버는 요청을 수신하고 클라이언트가 요청한 웹 페이지를 반환(response)한다.

 

HTTP Request-Response Messages

 

HTTP 요청 메시지

서버가 요청 메시지를 수신하면 다음 중 하나가 발생한다.

 

1) 요청을 문서 디렉토리 아래의 파일에 매핑하고 파일을 브라우저에 반환한다.

2) 요청을 내부 프로그램에 매핑한 다음 프로그램을 실행하고, 프로그램의 출력을 클라이언트에 반환한다.

3) 요청이 충족되지 않으면 오류 메시지를 반환한다.

 

요청 메시지는 크게 요청 라인(Request Line), 요청 헤더(Request Headers), 공백 라인(A blank line), 요청 바디(Requset Message Body)로 나뉜다.

 

① 요청 라인: HTTP Method, Web page, HTTP version

② 요청 헤더: Host, Accept, User-Agent, Cokie, Referer

  • Host: 클라이언트가 요청한 도메인 정보
  • Accept: 웹 서버로부터 수신되는 데이터 중 웹 브라우저가 처리할 수 있는 데이터의 형식 정의
  • User-Agent: 사용자 웹 브라우저 종류 및 버전 정보
  • Cookie: 클라이언트 로컬에 저장되는 key-value쌍의 데이터 파일
  • Referer: 경유한 웹 사이트에 대한 정보

③ 공백 라인: 요청 헤더와 요청 바디를 구분하는 라인

④ 요청 바디: 클라이언트가 서버에 실제 요청한 내용

 

(아래 사진은 GET요청인데 Request Body에 데이터가 들어가있다. 없는 것으로 생각하자.)

HTTP Request Message Format

 

HTTP 응답 메시지

브라우저는 응답 메시지를 수신하고 해석한 후에 브라우저 창에 메시지 내용을 표시한다.

 

응답 메시지는 크게 상태 라인(Status Line), 응답 헤더(Response Headers), 공백 라인(A blank line), 응답 바디(Requset Message Body)로 나뉜다.

 

① 상태 라인: HTTP Version, Status Code

② 응답 헤더: Date, Server, Content-Type, Last-Modified

③ 응답 바디: 실제 응답받은 메시지(데이터)

 

HTTP Response Message Format

 

참조

sasi-kala.com/blog/rails-internals-series-1

documentation.help/DogeTool-HTTP-Requests-vt/http_request.htm

blog.naver.com/allstar927/90161809512

저작자표시 비영리 (새창열림)

'CS > 네트워크' 카테고리의 다른 글

[네트워크] HTTP의 이해3: HTTP Terminologies  (0) 2021.02.14
[네트워크] HTTP의 이해1: Client-Server Model, HTTP Protocol  (0) 2021.02.06
[네트워크] TCP/IP  (0) 2021.02.06
[네트워크] URL의 이해 - protocol, host, port, path, query  (0) 2021.01.29
  1. HTTP 요청-응답 메시지
  2.  
  3. HTTP 요청 메시지
  4.  
  5. HTTP 응답 메시지
  6. 참조
'CS/네트워크' 카테고리의 다른 글
  • [네트워크] HTTP의 이해3: HTTP Terminologies
  • [네트워크] HTTP의 이해1: Client-Server Model, HTTP Protocol
  • [네트워크] TCP/IP
  • [네트워크] URL의 이해 - protocol, host, port, path, query
코택
코택
코택
TaxFree
코택
전체
오늘
어제
  • 분류 전체보기 (369)
    • Spring (29)
      • Spring (18)
      • 스프링 핵심 원리 - 고급편 (11)
    • Spring Batch (4)
    • JPA (4)
    • CS (89)
      • 자료구조 (2)
      • 네트워크 (5)
      • 운영체제 (1)
      • 데이터베이스 (4)
      • SQL (7)
      • 알고리즘 이론 (4)
      • 알고리즘 문제 풀이 (66)
    • 웹 (28)
      • React.js (4)
      • Next.js (1)
      • Node.js (14)
      • FastAPI (4)
      • Django (5)
    • 프로그래밍 언어 (45)
      • Python (5)
      • Java + Kotlin (29)
      • JavaScript + TypeScript (11)
    • 테스트코드 (26)
      • ATDD, 클린 코드 with Spring (4)
      • 이규원의 현실 세상의 TDD: 안정감을 주는 코드.. (20)
    • 인프라 (6)
      • AWS (2)
      • Kubernetes (4)
    • 트러블슈팅 (25)
    • 책 (89)
      • Effective Java (54)
      • Effective Kotlin (14)
      • 도메인 주도 개발 시작하기: DDD 핵심 개념 정.. (11)
      • 웹 프로그래머를 위한 데이터베이스를 지탱하는 기술 (6)
      • 도메인 주도 설계 첫걸음 (4)
    • Git (10)
    • 회고 (5)
    • etc (8)

블로그 메뉴

  • 홈
  • 방명록
  • 관리
  • GitHub
  • LinkedIn

공지사항

  • 스킨 관련

인기 글

태그

  • Git
  • mysql
  • fastapi
  • atdd
  • BOJ
  • 그래프
  • 브루트포스
  • dp
  • 깊이 우선 탐색
  • http
  • 그래프 탐색
  • Shortest Path
  • 파이썬
  • 백준
  • 장고

최근 댓글

최근 글

hELLO · Designed By 정상우.
코택
[네트워크] HTTP의 이해2: HTTP Request-Response Messages
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.