Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

5. "Issues" with "An overview of HTTP": Meaning of the first image, second image , meaning of "layered structure", meaning of "application layer", #3838

Closed
552020 opened this issue Apr 5, 2021 · 1 comment
Labels
Content:HTTP HTTP docs effort: medium This task is a medium effort. help wanted If you know something about this topic, we would love your help!

Comments

@552020
Copy link

552020 commented Apr 5, 2021

MDN URL: https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview

What information was incorrect, unhelpful, or incomplete?

I'm coming from the Codecademy Full-Stack-Path, that references really often to the MDN documentation. I'm a lerner not an expert. Sorry if I put all the 5 Issues in a single request!

I'll ask some questions about the document:

  • Regarding the section "An Overview of HTTP"
  1. Regarding the first image in the document: I'm not sure if this is a good representation of what the Internet is, since it put the server and the client outside the Internet as if the Internet would be like a proxy. But maybe I missunderstand what the Internet is

  2. Regarding the second image in the document: I sincerely don't understand what this image is meant to explain. The image is in my opinion not self-explaining and it's not fully explained in the text before or after it.

  1. Regarding the sentence: "Due to the layered structure of the Web stack, most of these operate at the transport, network or physical levels, becoming transparent at the HTTP layer and potentially making a significant impact on performance."

For me at this point the expression "the layered structure of the Web stack" was not clear to me and also the expression "HTTP layer". The whole layers thing was not clear to me. So I went back to the startpoint of the guide HTTP with the idea that this information was given previously and in fact the concept of layer is central in the short introduction to the tutorials.

  1. Regarding the concept of layer in HTTP

The expression "application layer" in the first sentence of the section ("Hypertext Transfer Protocol (HTTP) is an application-layer protocol for transmitting hypermedia documents, such as HTML.") is explained with an Hyperlink to the page Application Layer in Wikipedia. The first sentence of the Wikpage is this one: "An application layer is an abstraction layer that specifies the shared communications protocols and interface methods used by hosts in a communications network". It defines "application layer" as an "abstraction layer" referring for the explanation to the Wikipage Abstraction Layer. The first sentence of the article is: "In computing, an abstraction layer or abstraction level is a way of hiding the working details of a subsystem, allowing the separation of concerns to facilitate interoperability and platform independence. Examples of software models that use layers of abstraction include the OSI model for network protocols, OpenGL and other graphics libraries." with 5 hyperlinks connected to different concepts. We end up "understanding" that an application layer is a way of hiding the working details of a subsystem. I find it still kind of fuzzy, and I ask myself I there is no better way to explain direct in the original article what a application layer is.

  1. Application Layer in the Glossary.

I checked also for "Application Layer in the Glossary. Everytime I want to search something in the Glossary I've to google "MDN Glossary" with the concept I'm looking for cause I can't find a way to access it. It should be linked in "References and Guides" I would say but it's not.

I understand that this tutorial is written by experts and I'm not saying that they should be written in a way I get it immediately. I wanted just to express the point that some learners maybe could not get it so easily. I guess I've a general idea of how the communication between clients and servers (with the whole proxies in between) works with single requests from the client to the servers (and with the concerning the different parts that should be successively loaded (html, css, js, extra-contents and so on) but I find the explanation of the layer structure confusing and a little bit too layered! :-)

Specific section or headline?

What did you expect to see?

Did you test this? If so, how?

MDN Content page report details
@sideshowbarker sideshowbarker added Content:HTTP HTTP docs needs triage Triage needed by staff and/or partners. Automatically applied when an issue is opened. labels Apr 5, 2021
@github-actions github-actions bot added the idle label Dec 9, 2021
@sideshowbarker sideshowbarker added effort: medium This task is a medium effort. help wanted If you know something about this topic, we would love your help! and removed needs triage Triage needed by staff and/or partners. Automatically applied when an issue is opened. labels Dec 10, 2021
@teoli2003 teoli2003 reopened this May 29, 2022
@github-actions github-actions bot added the needs triage Triage needed by staff and/or partners. Automatically applied when an issue is opened. label May 29, 2022
@sideshowbarker sideshowbarker removed the needs triage Triage needed by staff and/or partners. Automatically applied when an issue is opened. label May 30, 2022
@Josh-Cena
Copy link
Member

  1. First image is redone in feat(http): Add SVG diagrams for HTTP overview page #34251.
  2. Second image should be familiar to people with network background, but even if not, the paragraph below provides the necessary information (that HTTP builds over TCP). You don't need to worry about other parts in the diagram if you don't understand them.
  3. (and 4) you correctly realized that "layered" means "abstraction". It is an abstract concept but understanding comes with time; I don't think MDN can do a much better job than Wikipedia. I think this paragraph already provides a good hint of what "layer" intends to mean:

    In reality, there are more computers between a browser and the server handling the request: there are routers, modems, and more. Thanks to the layered design of the Web, these are hidden in the network and transport layers. HTTP is on top, at the application layer. Although important for diagnosing network problems, the underlying layers are mostly irrelevant to the description of HTTP.

  4. This will be part of https://github.com/orgs/mdn/discussions/662

Since I think this page is meant as an overview, not a guide, and certainly not a tutorial, it has the right level of specificity. The only potential inaccuracy in the diagram is addressed. This issue has also been open for >3years without anyone wanting to do further elaborations, so I think we should call it done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Content:HTTP HTTP docs effort: medium This task is a medium effort. help wanted If you know something about this topic, we would love your help!
Projects
None yet
Development

No branches or pull requests

4 participants