물리적인 하나의 서버에는 여러개의 서버가 동작
www은 인터넷 기반의 대표 서비스 중 하나이다.
각 서버는 포트값으로 동작.
인터넷은 네트워크의 네트워크
수많은 네트워크의 결합체
이 인터넷은 TCP/IP 프로토콜(약속)으로 연결됨
웹에선 상호통신을 위해 HTTP를 이용
HTTP는 어떤 종류의 데이터도 전송할 수 있다.
HTTP는 현재 HTTP/2 버전까지 등장한 것.
현재는 1.1버전이 가장 많이 다뤄짐
HTTP를 무상태 프로토콜이라고도 부른다.
HTTP 작동방식
- HTTP는 서버/클라이언트 모델을 따릅니다.
- 장점 (무상태 프로토콜)
- 불특정 다수를 대상으로 하는 서비스에는 적합하다.
- 클라이언트와 서버가 계속 연결된 형태가 아니기 때문에 클라이언트와 서버 간의 최대 연결 수보다 훨씬 많은 요청과 응답을 처리할 수 있다. - 단점
- 응답직후 클라이언트와의 연결을 끊어버리기 때문에, 클라이언트의 이전 상황을 알 수가 없다.
- 이러한 특징을 무상태(Stateless)라고 말한다.
- 이러한 특징 때문에 정보를 유지하기 위해서 Cookie와 같은 기술이 등장하게 되었다.
문서와 다른 자원들의 위치를 파악하기 위해서 사용
프로토콜의종류://자원이있는서버의 IP주소,도메인,포트주소/자원의위치/
물리적컴퓨터를 찾기위해 제일 중요한 것은 IP, Domain이름이다.
해당 컴퓨터안의 등장하는 SW서버값을 찾기위해선 포트값이 필요.
비유하자면 IP는 집주소와 동일, 집에는 여러 방들이 존재하는데 그 방 하나를 포트,
하나의 서버는 하나의 포트에 있고 포트 번호는 다 달라야한다.
하나의 물리적컴퓨터에는 여러소프서버가 동작함, 이 서버는 포트값(0보다큼)이 달라야한다.
http의 기본 포트값은 80번
반드시 클라이언트가 원하는 서버에 접속하고 이 서버에 먼저 요청해야한다.
요청따른 응답결과를 서버가 클라이언트에게 보낸다.
응답이 끝나면 서버와 클라이언트의 연결은 끊긴다.
요청되는 데이터는 정해진 규칙에 따라 전달된다.
이를 요청데이터포맷이라고 부름
이 요청 데이터 포맷은 다음과 같이 구성된다.
- 요청헤더 :
- 요청바디 :
get방식에는 요청바디가 없다. 왜냐면 요청할 때 가져가야할 자원을 URI에 붙여서 가져가기 때문
POST,PUT방식일 때 요청메서드가 들어온다.
응답 데이터 포맷도 요청 데이터 포맷과 마찬가지로 헤더, 바디로 구성된다.
- 응답헤더 : 첫줄에는 반드시 응답 HTTP의 버전
- 응답바디 : 실제 응답 리소스
- 요청 메서드 : GET, PUT, POST, PUSH, OPTIONS 등의 요청 방식이 온다.
- 요청 URI : 요청하는 자원의 위치를 명시한다.
- HTTP 프로토콜 버전 : 웹 브라우저가 사용하는 프로토콜 버전이다.
첫번째 줄의 요청메소드는 서버에게 요청의 종류를 알려주기 위해서 사용됩니다.
각각의 메소드 이름은 다음과 같은 의미를 가집니다.
참고로 최초의 웹 서버는 GET방식만 지원해줬습니다.
- GET : 정보를 요청하기 위해서 사용한다. (SELECT)
- POST : 정보를 밀어넣기 위해서 사용한다. (INSERT)
- PUT : 정보를 업데이트하기 위해서 사용한다. (UPDATE)
- DELETE : 정보를 삭제하기 위해서 사용한다. (DELETE)
- HEAD : (HTTP)헤더 정보만 요청한다. 해당 자원이 존재하는지 혹은 서버에 문제가 없는지를 확인하기 위해서 사용한다.
- OPTIONS : 웹서버가 지원하는 메서드의 종류를 요청한다.
- TRACE : 클라이언트의 요청을 그대로 반환한다. 예컨데 echo 서비스로 서버 상태를 확인하기 위한 목적으로 주로 사용한다.
'○ WEB > 19.03 FastCampus_HTML' 카테고리의 다른 글
[Boost Web] 3. browser의 동작 / 구조 / 파싱방법 / HTML,CSS 구조 / 렌더링 (0) | 2019.07.05 |
---|---|
[Boost Web] 2. 웹 Front-End 와 웹 Back-End (0) | 2019.07.04 |
button 태그 / method="get" / method="post" (0) | 2019.06.05 |
form / input 태그별 속성 (0) | 2019.06.04 |
HTTP규칙, GET, POST (0) | 2019.06.04 |