<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Utibeabasi Umoren</title>
    <description>The latest articles on DEV Community by Utibeabasi Umoren (@yhuteemoren).</description>
    <link>https://dev.to/yhuteemoren</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1405165%2F253e62c8-7824-4343-a9ed-bdb34acba7ae.jpg</url>
      <title>DEV Community: Utibeabasi Umoren</title>
      <link>https://dev.to/yhuteemoren</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yhuteemoren"/>
    <language>en</language>
    <item>
      <title>DOM... What is it?</title>
      <dc:creator>Utibeabasi Umoren</dc:creator>
      <pubDate>Tue, 07 May 2024 15:55:49 +0000</pubDate>
      <link>https://dev.to/yhuteemoren/dom-what-is-it-3nop</link>
      <guid>https://dev.to/yhuteemoren/dom-what-is-it-3nop</guid>
      <description>&lt;p&gt;In the bygone eras of the web, before frameworks and libraries, there was a whisper... a murmur... a legend... DOM. For those brave souls who ventured into the uncharted territories of pure JavaScript, the DOM was both their weapon and their shield. But what exactly is this DOM you ask? Buckle up, young and brave developer, for we are about to embark on a journey to unveil its secrets!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DOM stands for Document Object Model.&lt;/strong&gt; There are many ways to describe or define what exactly it is and I will list some of the common descriptions.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It is a W3C (World Wide Web Consortium) standard. &lt;/li&gt;
&lt;li&gt;The DOM defines a standard for accessing documents:&lt;/li&gt;
&lt;li&gt;It's a programming interface for web documents.
It represents the structure of HTML or XML documents as a tree-like model where each node represents a part of the document, such as elements, attributes, and text.
All of these above descriptions are very much correct as long as it gives us one very important key point which is “accessing  the document - be it HTML or XML.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;"The W3C Document Object Model (DOM) is a platform and language-neutral interface that allows programs and scripts to dynamically access and update the content, structure, and style of a document."&lt;/p&gt;

&lt;p&gt;Don’t fret, let me break it down. &lt;br&gt;
Imagine a web page as a big tree. Each branch and leaf represents different parts like text, images, buttons, etc. The DOM (Document Object Model) is like a map of this tree. It helps programs (like JavaScript) understand and change what's on the page. So, if you want to move a leaf or add a new branch (like changing text or making a button do something when clicked), you can use the DOM to do it.&lt;br&gt;
It's a programming interface for web documents. It represents the structure of HTML or XML documents as a tree-like model where each node represents a part of the document, such as elements, attributes, and text.&lt;/p&gt;

&lt;p&gt;Below is a pictorial representation of  what the DOM looks like.&lt;/p&gt;

&lt;p&gt;In this tree:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The root element represents the entire HTML document, typically the &lt;code&gt;&amp;lt;html&amp;gt;&lt;/code&gt; tag.&lt;/li&gt;
&lt;li&gt;The branches represent elements within the document, such as &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;body&amp;gt;&lt;/code&gt;, headings (&lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;h2&amp;gt;&lt;/code&gt;), paragraphs (&lt;code&gt;&amp;lt;p&amp;gt;&lt;/code&gt;), and more.&lt;/li&gt;
&lt;li&gt;The leaves represent text content within the elements.
Each element in the DOM tree has attributes that provide additional information, like the id or class of an element. These attributes are not typically shown in a basic DOM tree visualization but are important for styling and manipulating elements using JavaScript.
The DOM tree structure reflects the hierarchical organization of an HTML document. By understanding the DOM, developers can manipulate and interact with the content and structure of a web page using languages like JavaScript.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The W3C DOM standard is separated into 3 different parts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Core DOM - standard model for all document types&lt;/li&gt;
&lt;li&gt;XML DOM - standard model for XML documents&lt;/li&gt;
&lt;li&gt;HTML DOM - standard model for HTML documents
What is the HTML DOM?
The HTML DOM is a standard object model and programming interface for HTML. It defines:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, for context, we will be using more HTML DOM.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The DOM Programming Interface&lt;/strong&gt;&lt;br&gt;
The HTML DOM can be accessed with JavaScript (and with other programming languages).&lt;br&gt;
In the DOM, all HTML elements are defined as objects.&lt;/p&gt;

&lt;p&gt;The programming interface is the properties and methods of each object.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A property is a value that you can get or set (like changing the content of an HTML element).&lt;/li&gt;
&lt;li&gt;A method is an action you can do (like add or deleting an HTML element).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The following example changes the content (the innerHTML) of the &lt;/p&gt;
&lt;p&gt; element with id="demo":&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{ &amp;lt;html&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;p id="demo"&amp;gt;&amp;lt;/p&amp;gt;

&amp;lt;script&amp;gt;
document.getElementById("demo").innerHTML = "Hello World!";
&amp;lt;/script&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt; }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the example above, getElementById is a method, while innerHTML is a property.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The getElementById method: the most common way to access an html element is to use the id of the element&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The innerHTML property: the easiest way to get the content of an element is by using the innerHTMK property and it is used for getting and replacing the content of the html elements.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;DOM SELECTORS&lt;/strong&gt;&lt;br&gt;
The selectors are used in the document (DOM) to manipulate web elements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FEW EXAMPLES OF DOM SELECTORS&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;getElementsByTagName ("")&lt;/strong&gt;: as the name implies, it gets the element by its tag name. getElementByTagName("h1")&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;getElementsByClassName("")&lt;/strong&gt;: gets the html documents by the class name given to a particular content.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;getElementById("")&lt;/strong&gt;: gets the Id class of an element.&lt;br&gt;
Notice here that it is only in getElementById the word "Element" is singular because it has just one ID.&lt;br&gt;
getElementById shows the full html content made for that id&lt;br&gt;
in order to access the full content of the other dom selectors you do, getElementByClassName("you tag the classname")[o] - calling the zero index of the array&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;QUERY SELECTOR / QUERY SELECTOR ALL&lt;br&gt;
document.querySelector ("the tag you want to select")&lt;br&gt;
query selector selects only the first item that it finds. and on the other hand, document.querySelectorAll selects all the items on the tag&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Get Attribute / Set Attribute&lt;br&gt;
in document.getAttribute, you need to select the element first in order to be able to use the getAttribute method (that is, document.querySelector("").getAttribute("");)&lt;br&gt;
brief example&lt;br&gt;
document.querySelector("li").&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fng8uor1izv1i2qp9f2e4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fng8uor1izv1i2qp9f2e4.jpg" alt="Image description" width="419" height="512"&gt;&lt;/a&gt;&lt;br&gt;
So there you have it, intrepid developer! The mystery of the DOM is unveiled. We almost had to reveal the real secret behind the DOM but let's just keep that between us developers.&lt;br&gt;
You've officially graduated from DOM newbie to DOM... well, maybe not quite a master, but at least you're no longer completely lost.&lt;br&gt;
Now go forth and conquer those web pages, armed with the knowledge of this (not-so-magical) model. Shall we?&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>THE FASCINATING HISTORY OF THE INTERNET. PERKS: DNS, NETWORK PACKET, FTP, HTTP &amp; HTTPS.</title>
      <dc:creator>Utibeabasi Umoren</dc:creator>
      <pubDate>Tue, 09 Apr 2024 20:04:53 +0000</pubDate>
      <link>https://dev.to/yhuteemoren/the-fascinating-history-of-the-internet-perks-dns-network-packet-ftp-http-https-nc8</link>
      <guid>https://dev.to/yhuteemoren/the-fascinating-history-of-the-internet-perks-dns-network-packet-ftp-http-https-nc8</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;THE HISTORY OF THE INTERNET&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Why was the internet created? In the 1950s and 60s, the United States was engaged in the Cold War with the Soviet Union. Each country was working to increase its science and technology capabilities in order to prevent nuclear attacks from the other, and also remain capable of attacking the other should the situation devolve. At that time, computers were much larger and more expensive than today's models. Mainframe computers took up entire rooms, and were only able to do specific tasks. Researchers needed to be able to use the computers to perform these tasks, but often had to travel long distances to find a computer to do a specific task. The proposed solution was a way to connect the computers so they could speak to each other, allowing researchers to share data without needing to travel to the location of the computer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmlrls6kcsnr7fo4epph8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmlrls6kcsnr7fo4epph8.png" alt="Image description" width="425" height="283"&gt;&lt;/a&gt;&lt;br&gt;
&lt;code&gt;Mainframe computers were the first to be connected by the internet.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How was the internet created?&lt;/strong&gt; The problem with having computers to communicate with each other was that the method of transferring data from one computer to another, circuit switching, took a long time and could easily be interrupted. All of the data had to be sent in one packet, and if the connection was interrupted at any time during the process, none of the data would get through. Scientists developed a different method called &lt;strong&gt;packet switching&lt;/strong&gt; to overcome this problem. With packet switching, the data could be broken up into smaller segments, and each segment could be sent individually. The smaller amounts of data took less time to transfer, and if an interruption occurred, some of the data would have made it through and the process could be continued without having to start over completely. Once the data reached its destination, the packets were able to be re-assembled into a complete packet.&lt;br&gt;
The evolution of the internet continued from here. Packet switching allowed computers to connect to each other over a network called &lt;strong&gt;ARPANET,&lt;/strong&gt; &lt;em&gt;&lt;strong&gt;the Advanced Research Projects Agency Network.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;When did the internet start?&lt;/strong&gt; In 1969, the first computers communicated over ARPANET from UCLA to SRI in California. This initial network only had four nodes, but more were added to allow research universities to share data and other resources. After ARPANET, other networks were developed, but the individual networks could not communicate with each other. In order to solve this problem, a set of rules called the Transmission Control Protocol and Internet Protocol were developed, known as &lt;strong&gt;TCP/IP.&lt;/strong&gt; These rules allowed for universal communication across all networks, and made sure that packets sent over a network would be delivered to the correct destination.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu9jy2dbnv1lmrhrsdnrs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu9jy2dbnv1lmrhrsdnrs.png" alt="Image description" width="323" height="425"&gt;&lt;/a&gt;&lt;br&gt;
&lt;code&gt;This 1982 map shows the entire internet at the time; each oval is a network, and each rectangle is a router.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;When was the internet introduced to the public? The &lt;strong&gt;World Wide Web was launched in 1991&lt;/strong&gt;. The Web allows users from any connected computer to locate resources and web pages using Uniform Resource Locators, or URLs. The URL functions as an address that tells the computer where to find the resource on the internet. The Web also uses HTTP, Hypertext Transfer Protocol, to enable users to download linked resources, and HTML, Hypertext Markup Language, the formatting language for web pages. Although people often refer to the Web as the internet, it is actually a service that runs on the internet, not the internet itself.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Summary Of The History Of The Internet&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The history of the internet is a fascinating journey spanning several decades, characterized by technological advancements, collaborations, and the evolution of communication. Here's a brief overview&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;1960s&lt;/strong&gt;: The origins of the internet can be traced back to the 1960s when the United States Department of Defense's Advanced Research Projects Agency (ARPA) initiated a research project called ARPANET. The goal was to create a decentralized communication network that could withstand a nuclear attack.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1970s&lt;/strong&gt;: ARPANET became operational in 1969, connecting four major universities in the United States. In the early 1970s, email was introduced, allowing users to communicate electronically over the network. As ARPANET expanded, it laid the foundation for the internet by developing protocols like TCP/IP (Transmission Control Protocol/Internet Protocol), which became the standard for data transmission.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1980s&lt;/strong&gt;: The National Science Foundation (NSF) created NSFNET in 1986, a network linking supercomputing centers across the United States. This expansion significantly increased internet usage. Tim Berners-Lee invented the World Wide Web in 1989 while working at CERN, proposing the concept of hypertext to facilitate the sharing of information globally.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1990s&lt;/strong&gt;: The 1990s witnessed exponential growth in internet usage and the commercialization of the web. Web browsers like Netscape Navigator and Internet Explorer made the internet more accessible to the general public. Companies began building websites, and e-commerce emerged. Search engines such as Yahoo!, AltaVista, and eventually Google revolutionized information retrieval.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2000s&lt;/strong&gt;: The early 2000s saw the rise of social media platforms like MySpace, Facebook, and later Twitter, transforming how people connect and share information online. Broadband internet became more widespread, enabling faster connections and multimedia content consumption. The launch of smartphones and mobile internet further revolutionized internet usage, making it accessible on-the-go.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2010s&lt;/strong&gt;: The 2010s witnessed the dominance of smartphones and the proliferation of mobile apps. Cloud computing became mainstream, facilitating the storage and access of data over the internet. Streaming services like Netflix and Spotify revolutionized entertainment consumption, while platforms like Uber and Airbnb transformed industries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2020s&lt;/strong&gt;: The internet continues to evolve rapidly, with advancements in artificial intelligence, blockchain technology, and the Internet of Things (IoT) shaping its future. Privacy concerns, cybersecurity threats, and debates over net neutrality remain significant challenges as the internet becomes increasingly intertwined with daily life worldwide.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Throughout its history, the internet has transformed communication, commerce, and culture, connecting people globally and reshaping how information is accessed and shared.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Ever Wondered What DNS Is?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;DNS&lt;/strong&gt; stands for &lt;strong&gt;Domain Name System&lt;/strong&gt;. It's essentially like a phone book for the internet.&lt;br&gt;
Humans access information online through domain names, like nytimes.com or espn.com. Web browsers interact through Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can load Internet resources.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5sa76i335bj9lc8v1iy4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5sa76i335bj9lc8v1iy4.png" alt="Image description" width="800" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you type a domain name (like &lt;a href="http://www.example.com"&gt;www.example.com&lt;/a&gt;) into your web browser's address bar, your computer needs to know the IP address (a numerical label assigned to each device connected to a computer network) associated with that domain name in order to access the website. This is where DNS comes into play.&lt;/p&gt;

&lt;p&gt;Each device connected to the Internet has a unique IP address which other machines use to find the device. DNS servers eliminate the need for humans to memorize IP addresses such as 192.168.1.1 (in IPv4), or more complex newer alphanumeric IP addresses such as 2400:cb00:2048:1::c629:d7a2 (in IPv6).&lt;/p&gt;

&lt;p&gt;DNS translates domain names into IP addresses, allowing your computer to locate and connect to the correct web servers. It works by storing a distributed database of domain names and their corresponding IP addresses. When you enter a domain name into your browser, your computer sends a query to a DNS resolver, which then checks its local cache for the corresponding IP address. If the IP address is not found in the cache, the resolver sends a request to a series of DNS servers until it finds the correct IP address. Once the IP address is retrieved, your computer can establish a connection to the web server hosting the desired website.&lt;/p&gt;

&lt;p&gt;In summary, DNS is a crucial component of the internet infrastructure that translates human-readable domain names into machine-readable IP addresses, enabling seamless communication and access to websites and other online resources.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;What Is a Network Packet?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpwj32ztclhx1c046p645.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpwj32ztclhx1c046p645.png" alt="Image description" width="600" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A network packet is a unit of data transmitted over a network.&lt;/strong&gt; It contains both the actual data being transmitted and the necessary metadata for routing and delivery.&lt;/p&gt;

&lt;p&gt;When data is transmitted over a network, it is broken down into smaller chunks called packets. Each packet typically consists of a header and a payload.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Header&lt;/strong&gt;: The header contains metadata such as the source and destination IP addresses, port numbers, sequence numbers, checksums, and other control information necessary for routing and delivery of the packet. It provides instructions to network devices on how to handle the packet as it travels through the network.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Payload&lt;/strong&gt;: The payload contains the actual data being transmitted, which could be anything from a part of a file to a segment of a web page, an email message, or any other type of digital content.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Network packets are the fundamental units of communication in computer networks, including the internet. They are transmitted from one network device (such as a computer, router, or server) to another, following a set of protocols and standards to ensure reliable and efficient data transmission. Packet switching is the method by which packets are routed through the network from the source to the destination, allowing for flexible and dynamic routing of data across complex networks.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;What Is FTP?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;FTP&lt;/strong&gt; stands for &lt;strong&gt;File Transfer Protocol.&lt;/strong&gt; It is a standard network protocol used for transferring files between a client and a server on a computer network, typically the internet.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqfe2bjs6gk07kwv1acux.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqfe2bjs6gk07kwv1acux.png" alt="Image description" width="750" height="506"&gt;&lt;/a&gt;&lt;br&gt;
&lt;code&gt;Image credit: investopedia&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;FTP operates on a client-server architecture, where one computer acts as the FTP server and another computer (or multiple computers) acts as the FTP client(s). The client initiates a connection to the server, typically using TCP/IP as the underlying protocol, and authenticates itself using a username and password.&lt;/p&gt;

&lt;p&gt;Once authenticated, the client can perform various file operations on the server, including:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Upload (put)&lt;/strong&gt;: Sending files from the client to the server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Download (get)&lt;/strong&gt;: Retrieving files from the server to the client.
3.** List (ls)**: Listing the contents of directories on the server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Delete (delete)&lt;/strong&gt;: Removing files from the server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rename (rename):&lt;/strong&gt; Changing the names of files on the server.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create directory (mkdir)&lt;/strong&gt;: Creating new directories on the server.
7.** Remove directory (rmdir)**: Deleting directories from the server.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;FTP can be used with both graphical user interface (GUI) clients, which provide a user-friendly interface for managing files, and command-line clients, which allow users to interact with FTP using text commands.&lt;/p&gt;

&lt;p&gt;While FTP is widely used for transferring files, it lacks built-in security features and sends data, including login credentials, in plain text, which makes it vulnerable to interception and unauthorized access. To address these security concerns, secure alternatives such as FTPS (FTP Secure) and SFTP (SSH File Transfer Protocol) have been developed, which encrypt data during transmission and provide stronger authentication mechanisms.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;What Is HTTP?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;HTTP&lt;/strong&gt; stands for &lt;strong&gt;Hypertext Transfer Protocol&lt;/strong&gt;. It is a protocol used for transmitting hypermedia documents, such as HTML files, over the World Wide Web. HTTP defines how messages are formatted and transmitted between web servers and web browsers, allowing for the retrieval and display of web pages, images, videos, and other resources.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fipslfj4vyx7yt4duc9ei.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fipslfj4vyx7yt4duc9ei.png" alt="Image description" width="626" height="366"&gt;&lt;/a&gt;&lt;br&gt;
&lt;code&gt;Image credit:  futurenow&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;HTTP operates on a client-server model, where a client, typically a web browser, initiates a request to a server, which hosts the desired resource. The server then processes the request and sends back a response containing the requested resource, along with status information indicating whether the request was successful or not.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features of HTTP include&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Statelessness:&lt;/strong&gt; HTTP is stateless, meaning each request from a client to a server is independent and carries all necessary information for the server to fulfill the request. This simplifies communication between clients and servers but requires additional mechanisms (e.g., cookies, sessions) for maintaining state across multiple requests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Request Methods&lt;/strong&gt;: HTTP defines several request methods or verbs, including GET, POST, PUT, DELETE, HEAD, and OPTIONS, which indicate the desired action to be performed on a resource.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Headers&lt;/strong&gt;: HTTP messages include headers, which contain metadata about the request or response, such as the content type, content length, caching directives, and authentication credentials.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Status Codes&lt;/strong&gt;: HTTP responses include status codes, which indicate the outcome of the request. Common status codes include 200 (OK), 404 (Not Found), 500 (Internal Server Error), and others.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;URLs (Uniform Resource Locators)&lt;/strong&gt;: HTTP uses URLs to specify the location of resources on the web. URLs consist of a scheme (e.g., http:// or https://), domain name or IP address, path, and optional query parameters.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;HTTP has evolved over time, with newer versions introducing improvements in performance, security, and functionality. For example, HTTP/1.1 introduced features like persistent connections and content compression, while HTTP/2 introduced multiplexing and header compression to improve efficiency. Additionally, HTTPS (HTTP Secure) encrypts data transmitted over HTTP using Transport Layer Security (TLS) or its predecessor, Secure Sockets Layer (SSL), providing confidentiality and integrity for web communications.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;What is HTTPS?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;HTTPS&lt;/strong&gt; stands for &lt;strong&gt;Hypertext Transfer Protocol Secure&lt;/strong&gt;. It is an extension of HTTP, the protocol used for transmitting data over the World Wide Web, but with added security features. HTTPS encrypts the data transmitted between a web browser and a web server, ensuring that sensitive information such as login credentials, payment details, and personal data is protected from interception and tampering by malicious third parties.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpk6b7jg1v2daj0mvjnlg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpk6b7jg1v2daj0mvjnlg.png" alt="Image description" width="626" height="366"&gt;&lt;/a&gt;&lt;br&gt;
&lt;code&gt;Image credit:  futurenow&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;HTTPS operates using Transport Layer Security (TLS) or its predecessor, Secure Sockets Layer (SSL), to encrypt data sent between the client and the server. This encryption process involves the following steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Handshake&lt;/strong&gt;: The client initiates a connection to the server and requests a secure connection. The server responds by sending its digital certificate, which includes its public key and other information.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Authentication&lt;/strong&gt;: The client verifies the authenticity of the server's digital certificate to ensure it was issued by a trusted Certificate Authority (CA) and has not been tampered with. This helps prevent man-in-the-middle attacks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key Exchange&lt;/strong&gt;: The client and server negotiate a symmetric encryption key to be used for encrypting and decrypting data transmitted during the session. This key is securely exchanged using the server's public key.&lt;/li&gt;
&lt;li&gt;** Data Transfer**: Once the secure connection is established, data transmitted between the client and server is encrypted using the symmetric encryption key, ensuring confidentiality and integrity.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;By encrypting data in transit, HTTPS protects sensitive information from eavesdropping and unauthorized access, providing a secure browsing experience for users. &lt;strong&gt;&lt;em&gt;Websites that use HTTPS display a padlock icon in the address bar of most web browsers, indicating that the connection is secure&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In addition to protecting user data, HTTPS also provides other benefits, such as:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Enhanced SEO:&lt;/strong&gt; Search engines like Google prioritize secure websites in search results, giving HTTPS-enabled sites a ranking boost.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trust and Credibility&lt;/strong&gt;: HTTPS reassures users that their information is secure, enhancing trust in the website and its brand.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compliance&lt;/strong&gt;: Many regulations and standards, such as the General Data Protection Regulation (GDPR) and Payment Card Industry Data Security Standard (PCI DSS), require the use of HTTPS to protect sensitive data.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Overall, HTTPS is essential for ensuring the security and privacy of web communications in today's digital landscape.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
