개인 공부 후 자료를 남기기 위한 목적이므로 내용 상에 오류가 있을 수 있습니다.
2월 7일(월)
UI & API & HTTP Flow
1. UI
- UI(User Interface)는 유저가 소프트웨어와 만나는 경계면, 즉 유저가 소프트웨어에 접근하고 명령을 내릴 수 있는 부분을 일컫는 말이다.
- 또한 스크린, 키보드, 마우스, 웹 브라우저 등이 UI에 해당되며 사람이 소프트웨어나 시스템에 접촉할 수 있는 것을 의미한다.
- 웹 서비스에서 "UI를 만든다"라는 표현은 사용자가 직접 사용하고, 정보를 알아들을 수 있는 "웹 페이지 화면을 만든다" 라는 의미로 사용되기도 한다.
2. API
- API(Application Programming Interface)는 어플리케이션과 어플리케이션이 서로 의사소통을 하고 데이터를 교환할 수 있도록 매개체가 되어주는 대상이다.
- 우리가 스마트폰으로 어플리케이션을 사용하면, 어플리케이션은 인터넷을 연결하고, 서버로 데이터를 전달한다. 그 후에 서버는 데이터를 전달받아 해석하고 적절한 기능을 수행한 뒤, 다시 우리 스마트폰 어플리케이션으로 필요한 정보를 전송해준다. 스마트폰 어플리케이션은 받은 데이터를 다시 해석해서 우리가 읽을 수 있는 방법으로 표현해주며 이 모든 과정을 API라고 한다.
- 즉, 우리는 API를 통해 일련의 통신과정을 거쳐 연결된 두 어플리케이션을 모두 사용할 수 있으며 오직 필요한 정보만을 교환하기 때문에 보안 측면에서도 안전하다.
3. HTTP Flow
(UI : HTTP request)
fetch("/order", {
body: JSON.stringfy({ order: ["bigmac set", "cheese stick"] })
})
(API : request confirm)
app.get("/order", (req, res) => {
console.log(req.body.order);
// ["bigmac set", "cheese stick"]
...logic
})
(...)
(API : ready to response)
app.get("/order", (req, res) => {
...logic
res.json([
{ name: "bigmac", quantity: 1 },
{ name: "french fries", quantity: 1 },
{ name: "coke", quantity: 1},
{ name: "cheese stick", quantity: 1}
]);
})
(UI : HTTP response)
fetch("/order", {
body: JSON.stringfy({ order: ["bigmac set", "cheese stick"] })
})
.then((res) => res.json())
.then((jsonData) => {
console.log(jsonData);
// [
// { name: "bigmac", quantity: 1 },
// { name: "french fries", quantity: 1 },
// { name: "coke", quantity: 1},
// { name: "cheese stick", quantity: 1}
// ]
})
위의 예시처럼 UI와 API가 통신하는 과정이 HTTP Flow이며, 요청과 응답은 한 세트이다.
'기타' 카테고리의 다른 글
TIL - 22.02.09 (0) | 2022.02.09 |
---|---|
TIL - 22.02.08 (0) | 2022.02.08 |
TIL - 22.02.04 (0) | 2022.02.04 |
TIL - 22.02.03 (0) | 2022.02.03 |
TIL - 22.02.02 (0) | 2022.02.02 |
댓글