[HTTP 기본] 4. HTTP 상태 코드와 HTTP 헤더
·
Back-End/HTTP 기본
HTTP 상태 코드 Client가 보낸 Request의 처리 상태를 Response에서 알려주기 위함 1XX : 처리중 잘 사용하지 않음 2XX : 성공 200 : OK 201 : Request 성공 해서 새로운 리소스가 생성됨 생성된 리소스는 Response의 Location 헤더에 담아 보낸다 204 : No content Response Payload에 싣어 보낼 데이터가 없음 ex) 세이브 버튼 3XX : Request를 완료하려면 추가 행동 필요(리다이렉션) 4XX : Client 오류 400 : GET 파라미터 오류, API 스펙에 맞지 않음 401 : UnAuthorized, Response에 WWW-Authenticate 헤더와 함께 인증 방법을 설명 403 : 권한 거부 404 : 요청 ..
[HTTP 기본] 3. API와 HTTP 메서드
·
Back-End/HTTP 기본
API(Application Programming Interface) Client와 Server가 통신하기 위해 필요한 API. URI를 통해 서로 요청을 식별하는데, 올바론 API URI 설계는 무엇일까? 리소스 식별에 집중하자 CRUD 기능을 구현하는 회원 가입, 회원 조회, 회원 정보 변경, 회원 탈퇴 기능들을 만든다고 생각해보자. 회원 가입 : /create-members/{id} 회원 조회 : /read-members/{id} 회원 변경 : /update-members/{id} 회원 탈퇴 : /delete-members/{id} 이때 집중해야 할 것은 CRUD가 아닌 '회원'이라는 리소스이다. 따라서 리소스만 URI에 매핑하는것이 제일 좋다 회원 가입 : /members/{id} 회원 조회 : ..
[HTTP 기본] 2. HTTP 통신 흐름과 Stateless
·
Back-End/HTTP 기본
URI(Uniform Resource Identifier) URI에는 크게 URL(Locator) 과 URN(Name) 두가지가 있다. 굳이 따지자면 URI는 인터페이스, URL과 URN은 구현체 같은 느낌? 이름에서 알 수 있듯이 URL은 경로, 위치로 식별하고 URN은 이름으로 식별한다. URN은 현재 잘 사용되지 않으며 URL이 압도적으로 비율이 많다 URL 특징 포트 번호는 생략가능하다. 알아서 붙여주며 만약 명시하면 해당 PORT로 접속 쿼리 스트링은 모두 문자로 처리된다(/search?q=hello&hl=ko) 숫자도 문자로 처리 됨 HTTP(HyperText Transfer Protocol) 현재는 Text뿐만 아니라 영상, 이미지 모든 정보를 전송하고 있다 HTTP 통신 흐름 웹 브라우저가..
[HTTP 기본] 1. 네트워크 통신 기초
·
Back-End/HTTP 기본
네트워크 통신 기초 1. IP(Internet Protocol) 우리가 흔히 말하는 IP주소할 때 그 IP이다. 지정한 IP 주소에 패킷이라는 통신 단위로 데이터를 전달한다 패킷 패킷에는 다음과 같은 정보들이 담긴다 출발지 IP 목적지 IP 전송 데이터 패킷을 포함한 데이터들은 네트워크상에 존재하는 노드들을 통해 목적지로 보내진다. 해당 데이터를 성공적으로 받은 서버는 OK라는 메세지를 다시 노드들을 통해 클라이언트로 보내주어 확인을 한다 한계점 1. 패킷을 받을 서버가 존재하지 않거나 서비스 불능 상태여도 패킷을 보내게 된다 2. 불량 노드들로 인해 중간에 패킷이 사라질 수 있으며 패킷의 순서가 뒤바뀔 수 있다. 3. 포트 정보가 없기 때문에 같은 IP를 사용하는 애플리케이션이 두 개 이상이라면 문제가..