HTTP 응용 프로그램에서 메시지를 전송하는 데 어떤 프로토콜이 사용됩니까?


1

이것은 인터뷰 질문에서 온 것입니다-http: //www.glassdoor.com/Interview/Yelp-Software-Engineering-Intern-Interview-Questions-EI_IE43314.0,4_KO5,32_IP2.htm

"HTTP 응용 프로그램에서 메시지를 전송하는 데 사용 된 프로토콜?"

프로토콜이 "컴퓨터 네트워크를 통해 데이터를 교환하는 방법"을 정의한다는 것을 알고 있습니다. http://www.computerhope.com/jargon/p/protocol.htm

HTTP가 "World Wide Web을 통해 데이터를 전송하는 데 사용되는 프로토콜"이라는 것을 알고 있습니다. ( http://www.computerhope.com/jargon/p/protocol.htm )

응용 프로그램이 "사용자 인터페이스가있는 프로그램"이라는 것을 알고 있습니다 ( https://stackoverflow.com/questions/4431819/what-are-the-differences-between-a-program-and-an-application )

이러한 모든 정의를 결합하여 HTTP 응용 프로그램은 인터넷을 통해 액세스 할 수있는 응용 프로그램입니다. 그러나 응용 프로그램으로 메시지를 전송하는 경우 월드 와이드 인터넷을 통해 데이터를 전송하기 때문에 HTTP를 통해서도 수행되지 않습니까?

HTTP가 이것에 대한 정답입니까? 아니면 다른 것입니까?


1
그 질문은 명확하지 않습니다. "HTTP 응용 프로그램"이란 무엇입니까? HTTP 프로토콜이나 웹 브라우저, 웹 서버, 아마도 모바일 앱의 일반적인 응용 프로그램입니까? 그리고 실제로, 다른 수준에서 사용되는 많은 프로토콜이 있으며, 그 질문은 분명하지 않습니다.
중화

3
나는 여기서 [질문의 맥락 / 명확한 능력없이] 사지에 조금 가고 있지만 그들은 전송 프로토콜을 의미 할 수있다. 그러나 이것은 표준 요구 사항이 아닙니다. 원하는 경우 다른 교통 수단을 사용할 수 있습니다! 예를 들어 여기를보십시오 : stackoverflow.com/questions/323351/does-http-use-udp
wmz

면접 질문에는 정답이나 오답이 거의 없습니다. 질문은 종종 사용자가 google 또는 암기 한 것을 재생하지 못하도록하기 위해 모호합니다. 면접관은 문제에 대한 귀하의 생각을 듣고 싶어하며 종종 "답변"은 면담이 자신의 질문이 모호한 부분을 지적하고 질문을 명확히하는 데 도움이되는 질문을하는 것입니다. "전송 프로토콜을 의미 했습니까?" 예를 들어.
David Schwartz

답변:


0

게시 한 링크에 해당 질문이 표시되지 않습니다. "프로토콜이 HTTP 응용 프로그램에서 메시지를 전송하는 데 사용 되었습니까?" 완전한 질문이 아니므로 실제로 요청 된 내용을 말하기가 어렵습니다.

귀하의 의견은 완전히 맞습니다. HTTP 응용 프로그램이 클라이언트 나 서버와 HTTP를주고 있습니다. 전송할 메시지와 관련하여 메시지가 외부 또는 내부 메시지인지를 묻어 야합니다. 내부 메시지는 모든 프로토콜에서 모든 유형이 될 수 있습니다. HTTP와 함께 전송되는 메시지 인 경우 프로토콜은 HTTP이므로 매우 간단합니다.

일반적으로 사용되는 다른 프로토콜에 대한 질문이 있으면 TCP, IP, 이더넷으로 시작할 수 있습니다. HTTPS의 경우 SSL 및 TLS에 대해서도 생각할 것입니다.

HTTP를 통해 전송 될 수있는 메시지에 대한 질문 인 경우 STTR은 HTTP보다 훨씬 긴 프로토콜 목록을 제공했습니다.


문제는 아래 3 리뷰입니다
committedandroider

0

HTTP 프로토콜의 메시지 전송 : XML (UDDI, WSDL, SOAP); WS-Security; XML-RPC; JSON; REST

비즈니스 프로세스 프로토콜 : BPEL, BPMN

메시지 프로토콜 : SOAP, AMQP, MQTT, STOMP

자바 : JMS

소켓 : WebSocket

브로커 객체 프로토콜 : COM / DCOM, CORBA / IIOP (HTIOP, SSLIOP), JAVA RMI

소켓 : WebSocket

Adobe 메시지 프로토콜 : AMF

P2P : WebRTC

첫 번째 프로토콜 목록을보고 http 프로토콜을 XML 작업 서비스로 생각하면 이러한 관점에서 이러한 프로토콜이 가장 친숙합니다.

예, 이러한 모든 프로토콜은 FTP와 같은 다른 프로토콜로 래핑되거나 UDP 데이터 그램을 사용할 수 있습니다.

특히 IP 프로토콜 수준 (TCP / IP, UDP / IP)을 고려할 때.

그러나 첫 번째 목록의 HTML, SOAP, UDDI 및 기타 프로토콜은 네트워크 모델 OSI (응용 프로그램)의 7 계층입니다. 그리고이 목록은 HTML을 사용하여 랩핑되거나 전송됩니다. HTTP의 매개 변수 또는 파일 서버입니다.

다른 목록은 선호도가 다르지만 공통 기능인 서버 서버와 클라이언트 서버 부분 간의 상호 작용이 있습니다.

예를 들어 AJAX에 대한 권한이 없습니다. 예, 서버에서 사용자 지정 구현 브라우저를 만들 수 있으며 서버의 AJAX-AJAX 웹 응용 프로그램간에 에뮬레이션 시스템 상호 작용이 가능하지만 나에게는 아주 많이 사용됩니다.


7 개 레벨 모두 제목을 포함하고 각 레벨은 다음을 패키지로 나타냅니다.

문제는 더 높은 수준의 모델 인 OSI가 내부 중첩 인형 맨에 더 쉽게 접근 할 수 있다는 것입니다. 여기에 이미지 설명을 입력하십시오

대부분은 상위 수준의 정보로 작업 할 수 있습니다. 최종 정보에 더 중요한 것 같습니다.

오로라와 같은 전자기 진동도 즐길 수 있습니다. 여기에 이미지 설명을 입력하십시오

또는 변형기 테슬라. 여기에 이미지 설명을 입력하십시오

그러나 그것은 미적 즐거움입니다.

작업 수준 프로토콜 7-실용적이고 실용적입니다.

메시지는 웹 시스템에서의 상호 작용 가능성에서 파생 될 수있는 OSI 모델 인 것 같습니다.

예, 바닥으로 내려 가서 전기 커패시터 회로에 넣고 전류 흐름을 찢을 수 있습니다-전기 절연을하십시오.

그러나 진동 과정은 콘덴서를 통해 더 진행 되고이 과정을 신호 또는 정보로 간주하면 메시지가 가정됩니다.

따라서 결정해야합니다-메시지는 무엇입니까? 전송 매체 란 무엇입니까? 그리고 현상을 고려하기로 결정한 거시적 추상화 수준.


의견 중 하나가 말한 것처럼 TCP는 어떻습니까? 그 하나가 가장 적합한, "전송"을 만든다
committedandroider

@committedandroider 업데이트. 웹 애플리케이션은 첫 번째 프로토콜 (SOAP) 또는 카탈로그 애플리케이션 (UDDI)을 사용하거나 데이터 세트 (JSON)를 보내거나 매개 변수 (REST)를 사용하고 7 (애플리케이션) OSI 레벨을 사용합니다. 아, 전송-VPN-샘플) 또는 SPX))).
STTR

긴 목록 하하를 의미합니다. 이 질문에 대답하는 관점에서 TCP는 전송 계층 프로토콜이므로 메시지의 "전송"에 사용되는 것으로 가정합니다.
committedandroider

@STTR 뇌 좀주세요. 당신이 당신의 머리 꼭대기에있는 모든 것을 알고 있다는 사실은 당신의 뇌 세포를 조금 질투하게 만듭니다.
Codezilla

@committedandroider Update2, Codezilla-Dr. Sheldon Cooper?)) 예, 질문 보내기).
STTR

0

HTTP 응용 프로그램에서 메시지를 전송하는 데 어떤 프로토콜이 사용됩니까?

브라우저를 사용하여 HTTP 응용 프로그램에 액세스하는 경우, 브라우저는 응용 프로그램과 HTTP 또는 SPDY를 통신하고 있으며 응용 프로그램은 동일한 프로토콜로 응답합니다.

"HTTP 응용 프로그램"은 "HTTP API"가있는 것을 의미 할 수 있습니다. 이는 기본적으로 브라우저 나 사용자가 사용하도록 설계된 것이 아니라 프로그램이 사용하도록 설계된 것을 의미합니다. 이들은 여전히 ​​HTTP / SPDY 프로토콜 을 사용하여 요청을 발행하고 응답을 수신하지만 컨텐츠 는 HTML이 아닐 수 있습니다. XML 또는 JSON 일 수도 있고 본문이없는 HTTP GET 요청 일 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.