TIL_HTTP

박성훈·2022년 8월 5일
0

백엔드

목록 보기
4/13
post-thumbnail

💡 HTTP Message

클라이언트와 서버 사이에서 데이터가 교환되는 방식

HTTP Message는

  • 요청 (Requests)
  • 응답 (Responses)

두가지 유형으로 나뉘어진다.

요청과 응답은 위의 사진처럼 유사한 구조를 가진다.

🔍 요청 (Requests)

  1. start-line : 요청의 상태 (메소드 + URL)
	- origin형식 : '?'와 쿼리 문자열이 붙는 절대 경로. HTTP 메소드와 함께 사용.
   	(HEAD /test.html?query=alibaba HTTP/1.1)
    
    - absolute 형식 : 완전한 URL형식으로, 프록시에 연결하는 경우 대부분 GET method와 함께 사용
	(GET http://developer.mozilla.org/en-US/docs/Web/HTTP/Messages HTTP/1.1)
    
    - authority 형식 : 도메인 이름과 포트 번호로 이루어진 URL의 일부분. Connect와 함께 사용
    (CONNECT developer.mozilla.org:80 HTTP/1.1)
    
    - aeterisk 형식 : OPTIONS 와 함께 * 하나로 서버 전체를 표현
    (OPTIONS * HTTP/1.1)
  1. HTTP Headers : 요청을 지정하거나, 메세지에 포함된 본문을 설명하는 헤더의 집합
	- Request Headers : fetch를 통해 가져올 리소스나 클라이언트 자체에 대한 자세한 정보를 포함하는 헤더
    - General headers : 메시지 전체에 적용되는 헤더로, body의 데이터와는 무관
    - Entity headers : 지금은 Representation headers로 불리며, body에 담긴 리소스의 정보를 포함하는 헤더
  1. empty line : 헤더와 본문을 구분
  2. body : 요청에 대한 데이터

🔍 응답 (Responses)

  1. status-line : 응답의 상태 (상태코드)
	- 200 : 성공
    - 300 : 리디렉션
    - 400 : 실패 (클라이언트 측 잘못)
    - 500 : 실패 (서버 측 잘못)
  1. HTTP Headers : 메세지에 포함된 본문을 설명하는 헤더의 집합
	 - General headers : 메시지 전체에 적용되는 헤더로, body의 데이터와는 무관
     - Response Headers : 위치 또는 서버 자체에 대한 정보(이름, 버전 등)와 같이 응답에 대한 부가적인 정보를 갖는 헤더
     - Entity headers : 지금은 Representation headers로 불리며, body에 담긴 리소스의 정보를 포함하는 헤더
  1. empty line : 헤더와 본문을 구분
  2. body : 요청에 대한 데이터를 body에 실어서 전달한다.

📌 Stateless (무상태성)

HTTP로 클라이언트와 서버가 통신을 주고 받는 과정에서 HTTP가 클라이언트나 서버의 상태를 추적하고 확인하지 않는다. 추후, 다시 다둘 예정이니 일단, Stateless가 HTTP의 가장 대표적인 특징이라고만 알아두자.

profile
프론트엔드 학습일지

0개의 댓글

관련 채용 정보