diff --git a/week08/README.md b/week08/README.md deleted file mode 100644 index 1e2b641..0000000 --- a/week08/README.md +++ /dev/null @@ -1,44 +0,0 @@ -> ‼️ 해당 파일은 절대로 지우지 말아주세요 ‼️ - -# COW MVC PRACTICE 학습 저장소 -Postman을 사용하여, 여러분이 직접 api를 설계합니다. 그 다음 여러분이 스프링을 사용하여 웹 서버를 구현하고 Postman을 통해 요청에 대한 적절한 응답이 왔는 지를 확인하는 것이 이번 과제의 -최종 목표입니다. -## 📮 미션 제출 방법 -- 미션 구현을 완료한 후 GitHub을 통해 제출해야 한다. - - [미션 구현 저장소] [docker 사용 버전](https://github.com/Hoya324/cow_mvc_practice) 또는 [h2 사용 버전](https://github.com/Hoya324/cow_mvc_session) 에 자신의 작성한 미션 pr 작성 - - docker 환경 설정이 어려운 경우 h2 사용 권장합니다. - - 미션 구현에서 기록한 md파일은 [COW-Spring-3](https://github.com/COW-edu/COW-Spring-3/tree/main/week08) 리포지토리에 pr 작성 - - 미션 구현 pr 링크 첨부(필수) ---- - -현재 목표가 웹 서버를 개발하기에 인터넷, http, Rest Api에 대해서 조사하시면 여러분들에게 도움이 될 것 같습니다. - -또 추가적으로 DB를 잘 모르시는 분들에게 엔터티간의 관계, 1:1 1:N 처리에 문제가 생길 수 있기에 추가적으로 학습하셔도 좋을 것 같습니다. - -5/14 화요일 23:59 까지 제출해주시면 되겠습니다. - -## [필수] - -## 인터넷과 네트워크 - ---- - -## http란 - ---- - -## http 메서드 - ---- - -## http 상태 코드 - ---- - -## Rest API란 - ---- - -## [추가] - -## Entity간의 연관 관계의 주인 diff --git "a/week08/\353\260\251\355\230\204\354\232\260.md" "b/week08/\353\260\251\355\230\204\354\232\260.md" new file mode 100644 index 0000000..4ed832f --- /dev/null +++ "b/week08/\353\260\251\355\230\204\354\232\260.md" @@ -0,0 +1,68 @@ +> ‼️ 해당 파일은 절대로 지우지 말아주세요 ‼️ + +# COW MVC PRACTICE 학습 저장소 +Postman을 사용하여, 여러분이 직접 api를 설계합니다. 그 다음 여러분이 스프링을 사용하여 웹 서버를 구현하고 Postman을 통해 요청에 대한 적절한 응답이 왔는 지를 확인하는 것이 이번 과제의 +최종 목표입니다. +## 📮 미션 제출 방법 +- 미션 구현을 완료한 후 GitHub을 통해 제출해야 한다. + - [미션 구현 저장소] [docker 사용 버전](https://github.com/Hoya324/cow_mvc_practice) 또는 [h2 사용 버전](https://github.com/Hoya324/cow_mvc_session) 에 자신의 작성한 미션 pr 작성 + - docker 환경 설정이 어려운 경우 h2 사용 권장합니다. + - 미션 구현에서 기록한 md파일은 [COW-Spring-3](https://github.com/COW-edu/COW-Spring-3/tree/main/week08) 리포지토리에 pr 작성 + - 미션 구현 pr 링크 첨부(필수) +--- + +현재 목표가 웹 서버를 개발하기에 인터넷, http, Rest Api에 대해서 조사하시면 여러분들에게 도움이 될 것 같습니다. + +또 추가적으로 DB를 잘 모르시는 분들에게 엔터티간의 관계, 1:1 1:N 처리에 문제가 생길 수 있기에 추가적으로 학습하셔도 좋을 것 같습니다. + +5/14 화요일 23:59 까지 제출해주시면 되겠습니다. + +## [필수] + +## 인터넷과 네트워크 +- 인터넷은 '상호' 간의 뜻인 'inter'와 네트워크의 'net'이 합쳐진 단어로, 전 세계의 네트워크들이 연결된 거대한 네트워크를 의미 +- 네트워크는 동료들과 데이터를 교환하고 협력하는 것이 주요 목적이지만, 인터넷은 지식을 얻고 소통하는 것이 주요 목적 +- 네트워크는 LAN(Local Area Network), WAN(Wide Area Network) 등으로 구분되며, 인터넷은 WAN의 일종으로 전 세계의 LAN을 연결한 네트워크 +--- + +## http란 +- HTTP는 네트워크 장치 간에 정보를 전송하도록 설계된 애플리케이션 계층 프로토콜 +- HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, HTML 문서와 같은 리소스들을 가져올 수 있도록 해줌. +- HTTP는 요청 메서드를 정의하여 주어진 리소스에 수행하길 원하는 행동을 표시. +--- + +## http 메서드 +- HTTP 메서드는 클라이언트와 서버 사이에 이루어지는 요청(Request)과 응답(Response) 데이터를 전송하는 방식을 의미 +- 주요 HTTP 메서드에는 GET, POST, PUT, DELETE, PATCH 등 +- GET: 리소스 조회, POST: 요청 데이터 처리(주로 데이터 등록), PUT: 리소스 대체(없으면 생성), DELETE: 리소스 삭제 등의 역할 +--- + +## http 상태 코드 +- HTTP 상태 코드는 클라이언트의 요청에 대한 서버의 응답 상태를 나타내는 숫자 코드. +- 200번대: 성공, 300번대: 리다이렉션, 400번대: 클라이언트 오류, 500번대: 서버 오류 등으로 구분됩니다. +--- + +## HTTP 헤더 +- HTTP 헤더는 요청과 응답 메시지에 포함되는 부가 정보로, 메시지의 메타데이터를 제공 +- 일반 헤더, 요청 헤더, 응답 헤더, 엔티티 헤더 등으로 구분됨. +- 대표적인 헤더로는 Content-Type, User-Agent, Authorization 등 + +**일반 헤더: 요청과 응답 모두에 사용되는 헤더** + +**요청 헤더: 클라이언트가 서버에 보내는 추가 정보** + +**응답 헤더: 서버가 클라이언트에 보내는 추가 정보** + +**엔티티 헤더: 요청/응답 본문에 대한 정보** + + +--- +## Rest API란 +- REST(Representational State Transfer)는 웹의 기존 기술과 아키텍처를 활용하여 네트워크 기반 소프트웨어 아키텍처 스타일을 의미 +- REST API는 HTTP 메서드를 활용하여 리소스를 처리하는 API 설계 방식 +- 자원 기반 설계, 표준 HTTP 메서드 사용, 무상태성, 캐싱 가능성 등의 특징 +- 캐싱 가능성: HTTP 캐싱 기능 활용 + +## [추가] + +## Entity간의 연관 관계의 주인