본문으로 바로가기
728x90
반응형

오늘의 프로토콜은 여러분들이 잘 아시는 HTTP입니다!


웹에 접속할때 앞에 http를 쓰고 블라블라 입력을 하죠. 이 때 쓰는 http도 프로토콜이었던겁니다.


HTTP 프로토콜은 www상에서 정보를 주고 받을 수 있는 프로토콜입니다.


보통 http를 안쓰더라도 웹브라우저에서는 기본값으로 http 프로토콜을 사용합니다.


밑에서 더 자세히 살펴봅시다!


'Network Protocols Handbook의 pdf파일'을 기반으로 포스팅 하겠습니다.


더욱더 자세한 내용은 RFC19458(https://tools.ietf.org/html/rfc1945)문서를 보시면됩니다.


 

 

 



HTTP도 지금까지 포스팅한 프로토콜처럼 7계층인 Application layer입니다. 


HTTP는 1990년 이래로 World Wide Web 글로벌 계획에 의해 사용되었습니다.


HTTP는 요청의 목적을 나타나는데 사용할 수 있는 제한없는 메소드를 허용합니다.


메소드가 적용될 자원을 푯기하기 위해 URL또는 URN과 같은 URI가 제공하는 참조 규범을 토대로 합니다.


메시지는 인터넷 메일 및 MIME에서 사용하는 형식과 비슷한 형식으로 전달됩니다.


HTTP는 SMTP, NNTP, FTP, Goper 및  WAIS와 같은 다른 인터넷 프로토콜에 대한 사용자 에이전트와 프록시/게이트웨이 간의 통신을 위한 일반 프로토콜로 사용되어 다용한 응용 프로그램에서 사용할 수 있는 리소스에 대한 기본 하이퍼 미디어 액세스를 허용하고 사용자의 구현을 단순화 합니다.


HTTP 프로토콜은 요청/응답 프로토콜입니다. 클라이언트는 요청 메소드, URI 및 프로토콜 버전의 형태로 서버에 요청을 전송 한 다음, 서버와의 연결을 통해 수정 한 사람, 클라이언트 정보 및 본문이 포함된 MIME 같은 메시지를 전송합니다.


서버는 메시지의 프로토콜 버전과 성공 또는 오류 코드, 서버 정보, 엔티티 메타 정보 및 가능한 엔티티 본문 내용이 포함된 MIME 같은 메시지가 뒤따르는 상태줄로 응답을 합니다.


HTTP에는 버전이 있는데, 첫번째 버전인 0.9는 인터넷을 통한 원시적인 데이터 전송이 가능하게 했고, 1.0은 메시지가 전송 된 데이터에 대한 메타 정보와 요청/응답 의미에 대한 수정한 사람을 포함하도록 하는 MIME 메시지 형식이 되도록 향상시켰습니다.


HTTP 1.1은 기능의 안정적인 구현을 위해 보다 엄격한 요구사항을 포함합니다. HTTP는 또한 보안버전이 있습니다. 그것에 대한건 다음에 포스팅 하겠습니다.


 

 

 



이번에는 HTTP의 request, response 메시지 구조에 대해 한번 살펴 보겠습니다.


Request 메시지 의 형식은 아래와 같습니다.



Request Line는 메소드 토큰, Request URI 및 프로토콜 버전으로 시작하여 CRLF로 끝납니다. 요소들은 SP 문자로 구분됩니다.


최종 CRLF 순서를 제외하고 CR 또는 LF는 허용되지 않습니다.


General Header, Request Header, Entity Header, Message Body 값들은 reference문서에서 확인할 수 있습니다.


이번에는 Response 메시지의 형식을 보겠습니다.



Status Line의 요소는 3자리 정수 결과 코드입니다.


요청 메시지를 받아서 거기에 대한 결과를 코드로 나타내어 보냅니다. Reason-Phrase는 상태 코드에 대한 짧은 텍스트 설명을 하기 위한 것입니다.


Status-Code는 오토마타에서 사용하기 위한 것이고, Reason-Phrase는 사용자를 대상으로 합니다.


클라이언트는 Reason-Phrase 구문을 검사하거나 표시할 필요는 없습니다. General Header, Response Header, Entity Header, Message Body에 대한 것은 Reference를 참조 하시면됩니다.


 

 



오늘 포스팅에서는 HTTP 프로토콜의 개념에 대해 적어보았습니다.


HTTP는 가장 잘 알아야할 프로토콜중 하나 이므로, 다음 시간에는 실질적으로 어떻게 사용되는지에 대해서 포스팅하겠습니다.


읽어주셔서 감사합니다.


728x90
반응형