Basic Knowledge for: Enterprise Technical Solutions Engineer

Things that probably best to be shared as the basic knowledge for those who want to apply for such vacancy written in the title above.

1. What does proxy server do ?

File:Schematic Proxy Server.svg

Schematic_Proxy_Server.svg‎ (SVG file, nominally 616 × 242 pixels, file size: 10 KB)

In computer networks, a proxy server is a server (a computer system or an application program) that acts as an intermediary for requests from clients seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource, available from a different server. The proxy server evaluates the request according to its filtering rules. For example, it may filter traffic by IP address or protocol. If the request is validated by the filter, the proxy provides the resource by connecting to the relevant server and requesting the service on behalf of the client. A proxy server may optionally alter the client’s request or the server’s response, and sometimes it may serve the request without contacting the specified server. In this case, it ‘caches‘ responses from the remote server, and returns subsequent requests for the same content directly.

A proxy server has many potential purposes, including:

  • To keep machines behind it anonymous (mainly for security).[1]
  • To speed up access to resources (using caching). Web proxies are commonly used to cache web pages from a web server.[2]
  • To apply access policy to network services or content, e.g. to block undesired sites.
  • To log / audit usage, i.e. to provide company employee Internet usage reporting.
  • To bypass security/ parental controls.
  • To scan transmitted content for malware before delivery.
  • To scan outbound content, e.g., for data leak protection.
  • To circumvent regional restrictions.

A proxy server that passes requests and replies unmodified is usually called a gateway or sometimes tunneling proxy.

A proxy server can be placed in the user’s local computer or at various points between the user and the destination servers on the Internet.

A reverse proxy is (usually) an Internet-facing proxy used as a front-end to control and protect access to a server on a private network, commonly also performing tasks such as load-balancing, authentication, decryption or caching.

Quoted from: en.wikipedia.org

2.  What is the first header a browser transmits in an HTTP 1.1 GET request ?

“From the HTTP/1.1 specification (http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5):

Request       = Request-Line              ; Section 5.1
*(( general-header        ; Section 4.5
| request-header         ; Section 5.3
| entity-header ) CRLF)  ; Section 7.1
CRLF
[ message-body ]          ; Section 4.3

5.1 Request-Line

The Request-Line begins with a method token, followed by the Request-URI and the protocol version, and ending with CRLF. The elements are separated by SP

characters. No CR or LF is allowed except in the final CRLF sequence.

Request-Line   = Method SP Request-URI SP HTTP-Version CRLF”

So, the first line in any request is always going to be the GET action itself.  After that, it’s an unordered list of headers, though typically it’s a Host: command to specify which virtual host you’re trying to contact.  I have seen user agents issue an Accept: before the Host: command and still work, though, so it just depends.  However, Host: is the only required header for a valid HTTP/1.1 connection, so it typically gets priority.

Hopefully you will find it useful too.
Thanks,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s