Method 3 [Network] HTTP Method의 속성 안전( Safe ) 호출해도 리소스를 변경하지 않는다는 의미입니다. 호출로 인해 리소스의 변경을 일으키지 않는 것을 안전하다고 합니다. GET은 단순 조회이기 때문에 변경이 일어나지 않기 때문에 안전하다고 할 수 있습니다. POST, PUT, PATCH, DELETE는 변경을 시도할 수 있기 때문에 안전하다고 할 수 없습니다. 멱등( Idempotent ) 같은 요청을 여러번을 하더라도 결과가 똑같아야 합니다. 이때 외부 요인으로 인한 변경은 고려하지 않습니다. GET은 몇번을 조회하든 결과가 같습니다. PUT은 리소스를 대체합니다. 똑같은 요청이라면 결과적으로 같습니다. DELETE은 리소스를 삭제합니다. 결과적으로 삭제된 것은 같습니다. POST 두 번 호출하면 같은 결과가 중복으로 발생할 수 있습니.. Computer Science/Network 2021. 11. 10. [Network] HTTP Method GET 특정 리소스의 정보를 조회하는 역할을 합니다. 서버에 전달하고 싶은 데이터는 query로 전달할 수 있습니다. 메세지 바디로 전달할 수 있습니다. 하지만 지원하지 않는 경우가 많기때문에 쿼리로 처리하는 것이 바람직합니다. HEAD GET과 동일한 역할을 합니다. 하지만 돌아올 헤더만 요청합니다. 본문을 가져선 안되며, 본문이 존재하더라도 무시해야 합니다. Content-Length처럼 본문 콘텐츠를 설명하는 개체 헤더는 포함할 수 있습니다. POST 요청 데이터를 처리합니다. 메세지 바디를 통해 서버로 요청 데이터를 전달합니다. 주로 전달된 데이터를 신규 리소스를 등록, 프로세스 변경에 사용되지만 거의 모든 역할을 수행할 수 있습니다. 리소스 URI에 POST 요청이 오면 정해진 처리 방식이 없기.. Computer Science/Network 2021. 11. 10. [Design Pattern] Template Method Pattern 상속을 통해 슈퍼클래스의 기능을 확장할 때 사용하는 가장 대표적인 방법입니다. 변하지 않는 기능은 슈퍼클래스에 만들어두고 자주 변경되며 확장할 기능은 서브클래스에서 만들도록 합니다. 알고리즘의 구조를 정의하고, 하위 클래스에서 알고리즘 구조의 변경없이 알고리즘을 재정의 하는 패턴입니다. 쉽게 말해 전체 구조는 바꾸지 않으면서 특정 단계를 수행하는 내역을 바꾸는 패턴입니다. 상속 관계(Is-a)를 이용합니다. 장점은 중복 코드를 줄일 수 있지만, 단점으로 추상 메소드가 많아지면서 클래스 관리가 복잡해지고 또 확장구조가 이미 클래스를 설계하는 시점에서 고정되어 관계에 대한 유연성이 떨어집니다. Abstract public abstract class Abstract { public void superMetho.. Computer Science/Design Pattern 2021. 8. 3. 이전 1 다음