HTTP
HTTP 웹 기본 지식 - HTTP 상태코드 소개
HTTP 웹 기본 지식 - HTTP 상태코드 소개
2022.06.17HTTP 상태코드 소개 HTTP 상태 코드는, 클라이언트가 서버로 요청을 보내면 그 요청이 잘 처리가 되었는지, 아니면 문제가 있는지 이런 것들을 HTTP reponse가 올 때(응답이 올 때) 알려주는 기능이다. 1xx (Informational): 요청이 수신되어 처리중 2xx (Succecssful) : 요청 정상 처리 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 4xx (Client Error) : 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5xx (Server Error) : 서버 오류, 서버가 정상 요청을 처리하지 못함 100대는 요청이 수신되어 처리중 이라는 뜻인데 사실 이것은 거의 사용되지 않는다. 200대는 요청 정상 처리 라는 뜻이다. 3..
HTTP 웹 기본 지식 - HTTP API 설계 예시
HTTP 웹 기본 지식 - HTTP API 설계 예시
2022.06.17HTTP API 설계 예시 HTTP API 설계예시를 살펴보자. 3가지 예시가 있는데, 첫번째는 HTTP API POST 기반으로 등록하는 방법, 두번째는 HTTP API PUT 기반으로 등록하는 방법, 그리고 마지막 세번째는 HTML FORM 을 가지고 사용하는 방법에 대해 알아보자. 참고로 HTML FORM은 GET, POST만 지원한다. 회원 관리 시스템을 만들어야 한다고 가정해보자. URI는 리소스를 식별해야한다. 리소스가 아닌 다른 것을 식별하면 안된다. 리소스는 "미네랄을 캐다"에서 "미네랄" 자체가 리소스인 것이다. "캐다"라는 것까지는 리소스가 아닌 것이다. 캐다, 조회하다 등등은 GET, POST, DELETE 같은 HTTP 메서드를 사용하면 된다. POST 기반으로 데이터를 등록하게 되..
HTTP 웹 기본 지식 - 클라이언트에서 서버로 데이터 전송
HTTP 웹 기본 지식 - 클라이언트에서 서버로 데이터 전송
2022.06.16클라이언트에서 서버로 데이터 전송 HTTP 메서드 활용에 대해서 알아볼 것이다. 클라이언트에서 서버로 데이터를 전송하는 예를 알아보고, HTTP API를 설계할 때 어떤식으로 하면 좋은지 예시를 알아보자. 클라이언트에서 서버로 데이터를 전송할 때 어떻게 할까? 데이터 전달 방식은 크게 2가지 이다. 쿼리 파라미터를 통한 데이터 전송 GET 주로 정렬 필터(검색어) 예를 들어서 구글에 검색 할때 q = hello 같은 경우..가 있다. 메시지 바디를 통한 데이터 전송 POST, PUT, PATCH 회원 가입, 상품 주문, 리소스 등록, 리소스 변경 클라이언트에서 서버로 데이터를 전송하는 상황을 4가지 예시를 통해서 알아보자. 정적 데이터 조회 이미지, 정적 텍스트 문서 동적 데이터 조회 주로 검색, 게시판..
HTTP 웹 기본 지식 - HTTP 메서드의 속성
HTTP 웹 기본 지식 - HTTP 메서드의 속성
2022.06.16HTTP 메서드의 속성 HTTP 메서드의 속성에는 안전 (Safe Methods) 멱등 (Idempotent Methods) 캐시 가능 (Cacheable Methods) 이 있다. GET같은 경우에는 요청에 Body를 넣을 수 있는데, 지금 실질적으로 되는곳이 있고 안돼는 곳이 있기 때문에 GET요청에 BODY는 사용하지 않는 것이 좋다. 먼저, 안전(Safe)에 대해서 살펴보자. 여기서 안전이라는 뜻은, 호출해도 리소스를 변경하지 않는다.라는 것을 뜻한다. 예를 들어서 GET은 안전할까 안전하지 않을까? GET은 단순히 조회만 하는 것이기 때문에 안전하다. 그런데, POST는? 당연히 안전하지 않다. DELETE, PUT PATCH는 다 안전하지 않다. 호출했을 때, 뭔가 변경이 일어나는 것은 안전하..
HTTP 웹 개발 기본 - PUT, PATCH, DELETE
HTTP 웹 개발 기본 - PUT, PATCH, DELETE
2022.06.16이번시간에는 HTTP 메서드 중에 PUT, PATCH, DELETE에 대해서 알아보도록 하겠다. PUT은 리소스를 대체해버리는 것이다. 폴더에 파일을 복사하는 것과 비슷하다고 생각하면 된다. 만약에 폴더에 그 파일이 없으면, 파일이 새로생긴다. 그런데, 기존에 똑같은 파일이 있으면, 기존파일을 덮어써버린다. PUT도 마찬가지다. 예를 들어서 내가 PUT으로 /members/100이라고 보낸다고 가정하자. 그러면, /members/100 이라는 리소스가 없으면 이게 신규로 생성된다. 만약에 /members/100 리소스가 기존것이 있으면 기존것을 날려버리고 이것이 덮어써진다. 완전히 대체한다. POST와 PUT의 차이점 POST는 /members로 요청하면 서버가 URI를 지정했는데, PUT은 클라이언트가..
HTTP 웹 기본 지식 - HTTP 메서드 - GET, POST
HTTP 웹 기본 지식 - HTTP 메서드 - GET, POST
2022.06.16HTTP 메서드 - GET, POST HTTP 메서드에서 가장 많이 사용하는 GET, POST에 대해서 알아보도록 하자. HTTP 메서드는 클라이언트가 서버에 요청을 할 때, 기대하는 행동들이다. GET이라는 것은 뭔가 달라는 것이고, POST라는 것은 내가 데이터를 줄테니 등록을 하거나, 어떤 처리를 해달라는 것이다. 주로 많이 사용하는 HTTP 메서드는 다음과 같다. GET은 리소스 조회 POST는 요청 데이터 처리, 주로 등록에 사용 PUT은 리소스를 대체, 해당 리소스가 없으면 생성 PATCH는 리소스 부분 변경 DELETE는 리소스 삭제이다. 그런데 최근에는 리소스라는 표현이 Representation으로 바뀌었다. 또 다른 메서드도 있는데, HEAD는 GET과 동일하지만 메시지 부분을 제외하고..