2019. 7. 27. 13:36ㆍ드론
웹은 인터넷을 위한 네트워크 시스템으로 서버와 클라이언트들이 연결되어 있는 집합이다. HTTP는 해당 서비스를 지원하는 HyperText 프로토콜이다. HTTP 요청에서 가장 일반적인 방법은 웹 브라우저 주소창에 URL을 입력하는 것이다. URL 형식은 다음과 같고 HTTP는 메세지를 만들고 해석하는 일을 한다. 실제 네트워크로의 전송은 TCP/IP 프로토콜이 담당한다. 예를 들어 google.com 같은 이름 형식의 주소는 DNS에 의해 숫자 형태 IP로 변환된다
참고: https://developer.mozilla.org/ko/docs/Web/HTTP/Basics_of_HTTP/Identifying_resources_on_the_Web
HTTP는 상태가 존재하지 않는 Stateless 프로토콜로 비교적 간단한 구성을 가지고 있다. 왜냐하면 클라이언트가 서버에게 html 웹 페이지를 요청하고 서버는 이에 대해 응답을 하고 나서 연결을 바로 종료해버린다. 따라서 바로 응답을 재요청해도 직전 클라이언트임을 인식하지 못하게 된다. 최근에는 이와 같은 특징을 보완하고 쿠키와 세션이라는 기술이 사용되기도 한다
HTTP의 요청헤더와 응답헤더를 살펴보면 총 3가지 부분으로 나뉜 것을 알 수 있다
먼저 요청헤더에서는 Request Line은 HTTP/1.1 프로토콜 방식으로 test.html 페이지를 달라는 내용이다. 그 아래에는 클라이언트의 정보가 담겨져 있다. 마지막 메세지는 서버에게 전달하는 목적인 POST에서만 담겨져 있다
응답헤더에서의 Status Line에는 클라이언트 요청에 대한 성공 여부가 담겨져있다. 200 OK는 성공, 이외에는 실패라고 생각하면 된다. 실패 메세지들을 구분하여 어떠한 에러가 검출되었는지 확인할 수 있다. 그리고 아래 메세지에 대한 요약 정보와 마지막에 실제 메세지 코드가 담겨져 있다
'드론' 카테고리의 다른 글
웹 서버와 라즈베리파이 - 1 (0) | 2019.07.27 |
---|---|
HTTP와 웹 서버 프로그래밍 - 2 (0) | 2019.07.27 |
공유기 포트포워딩으로 외부 네트워크에서 TCP/IP 구현 (0) | 2019.07.26 |
스레드 방식의 다중 클라이언트 echo (0) | 2019.07.26 |
2개의 세마포어로 스레드 순서 정하기 (0) | 2019.07.26 |