본문 바로가기
IT/부스트코스 Web Programming

웹의 동작 (HTTP프로토콜의 이해)

by 어센트 2020. 3. 4.

웹의 동작

HTTP

  • 물리적인 하나의 컴퓨터에는 여러 개의 서버가 동작할 수 있다.
  • 각각의 서버들은 포트라는 값으로 구분돼서 동작한다. 예를 들어 웹은 80번 포트 이메일은 25번 포트 FTP는 21번등을 사용한다.  인터넷 = 네트워크들의 네트워크
  • http는 어떤 종류의 데이터도 전송할 수 있도록 설계되어있다.
  • 이미지,동영상,오디오,텍스트 문서 등 종류를 가리지 않고 전송할 수가 있다.
  • http는 서버/클라이언트 모델을 따른다.
  • 클라이언트가 요청을 서버에게 보내면 서버는 클라이언트에게 응답을 보낸다.

 

Stateless(무상태)프로토콜이기 때문에 서버는 클라이언트에게 받은 요청을 응답결과를 만들어 응답을 하고 나면 클라이언트와의 연결을 바로 끊는다. Stateless방식의 장점은 불특정 다수를 대상으로 하는 서비스에 적합하다.

하지만 바로 연결을 끊기 떄문에 클라이언트의 이전상황을 알 수 없다는 단점또한 존재한다. 이러한 단점을 극복하기위해서 웹에서는 쿠키와 같은 기술들이 등장하였다.(ex 쇼핑을 하닥 장바구니에 담아놓은 정보가 사라지면 안되니까)

 

 

HTTP 작동방식

  • HTTP는 서버/클라이언트 모델을 따릅니다.
  • 장점
    - 불특정 다수를 대상으로 하는 서비스에는 적합하다.
    - 클라이언트와 서버가 계속 연결된 형태가 아니기 때문에 클라이언트와 서버 간의 최대 연결 수보다 훨씬 많은 요청과 응답을 처리할 수 있다.
  • 단점
    - 연결을 끊어버리기 때문에, 클라이언트의 이전 상황을 알 수가 없다.
    - 이러한 특징을 무상태(Stateless)라고 말한다.
    - 이러한 특징 때문에 정보를 유지하기 위해서 Cookie와 같은 기술이 등장하게 되었다.

 

URL (Uniform Resource Locator)

  • 인터넷 상의 자원의 위치
  • 특정 웹 서버의 특정 파일에 접근하기 위한 경로 혹은 주소

 Uniform Resource Locater -  웹상에서 문서와 다른 자원들의 이미지,동영상등 자원의 위치를 나타내기 위해 사용됨

URL의 첫번쨰 부분은 프로토콜의 종류 ,두번쨰는 자원이 있는 서버의 IP 주소 또는 도메인주소,포트번호 세번째 부분의 그 자원의 위치

 

HTTP (Hypertext Transfer Protocol)

  • 요청 메서드 : GET, PUT, POST, PUSH, OPTIONS 등의 요청 방식이 온다.
  • 요청 URI : 요청하는 자원의 위치를 명시한다.
  • HTTP 프로토콜 버전 : 웹 브라우저가 사용하는 프로토콜 버전이다.

첫번째 줄의 요청메소드는 서버에게 요청의 종류를 알려주기 위해서 사용됩니다.

각각의 메소드 이름은 다음과 같은 의미를 가집니다.

참고로 최초의 웹 서버는 GET방식만 지원해줬습니다.

  • GET : 정보를 요청하기 위해서 사용한다. (SELECT)
  • POST : 정보를 밀어넣기 위해서 사용한다. (INSERT)
  • PUT : 정보를 업데이트하기 위해서 사용한다. (UPDATE)
  • DELETE : 정보를 삭제하기 위해서 사용한다. (DELETE)
  • HEAD : (HTTP)헤더 정보만 요청한다. 해당 자원이 존재하는지 혹은 서버에 문제가 없는지를 확인하기 위해서 사용한다.
  • OPTIONS : 웹서버가 지원하는 메서드의 종류를 요청한다.
  • TRACE : 클라이언트의 요청을 그대로 반환한다. 예컨데 echo 서비스로 서버 상태를 확인하기 위한 목적으로 주로 사용한다.

https://www.edwith.org/boostcourse-web/lecture/16661/

 

[LECTURE] 2) 웹의 동작 (HTTP 프로토콜 이해) : edwith

들어가기 전에 사람과 사람이 전화 통화를 하기 위해서도 몇 가지 규약이 필요합니다. 서로 알아들을 수 있는 말을 사용해야 하며, 한쪽이 말할 때 다른 쪽에서는 들어야 합니다. 또한... - 부스트코스

www.edwith.org

공부하고 남기는 글입니다...

'IT > 부스트코스 Web Programming' 카테고리의 다른 글

Servlet 기초  (0) 2020.04.26
CSS 기초 정리  (0) 2020.04.21