HTTP/HTTPS 통신 & RESTful API

김진호·2023년 7월 18일
0

Study

목록 보기
3/4

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(무상태):
      HTTP는 Stateless 프로토콜이다.
      즉, 서버는 클라이언트의 이전 요청이나 상태를 기억하지 않는다.
      각 요청은 독립적으로 처리되며, 서버는 클라이언트의 이전 상태에 대한 정보를 보관하지 않는다.
      서버의 부담을 줄이고, 요청과 응답 사이에 독립성을 유지하여 확장성을 향상시킵니다.
      (세션, 쿠키 등을 이용해 클라이언트 상태를 관리할 수 있다.)

    2. Connectionless(비연결성):
      HTTP는 비연결성 프로토콜이다.
      클라이언트는 서버에 요청을 보내고, 서버는 해당 요청에 대한 응답을 반환한 후 연결을 종료한다.
      각 요청은 독립적이다.
      서버는 클라이언트와의 연결을 유지하지 않는다.

    3. 요청-응답 구조:
      HTTP 통신은 클라이언트가 서버에 요청을 보내고, 서버는 해당 요청에 대한 응답을 반환하는 요청-응답 구조를 가지고 있다.
      클라이언트는 요청 메소드(GET, POST, PUT, DELETE 등)와 URI(Uniform Resource Identifier)를 사용하여 서버에 원하는 동작을 명시하고, 서버는 상태 코드와 데이터로 이루어진 응답을 반환합니다.
      Request-Response의 구조를 가진다.

    4. 다양한 요청 메소드:
      HTTP는 다양한 요청 메소드를 제공하여 클라이언트가 서버에 원하는 동작을 명시할 수 있다.
      일반적으로 사용되는 메소드는 GET, POST, PUT, DELETE 등이며, 각각 데이터의 조회, 생성, 수정, 삭제 등을 나타낸다.
      이를 통해 클라이언트는 원하는 동작을 서버에 명시적으로 전달할 수 있다.

profile
멋쟁이

0개의 댓글