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 통신의 특징
- Stateless(무상태):
서버는 클라이언트의 이전 요청이나 상태를 기억하지 않는다.
각 요청은 독립적으로 처리!!!
-> 이는 서버의 부담을 줄이고, 요청과 응답 사이에 독립성을 유지하여 확장성을 향상시킨다. - Connectionless(비연결성):
클라이언트는 서버에 요청을 보내고, 서버는 해당 요청에 대한 응답을 반환한 후 연결을 종료한다.
각 요청은 독립적이며, 서버는 클라이언트와의 연결을 유지하지 않는다. - 요청-응답 구조:
HTTP 통신은 클라이언트가 서버에 요청을 보내고, 서버는 해당 요청에 대한 응답을 반환하는 요청-응답 구조를 가지고 있다.
클라이언트는 요청 메소드(GET, POST, PUT, DELETE 등)와 URI(Uniform Resource Identifier)를 사용하여 서버에 원하는 동작을 명시하고, 서버는 상태 코드와 데이터로 이루어진 응답을 반환한다.
Request-Response의 구조를 가진다. - 다양한 요청 메소드:
HTTP는 다양한 요청 메소드를 제공하여 클라이언트가 서버에 원하는 동작을 명시할 수 있다.
일반적으로 사용되는 메소드는 GET, POST, PUT, DELETE 등이며, 각각 데이터의 조회, 생성, 수정, 삭제 등을 나타낸다.
(우리가 흔히 말하는 CRUD에 해당) _ (Create, Read, Update, Delete)
- Stateless(무상태):
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. 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 통신의 특징
- Stateless(무상태):
서버는 클라이언트의 이전 요청이나 상태를 기억하지 않는다.
각 요청은 독립적으로 처리!!!
-> 이는 서버의 부담을 줄이고, 요청과 응답 사이에 독립성을 유지하여 확장성을 향상시킨다. - Connectionless(비연결성):
클라이언트는 서버에 요청을 보내고, 서버는 해당 요청에 대한 응답을 반환한 후 연결을 종료한다.
각 요청은 독립적이며, 서버는 클라이언트와의 연결을 유지하지 않는다. - 요청-응답 구조:
HTTP 통신은 클라이언트가 서버에 요청을 보내고, 서버는 해당 요청에 대한 응답을 반환하는 요청-응답 구조를 가지고 있다.
클라이언트는 요청 메소드(GET, POST, PUT, DELETE 등)와 URI(Uniform Resource Identifier)를 사용하여 서버에 원하는 동작을 명시하고, 서버는 상태 코드와 데이터로 이루어진 응답을 반환한다.
Request-Response의 구조를 가진다. - 다양한 요청 메소드:
HTTP는 다양한 요청 메소드를 제공하여 클라이언트가 서버에 원하는 동작을 명시할 수 있다.
일반적으로 사용되는 메소드는 GET, POST, PUT, DELETE 등이며, 각각 데이터의 조회, 생성, 수정, 삭제 등을 나타낸다.
(우리가 흔히 말하는 CRUD에 해당) _ (Create, Read, Update, Delete)
- Stateless(무상태):
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의 특징은 유니폼 인터페이스, 무상태성, 캐시 가능성, 자체 설명성 등이 있으며, 이를 통해 클라이언트와 서버 간의 효율적인 소통이 가능하다.