networking Flashcards
What is TCP?
The Transmission Contro Protocol is a
- Communication standard
- Enables application programs to exchange messages
over a network (orders the messages correctly)
- Designed to ensure succesful delivery of data
- Connection oriented
- Client-server connection must be established
- 3-way handshake
How is a connection established for TCP?
client ————————–> server
1. SYN ———->
2. <——- SYN ACK
3. —-> ACK received
What is UDP?
User Datagram Protocol is a communication standard
- Connectionless communication
- Prior communications are not required in order to set
up communication channels or data paths
- Provides Checksums for data integrity and
- Port numbers for addressing diferent functions at the source and destination of the datagram
- No handshaking
- exposes user to unreliability of the underlying network
- No guarantee of delivery
- Suitable for purposes where error checking and correction are not necessary or are performed in the application
What is The OSI Model?
The Open Systems Interconnection model is a
- Conceptual Model
- Describes universal standard of communication
functions of a telecommunications system
- Disregards the system’s underlying technology
In this model, the communications between a computing system are split into seven different abstraction layers:
- Application
- Presentation
- Session Layer
- Transport Layer
- Network layer
- Data link layer
- Physical layer
Each intermediate layer serves a class of functionality to the layer above it and is served by the layer below it.
What is HTTP?
- Hypertext Transfer protocol
- application layer protocol for transmitting hypermedia
documents - stateless protocol
- follows the client-server model
Why HTTP is said to be stateless and how can we store state if HTTP is stateless?
HTTP is stateless meaning that the server does not keep data among different requests.
Using HTTP cookies will allow the use of stateful sessions, these cookies are sent through HTTP headers to share the same context or state
What does it mean when a proxy is transparent or non-transparent?
- When a proxy is transparent, it means that the proxy forward requests without altering them
- Proxies are non-transparent when they will change the request in some way before passing it.
What is a proxy and what functions they accomplish?
Proxies are computers between the client and the server which relay the HTTP messages
The are used for perform different functions:
- caching
- filtering (like an antivirus scan or parental controls)
- load balancing (allowing multiple servers to serve different requests)
- authentication
- logging (allowing the storage of historical information)
Why HTTP is said to be extensible?
Since new functionality can be introduced by a simple agreement between a client and a server about new header semantics
What is multiplexing in HTTP?
Multiplexing is a functionality of HTTP/2 which allows us to send multiple requests without waiting for a response. By multiplexing messages over a single connection, helping keep the connection warm and more effiecient
Representational state transfer (or RES)
In 2000, a new pattern for using HTTP was designed: representational state transfer (or REST). The API wasn’t based on the new HTTP methods, but instead relied on access to specific URIs with basic HTTP/1.1 methods. This allowed any web application to let an API retrieve and modify its data without having to update the browsers or the servers.
How HTTP/2 protocols differs from HTTP/1.1
- It’s a binary protocol rather than text protocol. It can’t be read and created manually. Despite this hurdle, it allows for the implementation of improved optimization techniques
- It’s a multiplexed protocol. Parallel requests can be made over the same connection, removing the constraints of the HTTP/1.x protocol
- It compresses headers. As these are often similar among a set of requests, this removes the duplication and overhead of data transmitted
- It allows a server to populate data in a client cache through a mechanism called the server push
What is an HTTP message and what type of HTTP messages exist?
HTTP messages are how data is exchanged between a server and a client. There are two types of HTTP messages, Requests and Responses.
What is a HTTP request?
HTTP requests are messages sent by the client to initiate an action on the server.
What is the name of the target of a HTTP requests?
Resource.
It can be a document, a photo, or anything else. Each resource is identified by a Uniform Resource Identifier (URI) used throughout HTTP for identifying resources.
What is a MIME type (IANA media types)
A media type (also known as a Multipurpose Internet Mail Extension) indicates the nature and format of a file. It serves the same purpose as a file extension. It’s important that web servers send the correct MIME type in the response’s Content-Type header to prevent misinterpretation of the contents of files.