분류 전체보기90 [HTTP] REST API REST API가 무엇인지 알아본다. 비바 리퍼블리카 이응준 개발자님이 Naver DEVIEW에서 강연하신 내용을 듣고 요약했으며, 일부 예제는 김영한님의 HTTP 강의를 참고했다. 해당 자료에 대한 링크는 포스트 하단에 명시했다. REST API란 무엇인가 REST(REpresentational State Transfer)는 로이 필딩(Roy Fielding)이 '어떻게하면 웹을 망가뜨리지 않으면서 HTTP를 개선할 수 있을까'에 대한 고민을 하며 제안한 "분산 하이퍼미디어 시스템(ex.웹)을 위한 아키텍쳐 스타일"이다. 2000년에 자신의 박사 논문 에서 REST를 처음으로 제안하였다. 즉 REST API란 이 REST 아키텍쳐 스타일을 따르는 API를 말한다. 아키텍쳐 스타일은 제약 조건의 집합이다.. 2021. 7. 8. [HTTP] HTTP 상태코드 HTTP 상태코드란 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주기 위해 정의한 기능이다. 즉 클라이언트는 HTTP 상태코드를 보고 내가 보낸 요청이 어떻게 처리되었는지 알 수 있다. 따라서 서버는 요청 결과에 알맞은 상태코드를 보내줘야한다. 대략적인 의미 1xx (Informational): 요청이 수신되어 처리중 (거의 사용하지 않음) 2xx (Successful): 요청 정상 처리 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 4xx (Client Error): 클라이언트 오류, 잘못된 요청으로 서버가 요청을 수행할 수 없음 5xx (Server Error): 서버 오류, 올바른 요청이나 서버 문제로 요청을 처리할 수 없음 클라이언트가 인식할 수 없는 상태코드를 서버가.. 2021. 7. 8. [HTTP] GET과 POST의 차이 GET 리소스 조회를 위한 메서드. 서버에 전달하고 싶은 데이터는 query(쿼리 파라미터 or 쿼리 스트링)를 통해서 전달한다. 다음과 같은 형태 GET /search?q=hello&hl=ko HTTP/1.1 Host: www.google.com 특징 리소스 조회가 목적이다. 데이터를 헤더에 쿼리 스트링으로 전달한다. 따라서 대용량 데이터를 보내기에 적절하지 않으며 보안에도 취약하다. POST 방식보다 빠르다. 브라우저에 캐싱이 가능하기 때문에 같은 요청의 경우 서버로 보내지 않고 캐싱된 정보를 보내준다. 이는 GET의 멱등성 때문이기도 하다. 멱등성이란 같은 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 말하는데, GET은 POST와 달리 멱등성을 가지고 있기 때문에 이같은 방식이 가능하다.. 2021. 7. 8. 검색창에 www.google.com을 검색하면 어떤 일이 일어날까? 웹의 전체적인 동작 과정을 이해하기 위해 공부한 내용을 정리한 글입니다. 전체적인 과정을 이해하는 것이 목적이므로 생략된 부분이 많습니다. 이론적이고 정확한 지식을 원하시는 분은 반드시 관련 전문 서적을 참조해주세요. 인터넷의 동작 과정 웹의 동작 과정을 이해하기 위해서는 우선 인터넷의 동작 과정부터 이해해야 합니다. '인터넷'하면 익스플로러나 크롬 아이콘의 이미지를 떠올리는 사람이 있다면 우선 웹과 인터넷의 개념을 분리할 필요가 있습니다. 인터넷과 웹의 관계는 너무 밀접해서 마치 인터넷과 웹이 같은 개념인 것처럼 느껴지지만 인터넷과 웹은 엄연히 다른 개념입니다. 인터넷은 1960년대에서 70년대 사이에 탄생했지만, 웹은 20여년 정도가 흐른 뒤인 1990년대에 탄생했습니다. 인터넷은 세상의 모든 컴퓨터.. 2021. 7. 8. [모던 자바 인 액션] 동작 파라미터화 본 포스팅은 모던 자바 인 액션을 읽고 내용을 제 나름대로 정리한 것입니다. 자세한 내용은 반드시 해당 책에서 확인하시길 바랍니다. 객체 지향 패러다임이 각광을 받는 가장 큰 이유는 변화에 유연한 대응이 가능하다는 것이다. 요구 사항 변화에 유연하게 대응하도록 설계하는 것은 소프트웨어 유지 보수에 있어 매우 중요하다. 동작 파라미터화를 이용하면 자주 바뀌는 요구사항에 대해 효과적으로 대응할 수 있다. 이번 포스팅에서는 동작 파라미터화가 어떻게 변화에 유연하게 대응할 수 있는지를 살펴보고 Java 8의 람다 표현식이 동작 파라미터화 코드를 간단하게 표현할 수 있음을 확인한다. 모던 자바 인 액션 2장의 내용을 참고하였다. 동작 파라미터화는 메서드의 동작을 파라미터화해서 코드 블록의 실행을 나중으로 미루는 .. 2021. 7. 8. [Java] 더블 디스패치(Double Dispatch) 6주차 스터디에서 메서드 디스패치에 대해 공부했다. 메서드 디스패치에는 동적 메서드 디스패치와 정적 메서드 디스패치가 있다. 그리고 메서드 디스패치를 활용한 더블 디스패치라는 기법이 있다. 더블 디스패치는 메서드 디스패치를 두 번 사용하여 유연성을 높이는 것인데, Visitor pattern에서 사용되는 기법이다. 여러 자료를 찾아보다가 토비님이 더블 디스패치에 대해 설명해주신 영상을 봤는데 한번에 와닿지는 않아서 포스팅으로 정리하면서 확실히 익혀보고자한다. 토비님의 영상은 여기! https://www.youtube.com/watch?v=s-tXAHub6vg&t=2732s 요구 사항 및 구현 자 우선 SNS 플랫폼에 맞게 포스팅을 뿌리는 서비스를 개발한다고 생각해보자. SNS라는 도메인과 Post라는 서.. 2021. 7. 8. 이전 1 ··· 3 4 5 6 7 8 9 ··· 15 다음