HTTP란?

Ada·2023년 8월 17일

Jr.Dev Study

목록 보기
4/6

요약

  • 하이퍼 텍스트 전송 프로토콜의 약자

  • www(월드 와이드 웹)의 토대, 웹에서 이뤄지는 모든 데이터 교환의 기초

  • HTML 문서 등의 리소스들을 가져올 수 있도록 하는 프로토콜

  • 이론상으론 어떤 프로토콜이든 통신 가능하지만 연결이 필요하다면 신뢰 가능한 TCP를 사용함

특징

  1. HTTP은 상태는 없지만 세션은 있습니다
 HTTP는 stateless 방식으로, 두 개의 요청 사이에 연결 고리가 없음
 페이지와 상호작용이 필요할 때는 HTTP 쿠키가 추가되엇 세션을 만듦
 
  1. 메시지가 간결하고 이해하기 쉬워 진입장벽이 낮습니다.

  2. 요청에는 HTTP 버전 유형, URL, HTTP 메서드, HTTP 요청 헤더, 본문 등이 포함됩니다.

    HTTP 메서드 : GET, POST 등
    HTTP 요청 헤더 : 키-값 쌍으로 이루어진 텍스트 정보, 클라이언트가 사용하는 브라우저 및 요청 데이터 등의 핵심 정보 전달
    본문 : 아이디, 비밀번호 등 웹서버에 제출되는 모든 정보

factorio thumbnail HTTP 요청 헤더 예시

  1. 응답에는 HTTP 상태코드, HTTP 응답 헤더, 본문 등이 포함됩니다.

    본문 : 요청된 정보 포함, 웹 브라우저에서 웹 페이지로 변환되는 HTML 데이터

factorio thumbnail HTTP 응답 헤더 예시

특이한 메서드

클라이언트가 본문 없이 리소스에 대한 헤더만 검색하는 경우 사용
GET 과 동일한 응답을 요구하지만, 본문 없이 헤더값만 반환되어 서버의 상태를 빠르게 조회 가능
리소스 양에 대한 조회만 할 때 유용

OPTIONS

클라이언트와 서버가 통신하기 위한 통신 옵션을 확인하기 위해 사용
서버가 어떤 메소드, 헤더, content type을 지원하는지 확인 가능
CORS 동작에서 사용

  • 우선 OPTIONS 요청을 보낸 뒤 응답 정보 사용 가능 여부 확인,
  • 서버의 허가가 떨어지면 실제 요청 요구
  • 서버가 클라리언트에게 요청에 인증정보(쿠키,HTTP 인증 등)을 함께 보내야 한다고 알려줄 수 있음
  • 허용되지 않는 요청의 경우, 405(Method Not Allowed) 에러 발생, 실제 요청은 전송X

참고
https://developer.mozilla.org/ko/docs/Web/HTTP/Overview
https://www.cloudflare.com/ko-kr/learning/ddos/glossary/hypertext-transfer-protocol-http/
https://surprisecomputer.tistory.com/54

profile
백엔드 프로그래머

1개의 댓글

comment-user-thumbnail
2023년 8월 17일

유익한 자료 감사합니다.

답글 달기