1

This is from an interview question - http://www.glassdoor.com/Interview/Yelp-Software-Engineering-Intern-Interview-Questions-EI_IE43314.0,4_KO5,32_IP2.htm

"protocol used to transfer message in HTTP application?"

I know that a protocol defines a "method of exchanging data over a computer network". http://www.computerhope.com/jargon/p/protocol.htm

I know that HTTP is "protocol used to transmit data over the world wide web". (http://www.computerhope.com/jargon/p/protocol.htm)

I know that an application is a "a program with a user-interface"(https://stackoverflow.com/questions/4431819/what-are-the-differences-between-a-program-and-an-application)

Combining all those definitions, I would say an HTTP application is just an application that can be accessed over the internet, say StackOverFlow. But for transferring a message to the application, wouldn't that be done over HTTP as well because it involves sending data over the world wide internet?

Is HTTP the correct answer to this? Or is it something else?

3
  • 1
    The question isn't very clear. What is "a HTTP application"? Is that just a general application of the HTTP protocol, or a web browser, a web server maybe, perhaps a mobile app? And really, there are lots of protocols being used at different levels, the question is not clear.
    – heavyd
    Feb 6, 2015 at 7:46
  • 3
    I'm going a bit on a limb here [without question context/ability to clarify] but they could mean transport protocol - then - in reality - it would be tcp. BUT - this is not standard requirement. You could use different transport, if you wish! See for example here: stackoverflow.com/questions/323351/does-http-use-udp
    – wmz
    Feb 6, 2015 at 10:11
  • Interview questions rarely have right or wrong answers. The questions are often vague to prevent the person from just playing back something they googled or memorized. The interviewer wants to hear how you think about the problem and often the right "answer" is to ask the interview a question that points out where his question was ambiguous and helps him clarify it. "Did you mean the transport protocol?" for example. Jul 13, 2016 at 9:38

3 Answers 3

0

I don't see that question on the link you posted. And "protocol used to transfer message in HTTP application?" is not a complete question, so it is hard to say what was really asked.

Your comments are totally right. An HTTP application is talking HTTP to clients or servers. Regarding the message to transfer it has to be asked if this is an external or internal message. Internal messages can be of any type on any protocol. If it is a message to be sent with HTTP, the protocol is HTTP, so simple.

If the question is about what other protocols are typically used you could start with TCP, IP, Ethernet. For HTTPS you would also think about SSL and TLS.

If the question was about messages that can be sent over HTTP then STTR gave a quite long list of protocols that could be used above HTTP.

1
0

Transfer message in HTTP protocol: XML(UDDI,WSDL,SOAP);WS-Security;XML-RPC;JSON;REST

Business process protocol: BPEL, BPMN

Message protocol: SOAP, AMQP, MQTT, STOMP

Java: JMS

Socket: WebSocket

Broker object protocol: COM/DCOM, CORBA/IIOP(HTIOP,SSLIOP), JAVA RMI

Socket: WebSocket

Adobe message protocol: AMF

P2P: WebRTC

If you look at the first list of protocols and consider the http protocol as a service working with XML, from this point of view, these protocols have the greatest affinity.

Yes, all of these protocols can be wrapped into other protocols, such as FTP, or even use UDP datagrams.

Especially when you consider the level of IP protocols - TCP/IP, UDP/IP.

But, among other things HTML, SOAP, UDDI and other protocols of the first list are 7 layers of the network model OSI (application). And, this list is wrapped or transmitted using HTML. Either as parameters or as a file server in HTTP.

Other lists have a different affinity, but have a common feature - the interaction between the server-server and the client-server part.

For example there is no authority for AJAX. Yes, you can make custom realization browser on the server and then, you will have an emulation system interaction between AJAX-AJAX web applications on the server, but for me - it is far-fetched.


All 7 levels include their titles, and each represents the next, as a package.

The thing is that the higher level models OSI, the easier access to the interior nesting doll man. enter image description here

Most will be able to work with the information in the upper levels. It seems to me more important to the final information.

Electromagnetic oscillations can also enjoy - such as the northern lights. enter image description here

Or transformator Tesla. enter image description here

But it is an aesthetic pleasure.

A task-level protocols 7 - practical and pragmatic.

It seems to me, that the message is the OSI model, which can derive from the possibility of interaction at the Web systems.

Yes, you can go down to the bottom and say - put in an electrical capacitor circuit and thus tear flow of electric current - do galvanic isolation.

But oscillatory processes go further - through the condenser, and consider this process as a signaling or information, and the process will assume the message.

Thus you need to decide - what is the message? What is the transmission medium? And the macroscopic level of abstraction at which you decide to consider the phenomenon.

5
  • What about TCP like one of the comments said? That one makes the most sense, "transport" Feb 6, 2015 at 17:50
  • @committedandroider Update. Web application use 1st protocol as command (SOAP), or catalog application (UDDI), or send dataset (JSON), or use parameters (REST) ... and it 7 (application) OSI level. Oh, transport - VPN - as sample), or SPX))).
    – STTR
    Feb 6, 2015 at 19:15
  • I mean thats a long list haha. In terms of answering this question though, TCP is transport layer protocol, so I am assuming it is used in the "transfer" of messages. Feb 6, 2015 at 19:37
  • @STTR Can I have your brain please. The fact that you knew all of those off the top of your head makes me a little bit jealous of your brain cells.
    – Codezilla
    Feb 6, 2015 at 19:50
  • @committedandroider Update2, Codezilla - Dr. Sheldon Cooper ?)) Yes, send question).
    – STTR
    Feb 6, 2015 at 21:27
0

What protocol is used to transfer a message in a HTTP application?

If you are using your browser to access the HTTP application, your browser is talking HTTP or SPDY to the application, and the application is responding with the same protocol.

"HTTP application" can mean something that has an "HTTP API" - which basically means its not designed for a browser or human user to use, but for a program to use. They will still use the HTTP/SPDY protocol to issue requests and receive responses - but the content may not be HTML - it might be XML or JSON, or it might just be an HTTP GET request with no body.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .