코딩 슬라임 공방

HTTP(Hypertext Transfer Protocol) 본문

HTML_CSS_JAVA SCRIPT 수업

HTTP(Hypertext Transfer Protocol)

Nixpluvia 2020. 5. 13. 20:23

HTTP

HTTP(Hypertext Transfer Protocol)는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜이다.

프로토콜이란 상호 간에 정의한 규칙을 의미하며 특정 기기 간에 데이터를 주고받기 위해 정의되었다.

 

HTTP는 WWW(World Wide Web) 상에서 정보를 주고받을 수 있는 프로토콜이며, 주로 HTML 문서를 주고받는 데에 사용된다.

우리가 흔히 사용하는 웹의 대부분이 HTTP를 통해 이루어지고 있고, 지금까지 웹 또는 앱 애플리케이션을 만들 때,
클라이언트와 서버 사이의 요청과 응답을 하는데 HTTP가 사용되며, 클라이언트 카 HTTP를 통해 서버로부터 웹페이지나 정보를 요청하며 서버는 이 요청에 응답하여 필요한 정보를 클라이언트에게 전달하게 된다.
그러면 웹 브라우저와 같은 클라이언트는 이를 모니터와 같은 출력 장치를 통해 유저에게 나타내는 것 방식이다.

 

HTTP 프로토콜은 상태가 없는 프로토콜이다.
여기서 상태가 없다라는 말은 데이터를 주고받기 위한 각각의 데이터 요 청이 서로 독립적으로 관리가 된다는 말이다.
좀 더 쉽게 말해서 이전 데이터 요청과 다음 데이터 요청이 서로 관련이 없다는 것이다.

이러한 특징 덕택에 서버는 세션과 같은 별도의 추가 정보를 관리하지 않아도 되고, 다수의 요청 처리 및 서버의 부하를 줄일 수 있는 성능 상의 이점이 생긴다.

 

HTTP는 어떤 종류의 데이터든지 전송할 수 있도록 설계돼 있다.

HTTP로 보낼 수 있는 데이터는 HTML문서, 이미지, 동영상, 오디오, 텍스트 문서 등 여러종류가 있다.

 

작동방식은 HTTP는 서버/클라이언트 모델을 따른다. 클라이언트에서 요청을 보내면 서버는 요청을 처리해서 응답한다.

  1. 클라이언트 : 서버에 요청하는 클라이언트 소프트웨어(IE, Chrome, Firefox, Safari...)가 설치된 컴퓨터를 이용한다.
    클라이언트는 URI를 이용해서 서버에 접속하고, 데이터를 요청할 수 있다.
  2. 서버 : 클라이언트의 요청을 받아서, 요청을 해석하고 응답을 하는 소프트웨어가 설치된 컴퓨터(Apache, nginx, IIS, lighttpd) 등이 서버 소프트웨어다.
    웹서버는 보통 표준포트인 80번 포트로 서비스한다.
Comments