2023.08.28 - [Computer Science/Network] - HTTP와 HTTPS

 

HTTP와 HTTPS

HTTP HTTP는 HyperText Transfer Protocol 의 약자로 클라이언트와 서버 간 통신을 위한 통신 규칙 세트 또는 프로토콜이다. 프로토콜이란 컴퓨터 네트워크나 통신 시스템에서 데이터를 주고받는 데 사용

woojoham.tistory.com

해당 글에서 HTTP에 대해서 알아보았다. 이번에는 HTTP가 가지고 있는 특징과 메서드 위주로 알아보려고 한다.

 

HTTP의 특징

모든 것이 HTTP라고 해도 과언이 아닐 정도로 HTTP에 모든 것을 전송할 수 있다.

  • HTML, TEXT
  • IMAGE, 음성, 영상, 파일
  • Json, XML (API)
  • 서버 간 데이터 전송

HTTP의 특징들은 다음과 같다.

  • 클라이언트 서버 구조
    • Request Response 구조
    • 클라이언트는 서버에 요청하고, 응답을 대기한다
    • 서버가 결과를 만들어서 응답한다.
  • 무상태 프로토콜(Stateless)
    • 서버가 프로토콜 상태를 보존하지 않음
    • 서버 확장성이 높음
    • 클라이언트가 데이터를 추가로 전송해야 한다는 단점이 있음
  • 비연결성
    • HTTP는 기본이 연결을 유지하지 않음
    • 초단이 이하의 빠른 응답, 효율적인 서버 자원 사용
    • 하지만 TCP/IP는 연결하기 위해서 매번 3 way Handshake 과정을 거쳐야 한다.
      이러한 문제를 HTTP 지속 연결(Persistent Connections)을 통해 해결하였다.
    • HTTP/2와 HTTP/3에서는 더 개선되었다.
  • 단순함, 확장 가능
  • HTTP 메시지
    • HTTP 요청 메시지
    • HTTP 응답 메시지

 

HTTP 요청(Request) 메시지

HTTP 요청 메시지의 시작 라인은 다음과 같이 나뉜다.

  • HTTP 메서드
    • GET : 리소스 조회
    • POST : 요청 내역 처리
    • PUT : 리소스 업데이트 또는 새로 생성
    • DELETE : 리소스 삭제
  • 요청 대상 : 절대 경로[?쿼리]의 형식
  • HTTP 버전 : HTTP/1.1 , HTTP/2

HTTP 응답(Response) 메시지

HTTP 응답 메시지의 시작 라인은 다음과 같다.

  • HTTP 버전 : HTTP/1.1 , HTTP/2
  • HTTP 상태 코드 : 요청 성공, 실패를 나타내며 주로 2xx,4xx, 5xx를 자주 쓴다. 
  • 이유 문구 : 사람이 이해할 수 있는 상태 코드의 짧은 설명 글

그리고 HTTP 헤더와 HTTP 메시지 바디로 나뉜다.

  • HTTP Header : HTTP 전송에 필요한 모든 부가 정보
  • HTTP Message Body : 실제 전송할 데이터 ( HTML 문서, 이미지, 영상, JSON 등) 

HTTP 메서드, 헤더, 상태 코드에 관한 자세한 내용은 다음 글에서 다루도록 하겠다.

 

참조(Reference)

https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard

 

모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의

실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연소 기술

www.inflearn.com

 

'Computer Science > Network' 카테고리의 다른 글

HTTP 메서드와 속성  (0) 2023.09.19
URI 와 웹 브라우저 요청 흐름  (0) 2023.09.19
HTTP 웹 기본 지식  (2) 2023.09.18
로드 밸런싱(Load Balancing)  (0) 2023.08.29
SSL/TLS HandShake  (0) 2023.08.29

+ Recent posts