Summary: Learning about DNS, types of DNS servers, understanding HTTP/HTTPS, HSTS, and Browser Rendering Engines.
Domain Name System (DNS)
A Domain Name System (DNS) is a critical component of the Internet infrastructure that plays a fundamental role in connecting users to websites, services, and resources across the World Wide Web. It is essentially the “phone book” of the internet, translating user-friendly domain names (like www.example.com) into numerical IP addresses (such as 192.0.2.1) that computers and network devices use to locate one another on the internet.
Different Types of DNS Servers
- Top-Level Domain (TLD): TLDs are the highest level in the DNS hierarchy and represent categories of domain names. Common examples include “.com,” “.org,” “.net,” and country-code TLDs like “.uk” (United Kingdom) and “.jp” (Japan). ICANN (Internet Corporation for Assigned Names and Numbers) manages the assignment of TLDs.
- Domain Name Registrar: Registrars are organizations accredited by ICANN to sell domain name registrations. They allow individuals and organizations to reserve and manage domain names within specific TLDs.
- Authoritative Name Server: These are DNS servers that store and manage the DNS records for a specific domain. For example, “[ns1.example.com](http://ns1.example.com/)” might be the authoritative name server for the “[example.com](http://example.com/)” domain.
- Recursive Resolver: These are DNS servers operated by internet service providers (ISPs) or third-party DNS service providers. They are responsible for receiving DNS queries from client devices and recursively resolving domain names by querying authoritative name servers.
- Root Name Servers: At the top of the DNS hierarchy are 13 root name servers maintained by various organizations worldwide. These servers hold information about the TLDs and provide crucial pointers to authoritative name servers for each TLD.
HTTP/HTTPS
HTTP
HyperText Transfer Protocol (HTTP) is a protocol using which hypertext is transferred over the Web.
- Because there are fewer connections running at once, it delivers reduced CPU and memory utilization.
- It allows requests and answers to be pipelined via HTTP.
- Because there are fewer TCP connections, it provides less network congestion.
- It is applicable to point-to-point connections.
- It isn’t mobile-friendly.
- It is not capable of being pushed.
HTTPS
Hypertext Transfer Protocol Secure (HTTPS) is an extended version of the Hypertext Transfer Protocol (HTTP). It is used for secure communication.
- Provides in-transit data security.
- Shields your website from data breaches, phishing, and MITM attacks.
- Increases the visitors’ trust to your website.
- Eliminates the “NOT Secure” alerts.
- When switching to HTTPS, an SSL certificate needs to be bought. Even though website hosts often give SSL certificates, these should be renewed annually by paying a charge.
- Encrypting and decrypting data across HTTPS connections requires a lot of computation.
HSTS
HSTS – HTTP Strict Transport Security is a security policy mechanism that helps websites against man-in-the-middle attacks such as protocol downgrade attacks (HTTP) and cookie hijacking. Basically it allows the web servers to declare that web browsers should interact with the servers using the HTTPS (secured) connection only. Web servers implementing HSTS policy supplies the header(HSTS header over HTTP are ignored) over a HTTPS connection.
When web application issues HSTS policy to user agents, it can either automatically turn the insecure (http://) links to secure (https://) links, or if security of the connection can’t be secured, user agent will terminate the connection.
How does the web works?
To make web work we need a lot component like IP address
, ISP
, DNS
, TCP/IP
and more.
IP address: Internet Protocol Address. A numerical identifier for a device (computer, server, printer, router, etc.) on a TCP/IP network.
ISP: Internet Service Provider. ISP is the middle man between the client and servers. For the typical homeowner, the ISP is usually a “cable company.”
Domain Name: Used to identify one or more IP addresses. Users use the domain name to get to a website on the internet.
TCP/IP: Transmission Control Protocol/Internet Protocol. The most widely used communications protocol. A “protocol” is simply a standard set of rules for doing something. TCP/IP is used as a standard for transmitting data over networks.
Rendering Engines
A rendering engine is a software program that interprets and converts the HTML, CSS, and JavaScript code of a web page into visuals that are displayed on the screen. It is the core component of a web browser and plays a crucial role in the overall performance and compatibility of the browser. Different browsers use different rendering engines with changes that reflect the browser’s performance goal and accessibility.
- Blink: Blink is an open-source rendering engine developed by Google and is the foundation for the Chrome browser. It is also used by several other browsers, including Opera, Brave, and Vivaldi.
- Gecko: Gecko is another open-source rendering engine developed by Mozilla and is the engine that powers the Firefox browser. It is known for its adherence to web standards and strict compatibility with various web technologies.
- WebKit: WebKit is an open-source rendering engine initially developed by Apple for its Safari browser. It is also used by the iOS version of the Chrome browser and serves as the basis for the Qt WebEngine framework.
Steps of browser rendering
- Parsing HTML – The HTML code is parsed and the Document Object Model (DOM) is constructed which represents the structure of the content.
- Parsing CSS – The CSS file is loaded and parsed to create the CSS Object Model (CSSOM) to define the styling of the page.
- Render Tree – By combining the DOM and CSSOM, the Render Tree is created including how elements should be displayed and their position with styles.
- Layout Flow – The browser calculates the layout of the page and determines the size and position of the elements of the page based on Render tree.
- Painting – The final and most crucial step of the browser engine is converting the visual representation of the Render Tree into actual pixels on the screen. This includes traversing the Render Tree and applying the calculated values pixel-by-pixel on to the screen.
Leave a Reply