Web Protocol

이진혁·2022년 6월 8일
0

Web Protocol이란 웹에서 쓰이는 통신규약으로 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계를 의미한다. 즉, 통신을 할때 내가 이렇게 할게 너는 이렇게 해줘 라고 약속하는 것이라고 생각하면 된다.

웹에서 웹 페이지를 정의하고 접근하기 위해 URL 을 사용한다. URL의 일반적인 형식은 아래의 예시를 살펴보자.

protocol://computer_name:port/document_name?parameters

이 예시를 뜯어보면 5가지로 나눠볼 수 있다.

  • protocol : 문서에 접근하기 위해 사용하는 프로토콜 이름
  • computer_name : 문서가 있는 컴퓨터(서버)의 도메인 이름
  • port : 서버가 어떤 포트 숫자를 바라보고 있는지 (선택)
  • document_name : 서버 컴퓨터에 있는 특정 문서의 이름
  • parameters: 페이지에 넘기는 변수 (선택)

위에서 본 예시를 토대로 아래의 주소를 해석해보면,

http://www.netbook.cs.purdue.edu/toc/toc01.htm

  1. URL은 http 프로토콜을 사용.
  2. www.netbook.cs.purdue.edu 의 이름을 갖는 컴퓨터(서버)에서
  3. toc/toc01.htm 파일에 접근한다.

와 같은 해석이 가능하다. 그렇다면 Web Protocol 종류에는 무엇이 있는지 알아보자.

HTTP

Hypertext Transfer Protocol
HTTP는 서버와 클라이언트가 인터넷상에서 데이터를 주고 받기 위한 주요 프로토콜

Hypertext Transfer Protocol

HTTP는 웹 서버와 브라우저가 파일 등의 정보를 송수신하는데 사용하는 클라이언트와 서버 프로토콜이다.

  • 1989년 영국의 컴퓨터 과학자인 팀 버너스 리(Tim Berners-Lee)가 월드 와이드 웹(World Wide Web)을 고안하면서 설계한 프로토콜이다.
  • 주로 HTML 문서를 주고 받는데 사용한다.

HTTP 프로토콜의 특징

  1. HTTP 프로토콜은 stateless 프로토콜이다. 상태가 없지만 세션은 있다.
  • 상태가 없다 : 상태를 저장하지 않는다. 데이터를 주고 받기 위한 각각의 데이터 요청이 서로 독립적으로 관리가 된다.
  • 서버는 세션같이 별도 추가 정보를 관리하지 않아도 된다.
    • 다수의 요청 처리 및 서버의 부하를 줄일 수 있는 성능상의 이점
  1. 일반적으로 네트워크 프로토콜은 TCP/IP 프로토콜 위에서 동작한다. HTTP 기본 포트는 80번이다.

HTTP 요청 메소드

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

HTTP 장, 단점

장점

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

단점

연결을 끊어버리기 때문에 클라이언트의 이전상황을 알 수 없음
⇒ Stateless상태
이런 Stateless특징 때문에 정보를 유지하기위해 Cookie와 같은 기술이 등장

TCP

Transmission Control Protocol
인터넷상에서 데이터를 메세지의 형태로 보내기 위해 IP와 함께 사용하는 프로토콜

UDP

User Datagram Protocol
데이터를 데이터그램 단위로 처리하는 프로토콜

FTP

File Transfer Protocol
TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜

SMTP

Simple Mail Transfer Protocol
메일 전송 프로그램이 서버로 메일을 보낼 때 사용하는 프로토콜이다. 오직 텍스트만 전송이 가능한 것이 특징이고, 스트림 방식을 이용하여 전송

MIME

Multi-purpose Internet Mail Extensions
SMTP 로 전송시 이메일에 텍스트 밖에 포함하지 못하는 단점을 보완하여, 메시지 안에 텍스트 이외의 데이터를 전송할 수 있는 프로토콜

profile
개발 === 99%의 노력과 1%의 기도

0개의 댓글