Skip to main content

Commands used in Dockefile - Part4

  Docker is an opensource tool used for virtualization and deliver software in the form of packages called Containers. It is one of the most important tools used in networking domain.  Dockerfile  is a template for building the image which contains commands needed to package the software. In this post, I am going to explain the commands ADD & COPY used in  Dockerfile .   ADD Command:   ADD command is used to copy files, directories or files from remote URLS to destination path in the image. The source paths can contain wildcards.   If the destination has relative path, it is relative to the Working directory of the image. Note that source path is always relative to the Docker build context.   ADD command will not support authentication. So, if there are any protected files to be added in  Dockerfile  building, use other tools like curl or  wget   Dockerfile  copying Single & Multiple files, directory using ADD inst...

Notes on HTTP Response Status codes

 In Networking domain or API testing, it is often common that we should be able to interpret the status codes in Http Response received when we send a request and take a decision. . Also, in technical interviews related to networking domain, “Explain Http Status codes” is one of the common interview questions. In this post, I am giving overview of Http Status codes.

Http response status codes can be broadly classified into below 5 categories: 

  1. 1xx - Informational codes
  2. 2xx - Success codes
  3. 3xx - Redirection codes
  4. 4xx - Client Error or Bad Request
  5. 5xx - Server Error

1xx Codes:

1xx codes means that server has received the request and understood the need of the client. These status codes indicate client to wait for getting a final response. An example where we may get these codes is that the client asking server to switch protocols.


2xx Codes:

2xx codes means that server has received, understood and accepted. Some important codes and meaning are given below: 

  • 202 Accepted - Means the request is accepted, but takes time to complete. An example is subscribing for a service in networking domain 
  • 201 Created - Means the request successfully created new resource. Typically received in POST or PUT requests. An example where we may receive this is creating new user in an e-commerce site using API 
  • 200 Ok - Means that the request has been succeeded by the Server. An example is requesting the data belonging to a user 
  • 204 No Content - Means that the request has been succeeded by the Server. But there is no content in the response 

3xx Codes: 

3xx codes indicate that client should take additional steps to complete the request. Some important codes and their meaning are given below: 

  • 300 Multiple Choices - An example is When requesting a video resource from server, various formats are provided in the response letting client to choose 
  • 301 Moved Permanently - Redirecting a request to a different URL 
  • 305 Use Proxy - Means that the request is available only through proxy. The proxy address to be used can be found in the response 

4xx Codes: 

4xx codes indicate that the error is made by the client. There is no point in retrying requests for these status codes as the request has some bad or irrelevant data. Some important codes and their meaning are given below: 

  • 400 Bad Request - Means that the request has some error like large size, syntax error in request 
  • 401 Unauthorized - Means that request needs authentication and its failed 
  • 403 Forbidden - Means that request is valid but server is refusing as client is not having required permissions 
  • 404 Not Found - Means that requested resource is not found 
  • 429 Too Many Requests - Means that the request is sent many times. An example is continuously trying to access Google Drive large number of times in short period of time 

5xx Codes: 

5xx codes indicate that error is at the server side. One may retry the request for specific times after waiting for predefined time. Some important codes and their meaning are given below: 

  • 500 Internal Server Error – Means Generic Error message defined by the server and specific reason is not known 
  • 503 Service Unavailable - Server cannot handle request as it is in down state or maintenance period 
  • 505 HTTP Version Not Supported - Means that version of Http specified in request is not supported 

Comments

Popular posts from this blog

Notes on IPv4, IPv6 and MAC representations

  In companies related to networking domain, “ Explain IPv4, IPv6 and MAC ” is one of the common questions asked in technical interview. This post provides overview of these concepts. IP: IP is the protocol used in Networking layer. It is responsible for the delivering packets from source to destination based on the identifier known as IP address of the device. There are two popular ways of representing the devices in the network. They are: IPv4  (Internet  Protocol version 4) IPv6 (Internet Protocol version6) IPv4:   This version of IP uses 32-bit addresses to identify the device on the network.  Therefore,  the total number of addresses possible with IPv4 is 2 32 . These  32-bit  addresses are divided into 4 octets (batch of 8 bits) with each octet represented in decimal numbers and octets are separated by dot. In IPv4 the loopback address of a device is  127.0.0.1 . IPv4 supports unicasting, broadcasting and multicasting. To map IPv4 addre...

Types of Tunnels in Computer Networking

Tunneling is a mechanism or protocol to ensure secure transmission of data between two networks. Through tunneling, private networks can communicate or send information to  a  public network like the Internet using the process of encapsulation. Even though they are private data packets, they appear as public packets and tunneling helps these packets to be unnoticed to  a  public network. Tunneling is also  known  a s   Port Forwarding .   Types of Tunnels:   There are several types of tunnels. Some of them are explained in this article.    Microsoft VPN (PPTP)   CIPE VPN   Open VPN   SSL / TLS VPN   GRE tunnel   IPsec tunnel   Before going deep into these tunnels, let us understand the VPN and it s  purpose.   Virtual Private  Network  ( VPN):   VPN is the technology in  the  networking industry which is based on the tunneling c...

Commands used in Dockefile - Part4

  Docker is an opensource tool used for virtualization and deliver software in the form of packages called Containers. It is one of the most important tools used in networking domain.  Dockerfile  is a template for building the image which contains commands needed to package the software. In this post, I am going to explain the commands ADD & COPY used in  Dockerfile .   ADD Command:   ADD command is used to copy files, directories or files from remote URLS to destination path in the image. The source paths can contain wildcards.   If the destination has relative path, it is relative to the Working directory of the image. Note that source path is always relative to the Docker build context.   ADD command will not support authentication. So, if there are any protected files to be added in  Dockerfile  building, use other tools like curl or  wget   Dockerfile  copying Single & Multiple files, directory using ADD inst...