HTTP/HTTPS 통신 & RESTful API

2024. 1. 15. 18:51· Computer Science/CS 개인 공부
목차
  1. 1. HTTP/HTTPS 통신
  2. 1) HTTP/HTTP
  3. 2. REST API
반응형

1. HTTP/HTTPS 통신

웹 브라우저와 웹 서버 간의 통신은 주로 HTTP(또는 HTTPS) 프로토콜을 사용한다.

1) HTTP/HTTP

  • HTTP(Hyper Text Transfer Protocol) 란?
    • 클라이언트(웹 브라우저)가 서버에 요청을 보내고, 서버가 해당 요청에 대한 응답을 반환하는 통신 프로토콜(약속)이다.
    • TCP 와 UDP 를 사용하여 통신하고, 80번 port를 사용한다.
    • HTTP는 주로 HTML(Hypertext Markup Language), CSS, JavaScript, 이미지 등의 리소스를 주고받는 데 사용된다.

초기에는 HTML 파일을 전송하는 목적으로 만들어졌지만, 현재 발전하여
JSON, image 파일 등의 전송도 모두 관여한다.

  • HTTPS
    • HTTP의 보안 버전
    • SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security) 프로토콜을 사용하여 통신을 암호화한다.
  • HTTP 통신의 특징
    1. Stateless(무상태):
      서버는 클라이언트의 이전 요청이나 상태를 기억하지 않는다.
      각 요청은 독립적으로 처리!!!
      -> 이는 서버의 부담을 줄이고, 요청과 응답 사이에 독립성을 유지하여 확장성을 향상시킨다.
    2. Connectionless(비연결성):
      클라이언트는 서버에 요청을 보내고, 서버는 해당 요청에 대한 응답을 반환한 후 연결을 종료한다.
      각 요청은 독립적이며, 서버는 클라이언트와의 연결을 유지하지 않는다.
    3. 요청-응답 구조:
      HTTP 통신은 클라이언트가 서버에 요청을 보내고, 서버는 해당 요청에 대한 응답을 반환하는 요청-응답 구조를 가지고 있다.
      클라이언트는 요청 메소드(GET, POST, PUT, DELETE 등)와 URI(Uniform Resource Identifier)를 사용하여 서버에 원하는 동작을 명시하고, 서버는 상태 코드와 데이터로 이루어진 응답을 반환한다.
      Request-Response의 구조를 가진다.
    4. 다양한 요청 메소드:
      HTTP는 다양한 요청 메소드를 제공하여 클라이언트가 서버에 원하는 동작을 명시할 수 있다.
      일반적으로 사용되는 메소드는 GET, POST, PUT, DELETE 등이며, 각각 데이터의 조회, 생성, 수정, 삭제 등을 나타낸다.
      (우리가 흔히 말하는 CRUD에 해당) _ (Create, Read, Update, Delete)

2. REST API

REST API(;Representational State Transfer API) 란??
인터넷 상에서 시스템 간 정보를 주고받기 위한 규칙과 규약


쉽게 말해, 인터넷 상에서 컴퓨터끼리 (보통은 클라이언트와 서버 간에) 정보를 주고 받을 때, 규칙을 정해놓은 것이다.

 

REST API에서는 자원을 정의하고 그 자원에 대한 상태를 주고 받기 위한 표준화된 방법을 제공한다.

HTTP 프로토콜과의 관계에서, REST API는 HTTP 메소드(GET, POST, PUT, DELETE 등)를 활용하여 자원에 대한 행위를 정의한다.

 

예를 들어, GET 메소드는 자원의 조회에, POST는 자원의 생성에, PUT은 자원의 수정에, DELETE는 자원의 삭제에 사용된다.

자원은 각각의 URI(Uniform Resource Identifier)로 식별되며,

이를 통해 클라이언트는 서버에게 원하는 자원에 접근할 수 있다.

 

서버는 각 자원의 상태를 표현하는 데이터를 클라이언트에게 응답으로 제공한다.
이때, 데이터의 표현은 주로 JSON 또는 XML 형식을 사용한다.

이러한 REST API의 특징은 유니폼 인터페이스, 무상태성, 캐시 가능성, 자체 설명성 등이 있으며, 이를 통해 클라이언트와 서버 간의 효율적인 소통이 가능하다.

반응형
저작자표시 (새창열림)
  1. 1. HTTP/HTTPS 통신
  2. 1) HTTP/HTTP
  3. 2. REST API
'Computer Science/CS 개인 공부' 카테고리의 다른 글
  • 데이터 교환의 형식 - JSON과 직렬화/역직렬화
  • JSON이란?
  • 네트워크(Network)의 전반적인 이해
  • 좋은 객체 지향 설계의 5가지 원칙 (SOLID)
dog-pawwer
dog-pawwer
성장 중 🌱🌱
dog-pawwer
지노개발일기
dog-pawwer
전체
오늘
어제
  • 분류 전체보기 (117)
    • FrontEnd (4)
      • Android (4)
    • BackEnd (22)
    • Cloud (15)
    • Trouble Shooting (2)
    • Computer Science (52)
      • CS 개인 공부 (19)
      • 알고리즘 (코딩테스트) (1)
      • 프로그래밍언어론 (15)
      • 분산시스템 (5)
      • 정보처리기사 (개인공부용) (3)
    • 강의 (18)
      • 자바-스프링부트-서버개발 (8)
      • UMC (Study) (9)
      • 스프링 부트와 JPA (1)
    • 🚨ERROR (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • GitHub

공지사항

인기 글

태그

  • 카카오 로그인 구현
  • 카카오
  • java
  • 오어스
  • 카카오 로그인
  • kakao
  • RestAPI
  • oauth
  • springboot
  • 스프링부트
  • 9-0

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
dog-pawwer
HTTP/HTTPS 통신 & RESTful API
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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