<?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: Silent Silver</title>
    <description>The latest articles on DEV Community by Silent Silver (@silentsilver).</description>
    <link>https://dev.to/silentsilver</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%2F302646%2F7831b88f-55a3-4c1a-b725-3ab2c2216055.jpeg</url>
      <title>DEV Community: Silent Silver</title>
      <link>https://dev.to/silentsilver</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/silentsilver"/>
    <language>en</language>
    <item>
      <title>Hyper Text Transfer Protocol</title>
      <dc:creator>Silent Silver</dc:creator>
      <pubDate>Sat, 03 Jun 2023 03:55:37 +0000</pubDate>
      <link>https://dev.to/silentsilver/hyper-text-transfer-protocol-3chd</link>
      <guid>https://dev.to/silentsilver/hyper-text-transfer-protocol-3chd</guid>
      <description>&lt;h3&gt;
  
  
  What is HTTP ?
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;HTTP is what's used whenever you view a website, developed by Tim Berners-Lee and his team between 1989-1991. HTTP is the set of rules used for communicating with web servers for the transmitting of webpage data, whether that is HTML, Images, Videos, etc.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  What is HTTPS ?
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;HTTPS is the secure version of HTTP. HTTPS data is encrypted so it not only stops people from seeing the data you are receiving and sending, but it also gives you assurances that you're talking to the correct web server and not something impersonating it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;When we access a website, your browser will need to make requests to a web server for assets such as HTML, Images, and download the responses. Before that, you need to tell the browser specifically how and where to access these resources, this is where URLs will help.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is a URL ?
&lt;/h3&gt;

&lt;p&gt;A URL is predominantly an instruction on how to access a resource on the internet. The below image shows what a URL looks like with all of its features - &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Farg3b000jb6heu4368t2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Farg3b000jb6heu4368t2.jpg" alt=" " width="800" height="136"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Protocol&lt;/strong&gt;: This instructs on what protocol to use for accessing the resource such as HTTP, HTTPS, FTP (File Transfer Protocol).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Domain&lt;/strong&gt;: The domain name or IP address of the server you wish to access.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Port&lt;/strong&gt;: The Port that you are going to connect to, usually &lt;code&gt;80&lt;/code&gt; for HTTP and &lt;code&gt;443&lt;/code&gt; for HTTPS, but this can be hosted on any port between &lt;code&gt;1 - 65535&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Path&lt;/strong&gt;: The file name or location of the resource you are trying to access.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Query string&lt;/strong&gt;: Extra bits of information that can be sent to the requested path. For example, &lt;code&gt;/blog?search=test&lt;/code&gt; would tell the blog path that you wish to receive the blog articles with search parameter value as test.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fragment&lt;/strong&gt;:  This is a reference to a location on the actual page requested. This is commonly used for pages with long content and can have a certain part of the page directly linked to it, so it is viewable to the user as soon as they access the page.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to make a request ?
&lt;/h3&gt;

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

&lt;p&gt;It is possible to make a request to a web server with just one line &lt;code&gt;GET / HTTP/1.1&lt;/code&gt;. But for a much richer web experience, you’ll need to send other data as well. This other data is sent in what is called headers, where headers contain extra information to give to the web server you’re communicating with, but we’ll go more into this in the Header task.&lt;/p&gt;

&lt;h3&gt;
  
  
  Example Request :
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
GET / HTTP/1.1
Host: www.google.ie
User-Agent: Mozilla/5.0 Firefox/87.0
Referer: https://www.google.com/

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To breakdown each line of this request:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Line 1: This request is sending the GET method ( more on this in the HTTP Methods task ), request the home page with / and telling the web server we are using &lt;code&gt;HTTP protocol version 1.1&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Line 2: We tell the web server we want the website &lt;code&gt;google.ie&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Line 3: We tell the web server we are using the Firefox &lt;code&gt;version 87&lt;/code&gt; Browser&lt;/li&gt;
&lt;li&gt;Line 4: We are telling the web server that the web page that referred us to this one is &lt;code&gt;https://www.google.com&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Line 5: HTTP requests always end with a blank line to inform the web server that the request has finished.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Example Response :
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
HTTP/1.1 200 OK
Server: nginx/1.15.8
Date: Sat, 03 Jun 2023 10:00:00 GMT
Content-Type: text/html; charset=ISO-8859-1
Content-Length: 98

&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;title&amp;gt;Google&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    Welcome To Google.com
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;More about HTTP headers, HTTP methods and HTTP response codes in the upcoming blog. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Domain Name System</title>
      <dc:creator>Silent Silver</dc:creator>
      <pubDate>Sun, 28 May 2023 18:11:58 +0000</pubDate>
      <link>https://dev.to/silentsilver/domain-name-system-22c4</link>
      <guid>https://dev.to/silentsilver/domain-name-system-22c4</guid>
      <description>&lt;p&gt;&lt;strong&gt;DNS (Domain Name System)&lt;/strong&gt; provides a simple way for us to communicate with devices on the internet without remembering complex numbers. Much like every house has a unique address for sending mail directly to it, every computer on the internet has its own unique address to communicate with it called an &lt;strong&gt;IP address&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;An IP address looks like the following 104.26.10.229, 4 sets of digits ranging from 0 - 255 separated by a period. When you want to visit a website, it's not exactly convenient to remember this complicated set of numbers, and that's where DNS can help.&lt;/p&gt;

&lt;p&gt;Now, let us talk about Domain Hierarchy. The DNS follows the following hierarchy - &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0lpd4nenrqreo0ar8b3c.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0lpd4nenrqreo0ar8b3c.jpg" alt=" " width="800" height="288"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;TLD (Top-Level Domain)&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A TLD is the most righthand part of a domain name. So, for example, the dev.to TLD is .to. There are two types of TLD, &lt;strong&gt;gTLD (Generic Top Level)&lt;/strong&gt; and &lt;strong&gt;ccTLD (Country Code Top Level Domain)&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Historically, a gTLD was meant to tell the user the domain name's purpose; for example, a .com would be for commercial purposes, .org for an organization, .edu for education and .gov for government. And a ccTLD was used for geographical purposes, for example, .ca for sites based in Canada, .co.uk for sites based in the United Kingdom and so on. Due to such demand, there is an influx of new gTLDs ranging from .online , .club , .website , .biz and so many more.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Second-Level Domain&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Taking dev.to as an example, the .to part is the TLD, and dev is the Second Level Domain. When registering a domain name, the second-level domain is limited to &lt;strong&gt;63 characters&lt;/strong&gt; + the TLD and can only use a-z 0-9 and hyphens (cannot start or end with hyphens or have consecutive hyphens).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Subdomain&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A subdomain sits on the left-hand side of the Second-Level Domain using a period to separate it; for example, in the name admin.dev.to the admin part is the subdomain. &lt;/p&gt;

&lt;p&gt;A subdomain name has the same creation restrictions as a Second-Level Domain, being limited to 63 characters and can only use a-z 0-9 and hyphens (cannot start or end with hyphens or have consecutive hyphens). You can use multiple subdomains split with periods to create longer names, such as jupiter.servers.dev.to. But the length must be kept to &lt;strong&gt;253 characters or less&lt;/strong&gt;. There is no limit to the number of subdomains you can create for your domain name.&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;p&gt;Now, let us talk about DNS Record Types. DNS isn't just for websites though, and multiple types of DNS record exist. We'll go over some of the most common ones that you're likely to come across.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;A Record&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;These records resolve to IPv4 addresses, for example 104.26.10.229&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;AAAA Record&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;These records resolve to IPv6 addresses, for example 2606:4700:20::681a:be5&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CNAME Record&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;These records resolve to another domain name. A common example is when you have both example.com and &lt;a href="http://www.example.com" rel="noopener noreferrer"&gt;www.example.com&lt;/a&gt; pointing to the same application and hosted by the same server.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MX Record&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;These records resolve to the address of the servers that handle the email for the domain you are querying. These records also come with a priority flag. This tells the client in which order to try the servers, this is perfect for if the main server goes down and email needs to be sent to a backup server.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;TXT Record&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;TXT records are free text fields where any text-based data can be stored. TXT records have multiple uses, but some common ones can be to list servers that have the authority to send an email on behalf of the domain (this can help in the battle against spam and spoofed email). They can also be used to verify ownership of the domain name when signing up for third party services.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
    </item>
  </channel>
</rss>
