When I draw a network diagram with, say, browser A communicates with http-server B which talks to a database C, I draw the nodes for A, B and C and edges between A and B and between B and C. Then I want to materialize the flow direction by adding arrows. On which side should I place the arrowheads?
alt text http://www.forteresse.net/site/stack-overflow-question/image
Variant 2 is the intuitive one, but IMHO, the variant 1 is the correct one since the data is really flowin开发者_如何转开发g from B towards A.
I want to indicate that the browser is accessing the http-server for reading a web page, for example A is browsing http://www.xyz.com
So, are there any references to help me on this?
If it's a diagram of "what the user is doing", the user is going from client to server.
If it's a diagram of "where data is going", the client is passing a string to the server, and the server is returning a string to the client; it can be a two way arrow.
I'd probably go with Variant 1. "The browser is accessing" is a one-way operation.
When you want to indicate that data is sent from (Client)A to (Server)B, draw the arrow from A to B. When you want to indicate that data is sent from (Server)B back to (Client)A, draw the arrow from B to A. Data can flow both ways.
In regards to your slashdot reference, when the (Client)A wants to browse to Slashdot.org, it makes a request to the server, so you would draw an arrow from (Client)A to (Server)Slashdot.org. When Slashdot receives this request, it sends back a response to your client to render Slashdot in your browser, so in that case you would draw an arrow from Server(Slashdot.org) to (Client)A.
Here is a simple reference explaining it:
http://computer.howstuffworks.com/web-server1.htm
精彩评论