Roadmap - Backend

Content

  • Internet
    • Overview
    • [Basic Concepts and Terminology](#Basic Concepts and Terminology)
    • [The Role of Protocols in Internet](#The Role of Protocols in Internet)
    • [Understanding IP Addresses and Domain Names](#Understanding IP Addresses and Domain Names)
    • [HTTP and HTTPS](#HTTP and HTTPS)
    • [Building Applications with TCP/IP](#Building Applications with TCP/IP)
    • [Securing Internet Communication with SSL/TLS](#Securing Internet Communication with SSL/TLS)

Internet

Overview

  • The internet is a network of networks.
  • The core of the internet is a global network of interconnected routers, which are responsible for directing traffic between different devices and systems.
  • To ensure that packets are sent and received correctly, the internet uses a variety of protocols, including the Internet Protocol (IP) and the Transmission Control Protocol (TCP) . IP is responsible for routing packets to their correct destination, while TCP ensures that packets are transmitted reliably and in the correct order.

Basic Concepts and Terminology

  • Packet: A small unit of data that is transmitted over the internet.
  • Router: A device that directs packets of data between different networks.
  • IP Address: A unique identifier assigned to each device on a network, used to route data to the correct destination.
  • Domain Name: A human-readable name that is used to identify a website, such as google.com.
  • DNS: The Domain Name System is responsible for translating domain names into IP addresses.
  • HTTP: The Hypertext Transfer Protocol is used to transfer data between a client (such as a web browser) and a server (such as a website).
  • HTTPS: An encrypted version of HTTP that is used to provide secure communication between a client and server.
  • SSL/TLS: The Secure Sockets Layer and Transport Layer Security protocols are used to provide secure communication over the internet.

The Role of Protocols in Internet

  • IP is responsible for routing packets of data to their correct destination, while TCP and UDP ensure that packets are transmitted reliably and efficiently. DNS is used to translate domain names into IP addresses, and HTTP is used to transfer data between clients and servers.

Understanding IP Addresses and Domain Names

When you enter a domain name into your web browser, your computer sends a DNS query to a DNS server, which returns the corresponding IP address. Your computer then uses that IP address to connect to the website or other resource you've requested.

HTTP and HTTPS

  • HTTP is the protocol used to transfer data between a client (such as a web browser) and a server (such as a website). When you visit a website, your web browser sends an HTTP request to the server, asking for the webpage or other resource you've requested. The server then sends an HTTP response back to the client, containing the requested data.
  • HTTPS is a more secure version of HTTP , which encrypts the data being transmitted between the client and server using SSL/TLS (Secure Sockets Layer/Transport Layer Security) encryption. This provides an additional layer of security, helping to protect sensitive information such as login credentials, payment information, and other personal data.

Building Applications with TCP/IP

TCP/IP (Transmission Control Protocol/Internet Protocol) is the underlying communication protocol used by most internet-based applications and services. It provides a reliable, ordered, and error-checked delivery of data between applications running on different devices.

  • Ports: Ports are used to identify the application or service running on a device. Each application or service is assigned a unique port number, allowing data to be sent to the correct destination.
  • Sockets: A socket is a combination of an IP address and a port number, representing a specific endpoint for communication. Sockets are used to establish connections between devices and transfer data between applications.
  • Connections: A connection is established between two sockets when two devices want to communicate with each other. During the connection establishment process, the devices negotiate various parameters such as the maximum segment size and window size, which determine how data will be transmitted over the connection.
  • Data transfer: Once a connection is established, data can be transferred between the applications running on each device. Data is typically transmitted in segments, with each segment containing a sequence number and other metadata to ensure reliable delivery.

Securing Internet Communication with SSL/TLS

When using SSL/TLS to secure internet communication, there are a few key concepts to understand:

  • Certificates: SSL/TLS certificates are used to establish trust between the client and server. They contain information about the identity of the server and are signed by a trusted third party (a Certificate Authority) to verify their authenticity.
  • Handshake: During the SSL/TLS handshake process, the client and server exchange information to negotiate the encryption algorithm and other parameters for the secure connection.
  • Encryption: Once the secure connection is established, data is encrypted using the agreed-upon algorithm and can be transmitted securely between the client and server.
相关推荐
乐维_lwops3 小时前
案例解读:大型综合性科创产业园运维监控落地实践
运维·网络·人工智能·安全·it监控·国产运维智能体
m0_715674434 小时前
政务泛监测体系能力排行:AI 重塑监测边界,治理的颗粒度革命
大数据·网络·人工智能·安全·网络安全·政务
AI 编程助手GPT5 小时前
curl 返回成功就能收文件?用本地 HTTP 验证错误页与超时
网络·网络协议·http
十碗饭吃不饱6 小时前
后端运维:网络联通、进程查询、Java服务启动脚本
java·运维·网络
流浪0016 小时前
计算机网络篇16:传输层——TCP 报头属性字段:16 位窗口大小撑起流量控制,六个标志位标识报文类型
网络协议·tcp/ip·计算机网络·urg紧急指针·tcp报头
从琳开始9898 小时前
网络原理入门(二)------OSI七层模型?TCP/IP五层(四层)模型原来是这样的
java·网络·tcp/ip·java-ee·php
Jongkhurun9 小时前
以太网的最小帧长为什么是 64 字节:从 CSMA/CD 冲突窗口推导 64 Byte
网络协议
xiaoye-duck10 小时前
《C++ 项目:手写大模型接入 SDK》ChatGPT接口设计(下):流式响应实现和测试
网络·c++·语言模型·chatgpt
梦帮科技10 小时前
意识启发式量子隧穿退火算法用于全局优化 (CITA) 完整技术指南
网络·人工智能·算法·量子计算·模拟退火算法
坤坤子吖11 小时前
Linux网络编程:UDP进阶,从字典服务器到简单聊天室
linux·服务器·网络·c++·笔记·学习