Web Development - 요청과 응답 구조
Web Development 기초
서버와 포트 ip주소
Web Development 기초
서버, 클라이언트, IP주소, 포트 쉽게 이해하기
웹 개발을 배우려면 제일 먼저 서버, 클라이언트, IP주소, 포트를 알아야 한다.
이 네 가지는 어려워 보이지만, 사실 아주 단순한 구조다.
하나씩 천천히 설명해보자.
1. 서버와 클라이언트는 둘 다 컴퓨터다
많은 사람들이 이렇게 생각한다.
서버는 뭐 거대한 기계이고,
클라이언트는 내 컴퓨터거나 스마트폰이라고.
하지만 사실 둘 다 그냥 **컴퓨터(호스트)**다.
이 컴퓨터들이 서로 역할을 나눈 것뿐이다.
서버: 요청을 받고, 필요한 자료를 보내주는 역할
클라이언트: 서버에게 요청을 보내는 역할
호스트: 네트워크에 연결된 모든 컴퓨터를 부르는 이름
즉, 서버도 클라이언트도 모두 호스트이다.
그저 역할과 상황에 따라 이름이 달라질 뿐이다.
2. 호스트는 모두 IP주소를 가진다
호스트는 인터넷에 연결된 컴퓨터다.
컴퓨터가 서로 연락하려면 주소가 있어야 한다.
그 주소가 바로 IP주소다.
IP주소는 이렇게 생겼다.
192.168.0.10
사람으로 치면 집 주소라고 생각하면 된다.
이 주소로 찾아갈 수 있기 때문이다.
3. 하나의 IP주소에는 여러 프로그램이 돌아간다
여기서 중요한 질문이 생긴다.
하나의 컴퓨터는 하나의 IP주소를 가진다고 하자.
그런데 그 컴퓨터 안에는 프로그램이 여러 개 실행될 수 있다.
예를 들어
웹 서버 프로그램
게임 서버 프로그램
파일 서버 프로그램
그러면 컴퓨터가 어떻게
"어떤 프로그램에게 연락해야 하는지"
구분할 수 있을까?
바로 여기서 **포트(Port)**가 필요하다.
4. 포트는 프로그램을 구분하는 번호다
포트번호는 컴퓨터 안에 실행되는 프로그램을 구분하기 위한 숫자다.
즉, "이 컴퓨터의 어떤 프로그램에게 이야기할까?"를 고르는 번호다.
아파트 비유를 써보자.
IP주소 = 아파트 동
포트번호 = 동 안의 호수
즉,
같은 아파트(같은 컴퓨터) 안에서도
다른 호수(다른 프로그램)로 갈 수 있어야 한다.
그래서
IP주소가 집을 찾는 주소라면,
포트번호는 그 집의 특정 방을 찾는 번호다.
5. 정리
서버, 클라이언트, 호스트는 모두 컴퓨터다.
역할이 다를 뿐, 모두 IP주소를 가진다.
하나의 IP주소(컴퓨터) 안에서 여러 프로그램이 돌아갈 수 있다.
그 프로그램들을 구분하는 번호가 포트번호다.
IP주소는 아파트 동수
포트번호는 그 아파트의 호수
자 여기까지 다 이해했으면
이제
요청과 응답 구조
GET과 POST 비교
를 이해할 차례인데
3. 요청(Request)과 응답(Response)
웹의 대화 방식
웹(브라우저와 서버)은 항상 요청 → 응답 구조로 움직인다.
이 두 단어만 이해하면 웹의 기본 흐름을 거의 다 아는 것이다.
1. 요청이란
클라이언트(브라우저)가 서버에게
"이걸 보여줘"
"이걸 보내줘"라고 부탁하는 것이다.
예를 들어
브라우저가 어떤 페이지를 열려고 할 때
서버에게 이런 편지를 보낸다.
나는 example.com의 메인 페이지를 원해요
이게 요청이다.
2. 응답이란
서버가 요청을 받고
그에 맞는 자료를 보내주는 것이다.
서버는 이렇게 말한다.
여기 네가 요청한 화면이다
(그리고 HTML, CSS, 이미지 같은 자료를 보냄)
이게 응답이다.
3. 둘은 항상 한 쌍이다
요청이 있어야 응답이 있고
응답이 있어야 화면이 나온다.
웹 사이트의 기본 흐름은
요청 → 응답 → 요청 → 응답
이렇게 계속 반복된다.
4. GET과 POST
요청 방식의 차이
HTTP 요청에는 여러 방식이 있는데
그중 가장 자주 쓰는 것이 GET과 POST다.
둘은 서버에게 정보를 부탁하는 방식이 조금 다르다.
1. GET
GET은
"나 이거 보여줘"
라고 요청할 때 쓴다.
특징
-
주소(URL)에 요청 정보가 공개적으로 붙는다
-
주로 화면을 보여달라는 요청에서 많이 사용
-
데이터가 눈에 보인다
예
2. POST
POST는
"서버야, 내가 정보를 보낼게"
라고 요청할 때 쓴다.
특징
-
데이터가 요청 몸통(body)에 들어가서 보이지 않는다
-
로그인, 회원가입처럼 중요한 정보를 보낼 때 사용
-
서버에 데이터를 저장하거나 보낼 때 사용
예
로그인 정보
아이디, 비밀번호
이런 건 절대 주소에 공개되면 안 되기 때문에
POST를 사용한다.
3. 정리
-
GET: 보여달라는 요청 (데이터가 주소에 보임)
-
POST: 보내는 요청 (데이터가 숨겨짐)
-
둘 다 HTTP 요청 방식이지만 목적이 다르다.
댓글
댓글 쓰기