클라이언트 → 요청 → 서버
서버 → 응답 → 클라이언트
요청이 선행될 경우에만 응답이 발생
서버와 클라이언트 사이에는 통신 규약이 필요하다. 대표적인것이 http, https가 있고(7layer) 데이터 전송에서의 규약은 TCP, UDP가 있다.(4layler)
클라이언트에서 서버의 사용 가능한 자원을 알 수 있게 하기 위한 리소스 활용 인터페이스. 카페에서 손님이 주문할 때 보는 메뉴판을 API에 비유할 수 있다.
HTTP API 디자인에서는 Best Practice가 존재한다.
HTTP 요청시 메소드를 지정해서 리소스와 관련된 행동(CRUD crate/read/update/delete)을 할 수 있다.
조회(Read) → GET
추가(Create) → POST
갱신(Update) → PUT (교체)또는 PATCH(삽입)
삭제(Delete) → Delete
URL은 scheme, hosts, url-path로 구성된다.
통신방식(프로토콜) 결정, 일반적인 웹에서는 http, https를 사용
웹 서버의 이름이나 도메인, ip를 사용하며 주소를 나타낸다.
URI 는 Uniform Resource Identifier 의 줄임말로 일반적으로 URL의 기본 요소인 cheme, hosts, url-path에 더해 query, bookmark를 포함 URL은 URI가 맞지만 URI는 URL이 아니다.
웹 서버에 추가적으로 보내는 질문
브라우저의 주소창을 클릭하면 나타나는 주소가 URI이다.
네트워크에 연결된 특정 pc의 주소를 나타내는 체계
용도가 정해진 ip주소도 있음
기억해야할
ex)
localhost127.0.0.1 : 현재 사용 중인 로컬 PC 를 지칭합니다.0.0.0.0255.255.255.255 : broadcast address, 로컬 네트워크에 접속된 모든 장치와 소통하는 주소입니다. 서버에서 접근 가능한 IP 주소를 broadcast address 로 지정하면, 모든 기기에서 서버에 접근할 수 있습니다.Ipv4, ipv6 로 종류가 있음 ipv4가 꽉차서 ipv6를 씀
IP 주소에 진입할 수 있는 정해진 통로
리액트를 실행하면 127.0.0.1:3000 과 같이 뜨는데 127.0.0.1 은 localhost ip주소이고
3000이 그 ip주소 pc에 접속하는 통로, 즉 port이다. 다른 프로그램이 3000을 쓰고 있으면 3001이 된다.
포트번호의 범위는 0~65535인데 0~1024는 주요 통신 규약에 따라 이미 정해져있어서 따로 쓰면 안됨
기억해야할 ex)
22 : SSH
80 : HTTP
443: HTTPS
ip주소 기억하기 쉽게 만든 별명
호스트의 도메인 이름을 IP주소로 변환하거나 반대의 경우를 수행할 수 있도록 개발된
데이터베이스 시스템