웹/기초 이론

[HTTP] HTTP에 대하여

Emil :) 2019. 12. 24. 11:03
728x90
반응형

개요


앱을 만들면서 웹쪽도 공부가 필요했었다. 이번 기회에 한번 해보려고한다.

 

오늘의 주제


  1. HTTP에 대하여 알아본다.
  2. HTTP프로토콜의 요청/응답 데이터 포맷에 대해 알아보자

진행 과정


1. HTTP란?

데이터가 통신을 하기 위해선 여러가지 규약이 필요하다.

이를 프로토콜이라고 하는데, 인터넷 중 웹에서는 서로 통신하기 위해서 http를 사용한다.
http.. 어디서 많이 들어봤을거다. 그렇다, 최근에 특정 사이트에 https를 이용한 통신을 막는다고 해서 인터넷이 한동안 떠들썩했던 적이 있었다. 이게 왜 떠들썩했는지는 말하지 않겠다

https는 http보다 보안이 향상된 프로토콜이라고 이해하면 쉽다.

아무튼, 웹에서는 HTTP를 이용한 통신을 한다는것만 알아두자

 

2. HTTP 작동방식

기본적으로 서버 / 클라이언트 모델을 따른다.

서버랑 클라는뭐.. 워낙 보편적인 개념이니 따로 적진않을거고,
간단하게 말하자면 클라가 서버에게 요청을 보내면, 서버가 응답을 해주는 구조다

장단점을 나열해보자면

장점 : 불특정 다수를 대상으로 하는 서비스에 적합하다. 클라이언트와 서버가 계속 연결된 형태가 아니기 때문에 클라이언트와 서버간의 최대 연결수보다 훨씬 많은 요청과 응답을 처리할 수 있다.

단점 : 연결을 끊어버리기 때문에, 클라 이전의 상황을 알 수가없다. 이러한 상태를 무상태(Statless)라고 말한다.
이런 특징 때문에 정보를 유지하기 위해 Cookie와 같은 기술이 등장하게 되었다.

무상태에 대해 개념이 조금 모호하다면, 쉽게 예를 들어보자.

우리가 쇼핑몰에서 쇼핑을 하려고 이제 결제를 딱 하려고 하는데, 내가 사려고 했던 물품이 다 사라져있는 것이다.
연결을 끊어버리기 때문에, 클라가 뭔짓을 하고있었는지 알수가 없는거다. 이걸 보존하기 위한 것이 쿠키다.

 

3. URL

하나의 물리적 컴퓨터에는 여러 개의 소프트웨어 서버가 동작할 수 있고, 이 서버는 포트 값이 다르게 동작해야 한다.
이런 포트 값은 0보다 큰 숫자 값이다.

이미지 출처 : https://www.edwith.org/boostcourse-web/lecture/16661/

 

 

 

4. 정리

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 서비스로 서버 상태를 확인하기 위한 목적으로 주로 사용한다.

 

728x90
반응형