MODULE 1 - Core internet technologies Flashcards

1
Q

Why are IP addresses important for data transmission on the internet?

A

IP addresses are crucial because they function like postal addresses, ensuring that packets of information are delivered to the correct destination.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the two most widely used standards of Internet Protocol?

A

The two most widely used standards are Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How is an IPv4 address structured?

A

An IPv4 address consists of four octets (A group or set of eight of something) separated by periods or dots. For example, 192.0.2.235.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How is an IPv6 address structured?

A

An IPv6 address contains eight groups of hexadecimal digits separated by colons. For example, 4527:0a00:1567:0200:ff00:0042:8329.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are IP packets and what do they contain?

A

IP packets, also known as datagrams, are the messages sent across a network. They contain a header and a payload. The header includes metadata such as the source and destination IP addresses, while the payload contains the actual data being transmitted.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are some common issues that can occur during data transmission, similar to postal system issues?

A

Just like letters can arrive out of order, get damaged, or be lost, IP packets can also arrive out of order, become damaged or corrupted, or be dropped or lost during transit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How are these transmission issues addressed in data packets?

A

To address these issues, the payload part of the packets contains other protocols. The most common ones are the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does TCP do to ensure data integrity, and what is its drawback?

A

TCP ensures that data arrives correctly and in order, solving issues like out-of-order arrival, damage, and loss. However, this comes with a small delay in sending the data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

For what type of data transmission is TCP typically used?

A

TCP is used for sending data that must arrive correctly and in order, such as text files and images.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the characteristics of UDP in data transmission?

A

UDP can solve the corrupt packet issue but does not ensure that packets arrive in order or that all packets arrive. It allows for faster transmission with some data loss.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

For what type of data transmission is UDP typically used?

A

UDP is used for sending data that can tolerate some loss, such as voice calls or live video streaming.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the importance of header in an IP packet?

A

The header contains essential information required for the packet to reach its destination and for proper handling during transmission.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the importance of payload in an IP packet?

A

The payload contains the actual data being transmitted from the sender to the receiver.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How does TCP ensure reliable data transmission?

A

TCP ensures reliability through several mechanisms:

1) Connection Establishment: TCP establishes a connection between the sender and receiver using a process called the three-way handshake before data transfer begins.

2) Data Segmentation and Sequencing: Data is broken into smaller segments, each with a sequence number. This allows the receiver to reassemble the data in the correct order.

3) Acknowledgments: The receiver sends back an acknowledgment (ACK) for each segment received. If the sender does not receive an ACK within a certain time, it resends the segment.

4) Error Detection and Correction: TCP checks for errors in the data and ensures that any corrupted data is retransmitted.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the Three-Way handshake?

A

Before data transfer can begin, TCP establishes a reliable connection between the sender and the receiver to ensure that both parties are ready to communicate.

PROCESS:

1) SYN (Synchronize) Packet: The sender starts by sending a SYN packet to the receiver to initiate the connection.

2) SYN-ACK (Synchronize-Acknowledge) Packet: The receiver responds with a SYN-ACK packet, acknowledging the receipt of the SYN packet and indicating its willingness to establish the connection.

3) ACK (Acknowledge) Packet: Finally, the sender sends an ACK packet back to the receiver, confirming that the connection is established.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How does UDP ensure fast data transmission?

A

UDP achieves fast transmission through the following:

  • Connectionless Protocol: UDP does not establish a connection before sending data. Each packet, known as a datagram, is sent independently.
  • No Sequencing or Acknowledgments: UDP does not number the packets or wait for acknowledgments, reducing overhead and delay.
  • Minimal Error Checking: UDP includes a simple checksum for error checking but does not provide mechanisms for error correction.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

How does UDP handle data transmission without a connection?

A

In UDP, each datagram or data packet is sent individually and includes the destination address. There is no handshake process or acknowledgment of receipt. If a datagram is lost or arrives out of order, UDP does not attempt to resend or reorder it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

SUMMARY

Summary of TCP and UDP

A

Connection-Oriented (TCP):
* Establishes a connection before data transmission.
* Ensures reliable, ordered delivery of data.
* Involves higher overhead and potential delays.
* Suitable for applications where data integrity and order are critical.

Connectionless (UDP):
* Does not establish a connection before data transmission.
* Each packet is sent independently without acknowledgment.
* Involves lower overhead and reduced latency.
* Suitable for applications where speed is more important than reliability and some data loss is acceptable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

When is TCP typically used?

A

TCP is used for applications where reliable and ordered delivery of data is crucial, such as:

  • Web browsing (HTTP/HTTPS)
  • Email (SMTP, IMAP, POP3)
  • File transfers (FTP)
  • Remote terminal access (SSH, Telnet)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

When is UDP typically used?

A

UDP is used for applications where speed is essential and some data loss is acceptable, such as:

  • Live video and audio streaming
  • Online gaming
  • Voice over IP (VoIP)
  • Broadcast and multicast communication
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What is HTTP and how does it function in web communication?

A

HTTP stands for Hypertext Transfer Protocol. It is a fundamental protocol used for transmitting web resources such as HTML documents, images, and stylesheets between a client (like a web browser) and a server (hosting the website). HTTP operates on a request-response model where the client initiates a request and the server responds accordingly.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What does HTTPS stand for and how does it differ from HTTP?

A

HTTPS stands for Hypertext Transfer Protocol Secure. It is the secure version of HTTP. HTTPS ensures encrypted communication between the client and the server, protecting the integrity and confidentiality of data transmitted over the network. You can identify HTTPS usage by the presence of a lock icon in the browser’s address bar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What are the primary components of an HTTP request?

A

An HTTP request consists of:

  • Method: Specifies the action to be performed (e.g., GET, POST).
  • Path: The location of the resource on the server.
  • Version: The HTTP version being used (e.g., HTTP/1.1, HTTP/2.0).
  • Headers: Additional metadata about the request.
  • Body: Optional data sent with methods like POST.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Can you explain the common HTTP methods used?

A
  • GET: The client requests a resource on the web server.
  • POST: The client submits data to a resource on the web server.
  • PUT: The client replaces a resource on the web server.
  • DELETE: The client deletes a resource on the web server.
  • PATCH: The client partially updates a resource on the web server.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

How are HTTP responses structured?

A

An HTTP response comprises:

  • Status Line: Includes the status code (e.g., 200 for success) and status message.
  • Headers: Additional information about the response.
  • Body: Optional content like HTML documents or images.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Which versions of the HTTP protocol are most used?

A

Versions 1.1 and 2.0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

What is the range of HTTP status codes?

A

100-599

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

What are the 5 groups of status codes?

A
  • 100-199: Informational
  • 200-299: Successful response
  • 300-399: Redirection
  • 400-499: Client error
  • 500-599: Server error
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

How does HTTPS ensure secure communication?

A

HTTPS uses encryption to secure data transmission between the client and the server. Encryption converts data into a format that is unreadable to anyone who intercepts it without the decryption key, thus ensuring that sensitive information like credit card details remains private.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

What are Informational responses?

A

These status codes indicate provisional responses from the server. They inform the client that the server has received the request and is continuing the process.

Example Codes:

  • 100 Continue: Indicates that the initial part of the request has been received and the client should proceed with the request or ignore it if already completed.
  • 101 Switching Protocols: Indicates that the server is willing to change the application protocol being used by the client.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

What are Successful responses?

A

These status codes indicate that the request was successfully received, understood, and accepted by the server.

Example Codes:

  • 200 OK: Standard response for successful HTTP requests.
  • 201 Created: Indicates that the request has been fulfilled and a new resource has been created.
  • 204 No Content: Indicates that the server successfully processed the request but is not returning any content (commonly used for DELETE operations).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

What are Redirection responses?

A

These status codes indicate that further action needs to be taken by the client to complete the request.

Example Codes:

  • 301 Moved Permanently: The requested resource has been permanently moved to a new URL, and the client should update its records.
  • 302 Found: Indicates a temporary redirection. The client should use the new URL provided in the Location header for future requests.
  • 304 Not Modified: Used for caching purposes. Indicates that the resource has not been modified since the last request.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

What are Client Error responses?

A

These status codes indicate that there was an error in the client’s request, preventing the server from fulfilling it.

Example Codes:

  • 400 Bad Request: The server cannot process the request due to malformed syntax or other client-side errors.
  • 401 Unauthorized: Authentication is required and has failed or has not been provided.
  • 403 Forbidden: The server understood the request but refuses to authorize it.
  • 404 Not Found: The requested resource could not be found on the server.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

What are Server error responses?

A

These status codes indicate that the server encountered an unexpected condition that prevented it from fulfilling the request.

Example Codes:

  • 500 Internal Server Error: A generic error message indicating that something has gone wrong on the server-side, without specifying the exact nature of the problem.
  • 502 Bad Gateway: Indicates that the server received an invalid response from an inbound server while acting as a gateway or proxy.
  • 503 Service Unavailable: The server is currently unable to handle the request due to temporary overloading or maintenance of the server.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

What is an HTTP request?

A

An HTTP request is a message sent by a client (usually a web browser) to a server (hosting a website) to request a specific action.

used to retrieve pages, send data to servers, update or delete resources

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

What is an HTTP response?

A

An HTTP response is a message sent by the server back to the client in response to an HTTP request.

informs client about the status of request and provide requested info

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

What are the common HTTP request headers?

A

HTTP request headersconvey additional context about the request, the client, and the desired response.

  • Host: Specifies the domain name of the server (for virtual hosting) and the TCP port number on which the server is listening. For example, Host: www.example.com.
  • User-Agent: Contains information about the user agent (the client software) initiating the request. This can include details about the browser version, operating system, and more. For example, User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64).
  • Accept: Informs the server about the types of media that the client can process. For example, Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp.
  • Accept-Language: Indicates the natural languages that the client prefers for the response. For example, Accept-Language: en-US,en;q=0.5.
  • Content-Type: The Content-type header indicates the type of content being transmitted in the request body.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

What is HTTP request body?

A

HTTP requests can optionally include a request body. A request body is often included when using the HTTP POST and PUT methods to transmit data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

Common 1xx (Informational) status codes

A
  • 100- Continue: The server received the request headers and should continue to send the request body.
  • 101- Switching protocols: The client has requested the server to switch protocols and the server has agreed to do so.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

Common 2xx (Successful) status codes

A
  • 200- OK: Standard response returned by the server to indicate it successfully processed the request.
  • 201- Created: The server successfully processed the request and a resource was created.
  • 202- Accepted: The server accepted the request for processing but the processing has not yet been completed.
  • 204- No Content: The server successfully processed the request but is not returning any content.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

Common 3xx (Redirection) status codes

A
  • 301- Moved permanently: This request and all future requests should be sent to the returned location.
  • 302- Found: This request should be sent to the returned location.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

Common 4xx (Client Error) status codes

A
  • 404- Bad request: The server cannot process the request due to a client error, e.g., invalid request or transmitted data is too large.
  • 401- Unauthorised: The client making the request is unauthorized and should authenticate.
  • 403- Forbidden: The request was valid but the server is refusing to process it. This is usually returned due to the client having insufficient permissions for the website, e.g., requesting an administrator action but the user is not an administrator.
  • 404- Not Found: The server did not find the requested resource.
  • 405- Method not allowed: The web server does not support the HTTP method used.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

Common 5xx (Server Error) status codes

A
  • 500- Internal server error: A generic error status code given when an unexpected error or condition occurred while processing the request.
  • 502- Bad gateway: The web server received an invalid response from the Application Server.
  • 503- Service unavailable: The web server cannot process the request.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

What are the common HTTP response headers?

A
  • Date: The Date header specifies the date and time the HTTP response was generated.
  • Server: The Server header describes the web server software used to generate the response.
  • Content-Length: The Content-Length header describes the length of the response.
  • Content-type: The Content-Type header describes the media type of the resource returned (e.g. HTML document, image, video).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

What is HTTP repsonse body?

A

Following the HTTP response headers is the HTTP response body. This is the main content of the HTTP response.

This can contain images, video, HTML documents and other media types.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

What is DHCP?

A

DHCP stands for Dynamic Host Configuration Protocol. It is a network management protocol used on IP networks where a DHCP server dynamically assigns IP addresses and other network configuration parameters to devices connected to the network.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

Why is DHCP necessary?

A

Computers and devices need IP addresses to communicate over a network. DHCP automates and simplifies the process of IP address allocation, making network administration more efficient.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

How does DHCP assign IP addresses?

A

1) DHCP Discover: The client device broadcasts a DHCP Discover message to find available DHCP servers.
2) DHCP Offer: The DHCP server responds with a DHCP Offer, offering an IP address and configuration settings.
3) DHCP Request: The client replies with a DHCP Request message, asking to use the offered IP address.
4) DHCP Acknowledge: The DHCP server sends a DHCP Acknowledge, confirming the allocation of the IP address to the client.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

What protocol does DHCP use for communication?

A

DHCP primarily uses the User Datagram Protocol (UDP) as its transport protocol. UDP is preferred over TCP because it is faster and more efficient for simple, short-lived transactions like DHCP requests and responses.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

What is a DHCP server?

A

A DHCP server is a network server that automatically provides and manages IP addresses and other network configuration information to devices on a network. It keeps track of IP address leases, ensuring that addresses are allocated efficiently without conflicts.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

What is DNS and why is it important?

A

DNS, or the Domain Name System, is a hierarchical decentralized naming system for computers, services, or any resource connected to the Internet or a private network. It translates domain names (like meta.com) into IP addresses (like 192.0.2.1) that computers use to identify each other on a network.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

What is IMAP?

A

IMAP, which stands for Internet Message Access Protocol, is a protocol used by email clients to retrieve emails from a mail server. Unlike older protocols like POP (Post Office Protocol), IMAP is designed to allow users to manage their email messages directly on the server, enabling access from multiple devices while keeping emails synchronized.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

How does IMAP differ from other email protocols like POP?

A

Unlike POP (Post Office Protocol), which typically downloads emails to a local device and removes them from the server, IMAP keeps emails stored on the server. This allows users to access and manage their email from multiple devices while keeping all changes synchronized.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

What are the key features of IMAP?

A
  • Remote Mailbox Management: IMAP allows users to manage their email messages directly on the mail server. Actions such as marking messages as read, moving them between folders, or deleting them can be performed from any IMAP-enabled device.
  • Message Synchronization: Changes made to emails (e.g., read/unread status, deletions, folder organization) are instantly synchronized across all devices accessing the same IMAP account.
  • Efficient Storage Usage: Since emails are stored on the server, IMAP helps in efficient use of storage space on user devices. Users can access their entire email history without consuming local storage.
  • Support for Multiple Mailboxes and Folders: IMAP supports multiple mailboxes and folders on the server, allowing users to organize their emails into different categories directly from their email client.
  • Access to Attachments and Rich Content: IMAP supports the retrieval of email attachments and allows users to view rich content (HTML emails) directly within their email client.
55
Q

What is SMTP?

A

SMTP stands for Simple Mail Transfer Protocol. It is a protocol used to send emails from an email client to a mail server or between mail servers. SMTP ensures that your email reaches its intended recipient through a series of handoffs between servers.

56
Q

Key Components of SMTP:

A

1) Email Client: The software or application (like Microsoft Outlook, Apple Mail, or web-based email services like Gmail) used to compose, send, and receive emails.
2) SMTP Server: The server that handles the sending and routing of emails from the client to the recipient’s email server.
3) Recipient’s Mail Server: The server where the recipient’s email account is hosted, which receives the email sent via SMTP.

57
Q

How SMTP Works:

A

1. Composition: You compose an email using your email client.
2. Submission: When you hit “send,” your email client communicates with your configured SMTP server to submit the email.
3. Processing: The SMTP server processes the email and determines the recipient’s domain (e.g., example.com).
4. Relaying: If the recipient’s domain is different from the sender’s, the SMTP server relays the email to the recipient’s mail server. This may involve multiple handoffs between different mail servers.
5. Delivery: The recipient’s mail server receives the email and stores it in the recipient’s mailbox.
6. Access: The recipient uses their email client (often via IMAP or POP) to access and read the email.

58
Q

Which ports are commonly used by SMTP?

A

SMTP typically uses port 25 for communication between servers. For secure transmission using SSL/TLS, it uses ports 465 or 587.

59
Q

What is a network port?

A

A network port is a virtual point where network connections start and end. It is used to identify a specific process or service on a device within a network. Ports allow different applications and services to coexist on a single device without interfering with each other.

60
Q

Range of port numbers:

A

0-65,535

The first 1024 ports (0-1023) are known as well-known ports and are reserved for specific services (e.g., HTTP uses port 80, HTTPS uses port 443, FTP uses port 21).

61
Q

What are the types of ports?

A
  • TCP Ports: Used by the Transmission Control Protocol (TCP) for connection-oriented services where data delivery is guaranteed (e.g., web browsing, email).
  • UDP Ports: Used by the User Datagram Protocol (UDP) for connectionless services where speed is prioritized over reliability (e.g., streaming, gaming).
62
Q

How do ports work?

A

1) Sending a Request (Knocking on a Door):

  • When you want to do something online, like visit a website, your computer sends a request to a server.
  • This request is sent through a specific port number (like knocking on a specific door in the building).
  • For example, if you want to visit a website, your computer might send the request through Port 80 (used for regular web traffic).

2) The Server Responds (Answering the Door):

  • The server receives the request and knows to send the website data back to your computer through that same port.
  • It’s like the person inside the room (the server) opening the door and handing you the information you asked for.

3) Communication Continues:

  • The conversation (data exchange) continues through that same port until your request is complete.
  • For example, when you load a webpage, all the images, text, and videos are sent back through the same port.
63
Q

Common Port examples:

A
  • Port 80: HTTP (Web traffic)
  • Port 443: HTTPS (Secure web traffic)
  • Port 25: SMTP (Sending emails)
  • Port 110: POP3 (Receiving emails)
  • Port 53: DNS (Domain Name System)
  • Port 22: SSH (Secure Shell for remote access)
64
Q

How do ports work in conjunction with IP addresses?

A

An IP address identifies a specific device on a network, while a port number identifies a specific application or service running on that device. Together, an IP address and a port number form a network socket, which uniquely identifies a connection.

65
Q

Where are ports located?

A

Ports are part of the transport layer of the Internet protocol suite, often referred to as the TCP/IP model. They exist within network software and are managed by the operating system’s networking stack. They are not physical entities but logical constructs within the network protocol.

66
Q

What is the Internet Protocol Suite?

A

The Internet Protocol Suite, often referred to as TCP/IP (Transmission Control Protocol/Internet Protocol), is a set of rules and standards that dictate how data is sent, transmitted, and received over the internet and similar networks. It’s the foundation of the internet, enabling computers and other devices to communicate with each other.

67
Q

What are the key components of the Internet Protocol Suite?

A

The Internet Protocol Suite is divided into four layers, each with specific functions:
1) Application Layer

  • What It Does: This is the topmost layer that interacts with software applications. It provides the protocols that allow different programs to communicate over a network.
  • Examples: HTTP (used for web browsing), FTP (file transfer), SMTP (email), and DNS (domain name resolution).

2) Transport Layer

  • What It Does: This layer is responsible for ensuring that data is transferred reliably between devices. It manages how data is broken down into smaller pieces (packets), sent, and then reassembled at the destination.
  • Examples:
    • TCP (Transmission Control Protocol): Ensures reliable delivery of data, like making sure all the pieces of a webpage are received and put together correctly.
    • UDP (User Datagram Protocol): Used when speed is more critical than accuracy, like in live video streaming.

3) Internet Layer

  • What It Does: This layer routes the packets of data across the network, figuring out the best path for the data to take from the sender to the receiver.
  • Examples:
    • IP (Internet Protocol): The main protocol in this layer, responsible for addressing and routing data packets.
    • ICMP (Internet Control Message Protocol): Used for error messages and operational information, like when you use the ping command.

4) Link Layer (or Network Interface Layer)

  • What It Does: This is the lowest layer that deals with the physical connection between devices on the same network. It handles how data is transmitted over different types of physical networks (like Ethernet or Wi-Fi).
  • Examples: Ethernet, Wi-Fi, ARP (Address Resolution Protocol).
68
Q

What security considerations are there for SMTP?

A

SMTP was not designed with security in mind, so it can be vulnerable to interception and tampering. To enhance security, many servers use:

  • SSL/TLS: Secure Sockets Layer / Transport Layer Security to encrypt the connection.
  • SMTP Authentication: Requires users to log in with a username and password before sending emails.
69
Q

What are the limitations of SMTP?

A

The limitations of SMTP include:

  • Security: By itself, SMTP does not encrypt email content, making it susceptible to eavesdropping.
  • Spam and Abuse: Without proper authentication and validation, SMTP can be exploited for spamming.
70
Q

Is SMTP used for retrieving emails?

A

No, SMTP is not used for retrieving emails. It is exclusively used for sending emails.

71
Q

What is the primary function of IMAP?

A

The primary function of IMAP is to allow email clients to access and manipulate their email on the server, providing a synchronized view across multiple devices.

72
Q

How does IMAP work?

A

IMAP works by:

  • Retrieving Emails: The email client connects to the mail server using IMAP to retrieve email messages.
  • Synchronizing Emails: IMAP synchronizes email across multiple devices, so actions like reading, deleting, or moving emails are reflected on all devices.
  • Managing Mailboxes: IMAP allows users to create, rename, or delete mailboxes (folders) on the server.
73
Q

Which port is commonly used by IMAP?

A
  • Port 143: For standard IMAP connections.
  • Port 993: For IMAP over SSL/TLS (IMAPS), providing encrypted access to email.
74
Q

Is IMAP used for sending emails?

A

No, IMAP is not used for sending emails. It is exclusively used for retrieving and managing emails.

75
Q

What is POP?

A

The Post Office Protocol (POP) is a standard internet protocol used by email clients to retrieve emails from a mail server. POP is one of the earliest email protocols designed to facilitate the downloading of emails to a local device.

76
Q

What is the main purpose of POP?

A

The main purpose of POP is to download emails from a mail server to a local email client on a user’s device.

77
Q

How does POP work?

A

When using POP, an email client connects to the mail server, downloads all new emails, and typically deletes them from the server afterward. This process ensures that emails are stored locally on the user’s device.

78
Q

Workflow of POP:

A
  1. Email Client Requests Connection: The email client (e.g., Outlook, Thunderbird) initiates a connection to the mail server using POP.
  2. Authentication: The user’s email client sends login credentials (username and password) to the mail server for authentication.
  3. Download Emails: Once authenticated, the server transfers all new emails to the client.
  4. Email Deletion (optional): By default, after the emails are downloaded, they are deleted from the server. However, this behavior can be configured to keep emails on the server for a specified period or indefinitely.
79
Q

What are the key characteristics of POP?

A
  • Local Storage: Emails are stored on the user’s device.
  • One-way Communication: Emails are typically downloaded and deleted from the server, making it challenging to sync across multiple devices.
  • Simplicity: POP is straightforward and requires minimal server resources, which is why it was popular in earlier days of email communication.
80
Q

How does POP differ from IMAP?

A

The main differences between POP and IMAP (Internet Message Access Protocol) are:

Storage Location:
* POP: Emails are downloaded to a local device and often removed from the server.
* IMAP: Emails are stored on the server and can be accessed from multiple devices.

Synchronization:
* POP: Limited synchronization capabilities. Once an email is downloaded, it is only available on that device.
* IMAP: Full synchronization across multiple devices. Changes made (e.g., read status, folder organization) are reflected on the server and across all connected devices.

Use Case:
* POP: Suitable for users who access their email from a single device and prefer offline access.
* IMAP: Ideal for users who need access to their email from multiple devices and require server-side management of their mailbox.

81
Q

What is FTP?

A

FTP (File Transfer Protocol) is a standard network protocol used to transfer files between a client and a server over a TCP-based network like the Internet.

82
Q

What are the main components of FTP?

A
  • FTP Server: A server that runs FTP software to accept connections from FTP clients and manage file operations.
  • FTP Client: A software application on the user’s local computer that connects to an FTP server to perform file transfer operations.
83
Q

What protocol does FTP operate on?

A

FTP operates over the Transmission Control Protocol (TCP), which ensures reliable and ordered delivery of data packets.

84
Q

What is the Secure Shell Protocol (SSH)?

A

SSH is a protocol used to securely log in and interact with a remote computer over an unsecured network. It allows users to execute commands and manage files on the remote server as if they were directly connected to it.

85
Q

What is the Secure Shell Protocol (SSH)?

A

SSH is a protocol used to securely log in and interact with a remote computer over an unsecured network. It allows users to execute commands and manage files on the remote server as if they were directly connected to it.

86
Q

What are the main components of SSH?

A
  • SSH Client: A software application that initiates the connection to the remote server.
  • SSH Server: A software application running on the remote server that accepts the connection from the SSH client.
87
Q

How does SSH establish a connection?

A
  1. Initiation: The SSH client initiates a connection to the SSH server.
  2. Handshake: The client and server perform a handshake to establish a secure connection. This involves negotiating the encryption algorithm and exchanging public keys.
  3. Authentication: The client authenticates itself to the server using methods such as passwords, public keys, or other authentication mechanisms.
  4. Session: Once authenticated, the client can execute commands and manage files on the server. All data exchanged during this session is encrypted.
88
Q

How does SSH ensure data security?

A

SSH ensures data security through encryption. Here’s how it works:

  • Symmetric Encryption: SSH uses symmetric encryption to encrypt the data transmitted between the client and server. Both parties use the same key for encryption and decryption, which is established during the handshake process.
  • Asymmetric Encryption: SSH uses asymmetric encryption (public and private keys) during the initial handshake to securely exchange the symmetric encryption key.
  • Integrity: SSH uses hashing algorithms to ensure data integrity. This means that any tampering with the data during transmission can be detected.
89
Q

What is SFTP?

A

SFTP stands for SSH File Transfer Protocol. It is a secure file transfer protocol that provides secure file access, file transfer, and file management functionalities over an SSH (Secure Shell) connection

90
Q

Why is SFTP used?

A

SFTP is used to securely transfer files between computers over a network. It encrypts both commands and data, preventing unauthorized access, eavesdropping, or tampering during transmission.

91
Q

What is a web page?

A

A web page is a single document written in HTML, styled with CSS, and often enhanced with JavaScript. It displays various content like text, images, videos, etc., within a web browser.

92
Q

How does a website differ from a web page?

A

A website consists of multiple interconnected web pages under one domain name. It links different pages together, allowing users to navigate between them seamlessly.

93
Q

What does a hyperlink do?

A

A hyperlink, commonly known as a link, connects different web pages or websites. When clicked, it directs users to another location on the internet, enhancing navigation across web content.

94
Q

How do web applications differ from websites?

A

Web applications are more interactive and dynamic compared to websites. They respond to user input, provide personalized content based on user interactions (like location or account details), and often resemble software applications in functionality.

95
Q

Can you explain the distinction between a website and a web application further?

A

A website primarily provides static information that’s the same for all users visiting it. In contrast, a web application offers interactive features where content and functionality vary based on user input and dynamic data.

96
Q

How does one access developer tools in Chrome according to the transcript?

A

You can access developer tools in Chrome by either pressing F12 on a PC or Command + Option + J on a Mac. Alternatively, you can right-click on the webpage and select “Inspect.”

97
Q

What are the main tabs available in Chrome’s developer tools, and what do they each do?

A
  • Console Tab: Outputs JavaScript logs and errors from the web application.
  • Sources Tab: Displays all content loaded for the current page, including HTML, CSS, JavaScript, images, and videos.
  • Network Tab: Allows inspection of HTTP requests and responses, useful for debugging network-related issues.
  • Performance Tab: Shows the browser’s activities over time, helping identify functions causing slowdowns.
  • Memory Tab: Displays which parts of the code consume the most resources.
  • Elements Tab: Most commonly used, allows inspection of HTML elements, their properties, and applied CSS styles.
98
Q

How can you edit the HTML using developer tools?

A

They demonstrate that you can edit HTML directly within the browser by double-clicking on an HTML element in the Elements tab. This allows for quick modifications to the webpage, but these changes are local to the browser session and reset upon refreshing the page.

99
Q

Why are developer tools important?

A

Developer tools are crucial for diagnosing and fixing issues in web applications. They provide insights into JavaScript errors, network requests, performance bottlenecks, and resource consumption, empowering developers to improve their code and user experience.

100
Q

How can developers save time on solving common development problems?

A

Many common development problems have already been solved and are available in frameworks and libraries that developers can use.

101
Q

What are frameworks and libraries?

A

Frameworks and libraries are tools used in software development to simplify and speed up the development process. Frameworks provide a structured environment for building applications, while libraries are reusable pieces of code designed to provide specific functionality.

102
Q

What is the difference between open source and proprietary libraries and frameworks?

A

Open source libraries and frameworks have their source code freely available for anyone to modify and build upon. Proprietary ones are licensed or developed internally and are not freely available for modification.

103
Q

What role do frameworks play in structured development?

A

Frameworks provide a structured environment for developing applications, handling common functionality such as receiving HTTP requests and sending HTTP responses, and allowing developers to add specific application code within this structure.

104
Q

What is the main difference between frameworks and libraries?

A

Frameworks provide a structured and opinionated environment for development, often using many libraries internally. Libraries provide specific functionality and are less opinionated, giving developers more freedom in how they use them.

105
Q

Why are frameworks considered opinionated and libraries unopinionated?

A

Frameworks are considered opinionated because they enforce a specific way of doing things and provide a structured environment. Libraries are unopinionated because they offer specific functionality without dictating how the developer should use them.

106
Q

When is it best to use a framework?

A

Frameworks are best used when you want to reduce development time and enforce a consistent structure in your code. They are useful when you need to follow best practices and common functionalities are already handled by the framework.

107
Q

What are the potential downsides of using a framework?

A

Frameworks can sometimes impose constraints that may not fit all coding needs, and there can be compatibility issues with other libraries that you need to use.

108
Q

When is it best to use a library?

A

Libraries are best used when you need specific functionality and want greater flexibility in how you implement it. They are ideal when you want to mix and match different pieces of functionality without being tied to a specific structure.

109
Q

What are the advantages of using libraries over frameworks?

A

Libraries offer more flexibility and can be replaced individually as new technologies emerge. This allows for easier updates and integration of new functionalities compared to replacing an entire framework.

110
Q

What are the benefits of reusing existing code in the form of frameworks and libraries?

A

Reusing existing code can lead to faster development, fewer errors, and more time to focus on the essential features of your application. It prevents developers from having to reinvent the wheel by providing ready-made solutions for common problems.

111
Q

Advantages and disadvantages of frameworks:

A

Advantages:
* Timesaving: Frameworks come with pre-built components and functionalities that handle common development tasks.
* Structure: Frameworks provide a defined architecture and guidelines for organizing code.
* Best practices: Frameworks are often designed by experienced developers who embed industry best practices into the framework.

Disadvantages:
* Structure constraints: The structured environment provided by frameworks can be restrictive.
* Compatibility: Frameworks often rely on specific versions of libraries and tools, which can lead to compatibility issues.

112
Q

What are APIs and how do they relate to everyday use of smartphones?

A

APIs, or Application Programming Interfaces, are mechanisms that enable two software components to communicate with each other using a set of definitions and protocols.

113
Q

What is an application and interface?

A
  • Application: an application refers to any software with a distinct function. It could be a weather app, a social media platform, an online store, etc.
  • Programming interface: The interface part of API can be thought of as a contract of service between two applications. This contract defines how the two applications communicate with each other using requests and responses.

Interface is like a contract of service between two applications

114
Q

How do APIs work?

A

API architecture is usually explained in terms of client and server.

Client-server architecture:
* Client: The application that sends a request. For example, a mobile app requesting weather data.
* Server: The application that receives the request, processes it, and sends back a response. In the weather example, the weather bureau’s database is the server.

115
Q

Why are APIs important in web development?

A

APIs are crucial in web development because they allow developers to integrate different software components, services, and data sources into their applications. This integration enhances functionality and enables developers to create more powerful and interconnected web experiences.

116
Q

Can you explain the types of APIs commonly used in web development?

A
  • Browser/ web APIs: These are built-in APIs within web browsers that extend their functionality (application processing interface between a web server and web browser). Examples include the DOM API for manipulating web page content and the Geolocation API for retrieving a user’s geographic location.
  • RESTful APIs: REST, or Representational State Transfer, APIs are designed based on a set of principles for creating scalable and efficient web services. They are commonly used to provide data for web and mobile applications through HTTP methods like GET, POST, PUT, and DELETE.
  • Sensor-Based APIs: These APIs interact with physical sensors, such as those used in IoT (Internet of Things) devices. They enable applications to collect and respond to real-world data, like temperature sensors or smart home devices.
117
Q

What are some examples of Browser APIs and how are they used?

A
  • DOM API: Converts HTML documents into a structured tree of nodes, allowing JavaScript to manipulate page content dynamically. Allows developers to interact with and manipulate the HTML and XML documents.
  • Geolocation API: Retrieves geographical location data of the user’s device, enabling location-based services in web applications.
  • Fetch API: Facilitates fetching resources from servers, commonly used to retrieve data asynchronously without refreshing the entire page.
118
Q

What does REST stand for and why are REST APIs popular?

A

REST stands for Representational State Transfer. REST APIs are popular because they are simple, scalable, and flexible. They use standard HTTP methods and follow a stateless, client-server architecture.

119
Q

How do RESTful APIs work and what are their key features?

A

RESTful APIs follow the principles of REST, emphasizing stateless communication over standard protocols like HTTP. Key features include:

  • Endpoints: URLs that define resources available through the API (e.g., /api/users).
  • HTTP Methods: Used to perform operations on resources (GET for retrieving data, POST for creating new data, PUT for updating existing data, DELETE for removing data).
  • Data Formats: Responses typically use JSON (JavaScript Object Notation), a lightweight format for data interchange that is easy to parse and manipulate in web applications.
120
Q

What is an API Endpoint?

A

An API endpoint is a specific URL or URI (Uniform Resource Identifier) in an API that identifies the exact location where an API can access the resources it needs to perform its function.

address at which API can communicate with a server to request/send data.

121
Q

What role do Sensor-Based APIs play in web development?

A

Sensor-Based APIs enable web applications to interact with physical sensors, such as those found in IoT devices. They facilitate the collection and utilization of real-time data from sensors like temperature, humidity, or motion detectors, allowing developers to create responsive and adaptive applications.

122
Q

What are the benefits of using APIs in web development?

A
  • Efficiency: APIs streamline development by providing pre-built functionalities and data access.
  • Integration: Facilitates integration with external services, expanding the capabilities of web applications.
  • Scalability: Allows applications to scale by leveraging external resources and services without re-inventing the wheel.
  • Innovation: Encourages innovation by enabling developers to combine different APIs to create unique and specialized functionalities.
123
Q

What is an IDE?

A

An Integrated Development Environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. It typically consists of:

  • Source Code Editor: A text editor that assists with writing and editing code.
  • Build Automation Tools: Tools that help in automating the tasks of compiling and building the software.
  • Debugger: A tool that helps test and debug the software by allowing developers to execute the code step-by-step and inspect variables.
  • Compiler/Interpreter: Translates the written code into a language that the computer can understand and execute.
124
Q

Are all IDEs the same?

A

No, there are many different IDEs available. Some are specific to one programming language, while others support multiple languages in one IDE.

125
Q

What is syntax highlighting in an IDE?

A

Syntax highlighting is a feature that improves readability by coloring different parts of the code based on their role, such as keywords, variables, and strings.

126
Q

What is error highlighting in an IDE?

A

Error highlighting is similar to spell-checking in a text document. It identifies and marks mistakes in your code, such as missing symbols or incorrect syntax.

127
Q

What is autocomplete in an IDE?

A

Autocomplete is a feature where the IDE suggests code completions as you type, similar to predictive text on smartphones.

128
Q

What is IntelliSense?

A

IntelliSense is an advanced form of autocomplete that understands the context of your code, suggesting relevant variables, functions, and keywords as you type.

129
Q

What is refactoring in the context of an IDE?

A

Refactoring is the process of restructuring existing code without changing its external behavior. IDEs assist in refactoring by automatically updating code references when changes are made.

130
Q

How do IDEs help in bug investigation?

A

IDEs often come with debugging tools that allow you to run your code step-by-step, set breakpoints, and inspect variables to find and fix bugs.

131
Q

How do IDEs facilitate collaboration among developers?

A

Many IDEs support features that facilitate collaboration, such as version control integration and shared code editing.

132
Q

What does it mean that IDEs are extensible?

A

Extensibility means that IDEs can be extended with plugins and extensions to add new features or support additional programming languages and frameworks.

133
Q

How do these features benefit developers?

A

These features help streamline the coding process, reduce errors, and improve overall productivity, making it easier for developers to write code more efficiently.

134
Q

Which of the following can be done using the developer tools in your browser (inspecting a webpage)?

A
  • Inspect the HTML elements of a web page.
  • Check JavaScript error logs.
  • Inspect a timeline of HTTP requests and responses.
  • Inspect the performance and memory usage of a webpage.