ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP 프로토콜
    Technique/WEB 2019. 9. 16. 16:04
    반응형

    HTTP( Hypertext Transfer Protocol )는 웹 서버와 웹 클라이언트 사이에서 데이터를 주고받기 위해 사용하는 통신 방식으로, TCP/IP 프로토콜 위에서 동작한다.

    우리가 웹을 이용하려면 웹 서버와 웹 클라이언트는 각각 TCP/IP 동작에 필수적인 IP 주소를 가져야 한다는 의미가 된다.

    HTTP란 이름 그대로 하이퍼텍스트 전송용 프로토콜 이지만, 실제로는 HTML이나 XML과 같은 하이퍼텍스트뿐만 아니라 이미지, 음성, 동영상, 자바스크립트, PDF와 각종 오피스 도큐먼트 파일 등 컴퓨터에서 다룰 수 있는 데이터라면 무엇이든 전송 가능하다.

     

    HTTP 메시지 구조

    HTTP 메시지는 클라이언트에서 서버로 보내는 요청 메시지와 서버에서 클라이언트로 보내는 응답 메시지 2가지가 있다.

    메시지 구조

    스타트라인은 요청 메시지인 경우는 요청 라인이라하고 응답 메시지인 경우는 상태 라인 이라고 한다.

    바로 이어지는 헤더는 각 행의 끝에 줄 바꿈 문자인 CRLF( Carrage Return Line Feed )가 있으며, 헤더와 바디는 빈 줄로 구분한다.

    헤더와 바디는 생략할 수 있고, 바디에는 텍스트뿐만 아니라 바이너리 데이터도 들어갈 수 있다.

     

    요청 라인

    요청 방식 (Method), 요청 URI, 프로토콜 버전으로 구성된다.

     

    헤더

    이름 : 값 형식으로 표현하며 여러 줄로도 작성할 수 있다. Host 항목은 필수로 표시해줘야 하는데 Host 헤더로 표시하거나 URI에 Host를  표시하면 생력 가능하다. 하지만 포트번호를 표시하고 싶다면 Host항목에 같이 표시해줘야 한다.

     

    응답 메시지

    상태 라인은 프로토콜 버전, 상태 코드, 상태 텍스트로 구성된다.

    서버에서 처리 결과를 상태 라인에  표시하는데 이를 통해 간략하게나마 결과를 확인할 수 있다.

     

    헤더는 바디를 가지고 있기 때문에 헤더와 바디를 빈 줄로 구분하고 있다.

     

    URI란?
    URI( Uniform Resource Indentifier)의 약자로 URL ( Uniform Resource Locator )과 URN ( Uniform Resource Name )을 포함하는 좀 더 넓은 의미의 표현이지만 웹 프로그래밍에서는 URI와 URL을 동일한 의미로 사용해도 무방한다.
    반응형

    'Technique > WEB' 카테고리의 다른 글

    HTTP 상태 코드  (0) 2019.09.16
    HTTP 처리 방식  (0) 2019.09.16
    웹 프로그래밍  (0) 2019.09.16
    웹 서버, 웹 어플리케이션  (0) 2017.06.13
    [ 펌 ]HTTP의 새로운 상태 코드: 103 Early Hints  (0) 2017.05.11

    댓글

Designed by Tistory.