본문 바로가기
○ WEB/19.03 FastCampus_HTML

[Boost Web] 1. HTTP

by 0ver-grow 2019. 7. 4.
반응형

물리적인 하나의 서버에는 여러개의 서버가 동작
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 서비스로 서버 상태를 확인하기 위한 목적으로 주로 사용한다.
반응형