In HTTP Protocol we have to have what is called a network layer, this in simple terms is what links the HTTP request to the HTTP Daemon. But it does much more than that so take for example we have a website trying to communicate with a Daemon, but before it goes to the Daemon certain things have to happen. Firstly, the data that is trying to be sent to the daemon is put into segments and each segment is encapsulated into datagrams, the datagrams are then sent to a nearby router normally the one you are connected to. Then when the router receives the datagrams it extracts the transport-layer segments, and then from there it then moves the segments up to the transport layer, this then means it can then be transferred through the network. One of the primary roles for the router is to forward the datagrams from different types of requests from its input links up to the output links. But one of the primary roles of the network plane is to coordinate these local routers forwarding actions, this then allows the datagrams from requests to be transferred as an end-to-end transfer, this happens along different paths of routers between where the request came from in the first place and also where the request is going to.
Machine to Machine Illustration of Interactions using Protocol:
On the next page is an Illustration which shows the machine to machine illustration, this is based on what was previously said on the paragraphs previously about how datagrams are moved through the network and also what else is involved in the movement of these datagrams.
How HTTP fits into the internet hourglass?
The internet hourglass is a model that has been created which consist of six protocol and application layers that all originate from a single bubble which is called IPv4. Scientists understand this model which is called EvoArch as a process that gives conclusions as to why some protocols survive and others do not survive. This can then be used in future development so that the internet can continue to improve and also help develop new uses for the internet and overall better security.
Above is a diagram of the internet hourglass and as you can see from the diagram it consists of different layers which all contribute to the internet and how the internet works. As you can see from the model depending on various factors depends on the path that the internet takes to work. But how does HTTP fit in to this model, well HTTP is an application protocol which means this is what the websites and applications which use the internet are built on. So, HTTP is needed so that websites and applications can be built and from HTTP being the build this then allows the other layers around this to work and contributes to the working of the internet. So, with the use of HTTP in websites this then allows the transport protocols to work such as TCP (Transfer Control Protocol) which allows requests to be transferred through the network and display the requests that the user requests on their browser.
How is HTTP used for Web Communication?
HTTP is used widely across the whole of the internet and is one of the most common types of communication methods for the internet in today’s web developments. If you where to look in any address field at the top of your web browser, you are likely to see that at the start of the address it says something like “http://”. HTTP is the original “client-server” protocol. But how is HTTP used for web communication, well when users on their web browser click a link or type a website address into the address bar such as “www.google.co.uk” or when you click a link from a search result you may have done on Yahoo the browser then sends a request over the internet to a web server for that website. The web server houses the site that the user requests and deals with all traffic that comes to the website. The web server from that request then sends back to the user what it wants, this can be anything from text, images, video or files that are to be downloaded. This data that is sent back is then displayed in the users’ web browser for them to view. An advantage to HTTP is that we have expert knowledge on it and it is used widely and is compatible with nearly all computers and web browsers. But on the other hand, a disadvantage to HTTP is that it is unencrypted which means that the data being communicated can be intercepted by hackers or other third parties who may want your data.
Above is a diagram illustrating the way that HTTP communicates with a server and also how it sends the data back to the computer and to the web browser.
HTTP as a Stateless protocol and the impact this has:
HTTP is said to be a stateless protocol because each request which is made by the user is executed and performed independently and this happens without knowing what the requests beforehand where about or the details of them. A stateless protocol does not need the server to keep any information or know the status about each user for the time that is needed of the multiple requests. But some website may need to track the users as they go from one page to the next, an example of why a website may need to do this is when the website needs to be customized for a user as they go along. This problem can be fixed from one of the options given below:
• HTTP cookies
• Using a PHP website
• Server-side sessions
• Hidden variables (Used for the use of a form E.G log on page)
The protocol is made stateless is because the server does not need to track the state of the multiple requests, even if the server did want to do this it is not capable of doing such a task. The advantages to this though is that this then limits the amount of data that is transferred between the user and the server and also means there is less connection between the pair of them which means processes and requests are much faster overall. So, to put this simply HTTP is what the internet is made from and the is at the heart of it. But it is unable to keep and log the ID of each user that it is connected to and receives requests from and from that whatever HTTP receives it is deemed as a one of a kind connection, which then means there is no correlation to the user at all.
The impact this has on the internet means that it has become increasingly harder to determine where certain requests have come from, only in recent years have we been able to track these requests through the use of more precise IP addresses and also from better trace methods such as we can implement a trace on the JSP resource this then returns the content of the resource, this is so we could see, if needed, what is being received on the user side of the request. We will talk more about request methods in the next part.
There many different types of request methods, I am going to be looking at three different ones. The first one is called a GET method, this is for getting data from the server of the website to the person who has requested it. So, what happens here is that the get method adds the data that is being requested to the address of the URL. Also, a GET is cached in the RAM of the computer but security wise this is one of the least secured methods as everyone can see the data, so it is noted that you should. Not be using GET when transferring sensitive data such as passwords, email addresses and personal information.
The second method that I will be looking at is called a POST method, the post method is used to send the data from the user to the server the website is hosted on. Security wise POST is safer than GET because the parameters not stored in the history of the browser or in any of the web server logs and also the data is not being displayed in the URL. POST data is not stored in the RAM of the computer as cached files. If the user needs to go back then the data will be submitted and this will then prompt the software to tell the user that the data is going to be resubmitted, an example of this happening is when you are processing an order for some concert tickets and when you are in the middle of the process you may need to go back as you have made an error and once you click back it then tells you that the data will be submitted again.
The third and last method that I will be talking about is called the HEAD method this is virtually the same as the GET method in the fact that it has the same security measures, it stores the data as a cached file in the RAM and also the data that is transferred is shown to anyone who can see it. But the main difference which differentiates the two is that the HEAD method is used for HTTP headers so titles of web pages and section headers etc. but this is not used at all for the body of the document, so this includes things like the images and text of the website etc.
What is the need for Status Codes in HTML?
Status codes in HTML are essential, they are needed when an error is flagged up and for each individual error there is a code to go with that error. When an error is flagged up you will receive a code on your screen and also a small description of what the error could be, an example of this is shown below.
The most common error code is shown above so as you can see the error code is shown here, then the reason for the error is shown here in brief and then lastly there is a short description of the error shown just below the other two here. This may vary slightly on different websites but mostly will stay with the same kind of concept, layout and information displayed.
Section 1.2 Web Technology: The role of Semantic Mark-up in HTML5:
Definition of Semantic Web:
The semantic web is very similar to the usual World Wide Web, but it gives extra principles from documents to data. The semantic web means and quote ”provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries”. Basically, what this means is that all the information which is connected up which can then be easily managed and understood by our computers, and this would happen on a worldwide scale. A big problem we have currently is that we have data in web pages that can be used in some contexts but then it has no meaning in other contexts, this is down to the fact there is no single system for publishing data and the affect this then has is that it cannot be administrated easily by anyone. A benefit though of the semantic web is having large amounts of data, knowledge and information which can then allow computers, AI Robots and also more high-tech products such as virtual assistants E.G Apple’s Siri or Amazons Alexa, to have access to them and also be able to understand the data it is receiving.
What are the Role of Semantic Tags in HTML5:
Semantic tags are basically there to make the content we are typing on Eclipse more understandable and readable, the content can then also be directly determined from the tags that we give them when coding our websites. So an example of a tag is when we want to insert a footer at the bottom of our web page, we would first before writing anything else in our code write the tag “
” the forward slash tells the software that this is the end of the footer.
Also, with the Semantic tags in HTML5 it allows developers of websites to build more complex websites a lot easier and also takes a lot less time to build in the process. This is down to the fact that HTML5 allows the code to be interpreted by all the main browsers which are used world-wide, this includes browsers such as Google Chrome, Apples Safari and also Firefox just to name a few. This helps because it means developers don’t have to build one website for Chrome and then have to build the exact same website for safari but just using different processes and building techniques.
Commonly used Semantic Tags:
There are many different semantic tags that can be used as part of HTML5 but I am going to go through some of the main ones which are used most commonly, so the first one that every website will have in the beginning is the use of a header tag, so to start one as previously explained, you would first write “
” this would tell the software that you are ending this header and it will then implement this into the site once you have saved the website and reloaded the website.
Another commonly used Semantic tag is the use of a nav tag this is used to navigate to different websites or different parts of the same website. So an example of this is that say if a user was on a news article and you wanted to show a user a list of articles that are similar to the one they are viewing currently, then to show this you would firstly start off with the tag
”, as said previously this tells the software that you are ending this navigation semantic tag.
Another semantic tag which is commonly used in developing is the use of the figure tag this allows the developer of the website to implement media into their website so through the use of this they are allowed to implement media such as images and illustrations E.G UML diagrams etc. To implement something like this you would first write the code “
” this would then allow the software to end the line of code.
HTML4 tags vs HTML5 tags:
HTML4 tags have been simplified in the newer version of HTML which is called HTML5, many have been stopped or deleted or changed. So, for example in HTML4 the new header tag was not used, and it was first introduced as a tag in HTML5. Previously in HTML4 you would have had to write this piece of code with additional tags which would over crowd the websites coding, the tags you would add in would be ones such as . Also, in HTML4 the word head would actually not be used to define a header it is actually used to define a specific URL for a data profile.
Also, in HTML4 if a developer wanted to implement an image they would use the tag but in HTML5 as said previously this has been changed to