 Hello, welcome to this session in the course on computer programming. In a series of sessions beginning with this session, we are going to look at scripting languages basically HTML. To begin with in this session, we shall discuss the basics of internet technologies. We specifically look at the concept of networks and the concept of protocols. Incidentally, for more information, there is a lot of information available in open source. We have identified two links for your benefit. Both are from Wikipedia. There is a article on World Wide Web and there is another one on computer network extensively giving you details about the concept that we are going to discuss now. You might have heard the terms LAN and VAN. LAN stands for local area network and VAN stands for wide area network. These terms have evolved when computers were first connected to each other in a single laboratory or in a room. Such networks are called local area networks or LANs. Nowadays, LANs encompass not just individual rooms, but even complete buildings. Wide area network or VAN on the other hand refers to network which spreads across cities, across continents, across larger campuses. Obviously, a wide area network will consist of connections between various local area networks. The basic networking when it evolved was represented by a layered model. Theoretically, a seven layer model was conceived. In practice, there were three major layers identified. The terms connected with networking are IP address or internet protocol address and the domain name server or DNS. The major internet layers and protocols are the internet work or IP. The transport layer which comprises of two protocols TCP and UDP. We will not go into the details of these. Suffice it to say that when you want to exchange information between two computers in an error free fashion and with a very exhaustive protocol ensuring that whatever is sent is properly received and is so acknowledged, you use TCP protocol. Much of our networking particularly internet transactions etcetera will use the TCP protocol. UDP protocol on the other hand is used when you want to send a very large amount of information such as a series of frames on a video or a large audio message. In such messages, even if a few frames are lost, the meaning of the final message is generally not lost and therefore, you use the UDP protocol. So, to recapitulate at the base you have the network layer. In the middle you have the transport layer which handles communication between two computers and at the top is an application layer which works on every computer and through which you access the network. Some of the applications are HTTP or hypertext transfer protocol, FTP or file transfer protocol or email which instantly was recognized as a separate application protocol. The worldwide web has a very interesting background history they were number of physics researchers in CERN and they were large teams who needed to share portions of reports, drawings, photos etcetera etcetera for their scientific work. Unfortunately, the only mechanism available at that time was you copy multiple files incidentally all these details were available in computer readable format, but they were all independent digitized drawings, independent reports, independent photographs and so on and the only mechanism available for researchers was copy multiple files then search within those files and it used to be a very very time consuming affair. Tim Berners-Lee at CERN first proposed two important and significant contributions one called the hypertext transfer protocol or HTTP and hypertext markup language a special language which could describe a document as a combination of variety of things such as reports drawings etcetera etcetera etcetera. This proposal was made in 1989 to 1991. Now somebody has to interpret this language just like you have a compiler to compile and execute C plus plus programs you need a compiler or an interpreter for HTML. Mark Henryson of NCSA wrote first such compiler which was called the browser he built the mosaic browser in 91 to 93 time frame you are all familiar with browsers in fact you are using browsers to listen to this lecture. The basic characteristics of worldwide web is that there are hyperlinks which means there are distributed documents to whom you can connect through links. You click on a link and you actually can access that document on whichever computer the document is located. In order to create such links you need what is known as URL or uniform resource locator. Uniform resource locator is nothing, but the address that you put in your browser at the top while accessing a page. Incidentally you can handle multimedia data very effectively on the worldwide web. Web based information systems then evolved in which large servers containing information would act as information resource these would house instances of what is called HTTP server or database server etcetera. This information on such servers would be accessed by a client machines which are connected on a network to this server and these interact with one or more information resources through browsers. Today's world you take all of this for granted it is not easy for people to conceive and implement such systems in the early days. URL as you know it has to specify a protocol which is also called a scheme. It needs to specify a DNS server and it needs to specify the unique name of the page. The protocol could be any one of HTTP, FTP, file, news, telnet, melto as I mentioned some time ago. The hypertext transfer protocol has been the key for all information exchange and interaction from within computers which are connected on a network. This is an application layer protocol and it is essentially an ASCII coded request reply based protocol. Typically you will write HTTP colon slash slash host followed by a port number followed by a path to resource. Again you need not worry to understand all of these although all of this is described very well in the references that have been given. This session is primarily to introduce you to how web evolved in this world. There are HTTP message types which are called request message or response message. The request message is you may say get something for me or post something on to the other side. Response message will be like what is the status of your request, what is the message body, etc. There are various methods or procedures or you may say functions in our language which are associated with HTTP. So, there is a get functionality or get method which is a request to read a page. A head method is a request to read a header. Similarly, request to store a page, append to a name page, remove a page, etc is named as put method, post method, delete method. Link is a function to connect to resources and unlink is for disconnecting. As I said we can conceptually treat all these methods as equivalent to functions which have been provided in the HTTP HTML framework. In summary networks started by interconnecting a few computers on a local area network and then interconnecting these networks on to a wide area network. Specific protocols evolved and a very systematic methodology was adopted to handle information exchange between different computers. The most important from our point of view is the emergence of worldwide web which all of us use. HTTP is the basic protocol and through which you specify different web resources using URLs or uniform resource locators. You are all familiar with them more importantly the method of describing multimedia documents with links to each other is known as HTML or hypertext markup language. This is not a conventional programming language, but this is a language which is used by proof editors traditionally and that is why it is called a markup language. You write some text and you say this text should appear as bold, this text should appear as underlined, etc. In fact it is HTML that we are going to study in the subsequent sessions in greater details. Thank you for attending this session.