목록웹프로그래밍/HTTP (5)
bdfgdfg
API URI의 설계는 가장 중요한건 리소스의 식별이다. 리소스의 의미는 무엇일까. 회원을 등록,수정,조회하는것 자체는 리소스가 아니다. 회원이라는 개념 자체가 바로 리소스. 등록(create),수정(update),조회(read),삭제(delete)라는것은 일단 배제하고, 회원이라는 리소스만 식별하면 된다. -> 즉 무엇을 대상으로(리소스) 어떠한 행동을 하는건지를 생각해보면 쉽다. 그럼 URI는 리소스만 식별한다고 했으니 설계를 해보면 /members/{id}. 가 되겠는데, 이것만으로 어떻게 행위를 구분할 수 있을까. 이럴때 추가로 사용되는게 바로 http 메소드(GET,POST,PUT,DELETE..) -> 리소스와 행위를 분리하는 것. 라고는 하지만, 실제 모든 경우에 대해서 URI와 행위를 분리..
HTTP HTTP는 응용계층의 프로토콜. 클라이언트-서버 모델에서, 클라이언트는 HTTP요청, 서버는 HTTP응답. 웹환경에서는 모든것이 HTTP로 처리 된다. -> 이미지,음성,영상,파일,JSON,XML, 서버간 데이터를 주고 받을 때도 대부분 HTTP사용. HTTP도 다양한 버전이 있다. HTTP/0.9 : 1991년에 나오고 GET메소드만 지원. HTTP 헤더는 없다. HTTP/1.0 : 1996년에 나오고 메소드 헤더 추가 HTTP/1.1 ★ : 1997년에 나옴, 가장 많이 사용한다. HTTP/2 : 2015년에 나온 버전으로 성능개선 HTTP/3 : 현재 진행형으로 개발되고 있으며 TCP대신 UDP를 사용. 클라이언트-서버 구조 Request(요청,클라이언트), Response(응답,서버) 구..
URI URI는 리소스를 식별할 수 있는 문자열 값이다. Uniform : 리소스 식별하는 통일된 방식 Resource : 자원, URI로 식별할 수 있는 모든 것 Identifier : 다른 항목과 구하는데 필요한 정보 비슷한 개념으로 URL(리소스가 있는 위치),URN(리소스에 이름)도 존재한다. 다만 두 개념은 URI에 포함되는 개념. 예시를 보면 https://www.google.com/search?q=aimyon&hl=ko 위 URI를 주소창에다 검색해보면 위와 같은 리소스를 식별하고, 우리에게 Response해주는 것. URL의 구성을 살펴보자. scheme(스키마) : 주로 프로토콜(통신간 약속,규칙)을 이용. -> 추가로 이렇게 자주쓰이는 프로토콜들은 well-known포트가 있음. htt..
들어가기전 알아야할 기본 용어들 노드(Node) : 컴퓨터 네트워크 상에 연결된 장치. 호스트(Host) : 고유 IP 주소를 가진 노드 프로토콜(Protocol) : 데이터 통신의 규약(약속). 라우팅(Routing) : 어떤 네트워크 안에서 통신 데이터를 보낼 때 최적의 경로를 선택하는 과정. 즉 전달되는 데이터가 어느 라우터를 거쳐갈 지 결정하는 것. 라우터(Router) : 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 다음 장치로 전향시키는 장치. IP 주소 : 고유하게 할당된 값이 아닌, 통신사를 통해 할당된 동적인 값.(어떤 네트워크의 어떤 컴퓨터인지를 구분) MAC 주소 : 통신기기 자체에 부여된 고유한 유니크 값(식별번호)이며 변경되지 않..