그냥 쉽게 생각해서 핸드폰으로 인터넷에 접속해서 뭘 검색하거나
친구한테 메시지를 보내는 것 같은 게 네트워크 통신
아이폰이나 컴퓨터는 그냥 기계
이 기계들이 서로 연결되고 대화하는 것 = 네트워크
이런 연결이 세계로 퍼진 게 바로 인터넷이고
연결하려면 와이파이나 데이터가 켜져 있어야 함
네트워크로 대화할 땐 아무 말이나 막 하면 안 됨
서로 알아들을 수 있는 공식적인 문자 형식이 있어야 함
예를 들어
친구 정보가 있을 때
이름은 뽀미고 번호는 010-1111-2222임
라고 말하는 대신 깔끔하게 시각화함
{
"name": "뽀미",
"phoneNumber": "010-1111-2222"
}
"key": "value" 형태로 되어 있음
쉽게 말해서 리모컨 같은 거
우리가 TV를 직접 고치지 않아도
리모컨으로 전원 켜고 채널 바꾸고 소리 키우고 할 수 있음
그냥 버튼 누르면 결과 나오는 창구
서버가 엄청 많은 정보를 갖고 있는데
iOS 앱이 거기서 원하는 정보를 API라는 버튼으로 요청해서 받는 것
JSON 같은 형식을 쉽게 읽고 쓰게 해주는 도구
서버에서 온 JSON은 뭔가 잘 포장된 도시락 같은 느낌인데
그걸 우리가 먹을 수 있도록 열고 나눠 담으려면
Codable을 사용함
그럼 이름, 번호 이런 걸 쉽게 꺼내 쓸 수 있게 됨
인터넷 주소
https://www.naver.com/search?query=뽀미
이 주소는 크게
https: 인터넷 약속
naver.com: 어디 서버에 있는지
/search: 무슨 기능 요청할 건지
?query=뽀미: 추가로 뽀미 검색해줘 라는 뜻
정해진 규칙대로 대화하는 방식
쉽게 보면
앱 = 손님
서버 = 요리사
API = 메뉴판/웨이터
손님이 파스타 주세요 하는 거 → 이게 API 요청 (GET 방식)
요리사가 파스타 만들어서 달라 하는 거 → 이게 API 응답
우리가 뭘 해달라고 요청하면 서버가 결과를 보내주는 방식임
서버랑 말 걸 때 사용하는 도구
특정 주소(URL)에 전화를 걸고 (요청)
그쪽에서 말해주는 걸 (응답)
잘 받아와서 내 앱에서 쓸 수 있게 해주는 것