목차
1. 학습 목표 🎯
- HTTP 통신 방식의 이해
- 데이터 포맷의 이해
- API 개념과 효용 이해
- 벡엔드 랭기지
- API test툴 활용 (Postman)
- Api sheet 작성
2. 6주차 수업 후기 ✏
📌 5주차 ****수업을 듣고 느낀 점과 각자의 과제 진행 상황을 서로 이야기해주세요!
이곳에 강의 내용을 정리해도 좋습니다 👍
3. 실습 💻
- 개발환경 구축
- 자신이 설계한 DB와 연동해서 API설계 (CRUD)
- Postman으로 API 테스트
- API Sheet 작성
4. 개념 키워드 🔑
<aside> 📌 이번 주차 세미나에서 중요하게 다룬 키워드들입니다. 키워드에 대해 조사해본 후 해당 키워드에 토글 안에 자유롭게 정리해주세요!
- 키워드를 더 추가해주셔도 됩니다 😆
</aside>
- Http 패킷
- 구조
- Header
- 일반 헤더ex) Date 같은 것
- 전송되는 HTTP 본문 컨텐츠와 관련없고, 요청/응답이 생성된 날짜 및 시간 등과 같은 HTTP 통신에 대한 일반적인 정보가 포함된다. 이 헤더는 HTTP 요청과 응답 메시지에 공통으로 사용된다.
- 요청 / 응답 헤더
- 요청 헤더는 요청한 URL, 메소드 (GET,POST.HEAD), 요청 생성에 사용 된 브라우저 및 기타 정보가 포함된다.
- 응답 헤더는 사용자가 특정 페이지 또는 리소스에 대한 요청을 보낸 후 서버에서 브라우저에 의해 수신되며 컨텐츠에 사용된 인코딩, 서버 시스템에서 응답을 생성하는 데 사용되는 서버 소프트웨어 및 기타 정보를 포함한다.
- 서버에 요청하면 요청 헤더가 있고 서버가 클라이언트/브라우저로 응답을 다시 보낼 때 응답 해더가 있다.
- 엔터티 헤더예) 컨텐츠 길이, 컨텐츠 언어, 인코딩, 만료 날짜
- 실제 메시지 또는 전송중인 HTTP 본문에 대한 정보가 포함된다.
- BodyHTML 문서, 이미지, 영상, JSON 등등 byte로 표현할 수 있는 모든 데이터 전송 가능
- 실제 정송할 데이터
- Header
- 구조
- 의미 : 패킷은 Package(화물) + Bucket(덩어리)의 합성어이다. 통신에서 주고 받는 데이터의 구조이다. 클라이언트가 서버로 요청 할 때, 보내는 데이터를 HTTP 패킷이라 한다.
- Http 메서드메서드 명 역할
GET 리소스 조회 POST 요청 데이터 처리, 주로 등록에 사용한다. PUT 리소스를 대체하며 해당 리소스가 없으면 생성한다. PATCH 리소스 부분 변경 DELETE 리소스 삭제 - PUT과 PATCH 차이 : PUT은 대체하는 것이기 때문에 모든 데이터가 변경된다. 개별로 변경하고 싶을 때 PATCH를 사용한다.
- 참고
- 4. HTTP 메서드
- 데이터 포맷
- XML트리 계층 구조를 사용하여 루트 요소부터 시작해 여러개의 자식을 계층적으로 포함한다.
- 코드 예시
- <?xml version="1.0" encoding="UTF-8"?> <users> <user> <name>강호동</name> <score>89</score> <hobby> <element>Soccer</element> <element>Ninza</element> </hobby> </user> <user> <name>유재석</name> <score>19</score> <hobby> <element>Sing</element> <element>Dancing</element> </hobby> </user> </users>
- 테이터를 표현하기 위해 많이 사용되는 방식으로 HTML과 유사한 구조를 가지고 있다. 다목적 마크업 언어로 태그 등을 이용하여 데이터의 구조를 기술하는 언어이다.
- JSON
- 코드 예시
- "users": { "user": [ { "name": "강호동", "score": 89, "hobby": ["Soccer", "Ninza"] }, { "name": "유재석", "score": 19, "hobby": ["Sing", "Dancing"] } ] }
- ‘속성 - 값 쌍’ 또는 ‘키 - 값 쌍’으로 이루어진 데이터 오브젝트를 전달하기 위한 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포멧이다. 최근에 많이 쓰인다.
- CSV
name, score, hobby 강호동, 89, (Soccer,Ninza) 유재석, 19, (Sing,Dancing)
- 쉼표를 기준으로 항목을 구분하여 저장한 데이트를 말한다. DB나 표 계산 포트웨어 데이터를 보존하기 위해 형식을 사용한다.
- 참고
- 데이터 포맷(XML, JSON, CSV)
- XML트리 계층 구조를 사용하여 루트 요소부터 시작해 여러개의 자식을 계층적으로 포함한다.
- API
- 의미 : 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘을 말한다.
- API 명세서
- 사용 이유
- API를 호출하여 결과를 해석하기 위한 필수 정보만 간결하게 포함하고 있으므로, API의 사용 방법을 파악하기가 용이하다.
- 시스템이 해석할 수 있는 형식으로 작성된 경우, API 명세서로부터 소스 코드를 생성하는 것이 가능하다.
- 다양한 프로그래밍 언어로 API를 제공해야 하는 경우 라이브러리 및 문서를 언어별로 개별적으로 관리하지 않고 통합 관리할 수 있다.
- 별도의 코드 작성 없이 테스트 도구에 명세서를 올려서 API 동작 시험이 가능하다.
- 사용 이유
- Framework
- 프레임워크
- 특징
- 특정 개념들의 추상화를 제공하는 여러 클래스나 컴포넌트로 구성되어 있습니다.
- 추상적인 개념들이 문제를 해결하기 위해 같이 작업하는 방법을 정의합니다.
- 컴포넌트들은 재사용이 가능합니다.
- 높은 수준에서 패턴들을 조작화 할 수 있습니다.
- 특징
- 뼈대나 기반구조를 뜻하고, 제어의 역전 개념이 적용된 대표적인 기술이다. 객체 지향 개발의 통합성, 일관성의 부족 문제를 해결할 방법중 하나이다.
- 라이브러리
- 단순 활용가능한 도구들의 집합을 말한다.
- Library와의 차이프레임워크가 내가 작성한 코드를 제어하고, 대신 실행하면 그것은 프레임워크가 맞다.
- 반면에 내가 작성한 코드가 직접 제어의 흐름을 담당한다면 그것은 프레임워크가 아니라 라이브러리이다.
- 제어 흐름에 대한 주도성이 누구에게/어디에 있는가에 있다.
- 프레임워크
'UMC-3rd Server 기록' 카테고리의 다른 글
Server 8주차 워크북 (1) | 2022.12.14 |
---|---|
Server 7주차 워크북 (0) | 2022.12.14 |
Server 5주차 워크북(Best) (0) | 2022.12.14 |
Server 4주차 워크북 (0) | 2022.12.14 |
Server 3주차 워크북 (0) | 2022.12.14 |