What is the difference between POP and IMAP protocol ?

POP VS IMAP: 

POP stands for Post Office Protocol and is a simple set of instructions that let your computer retrieve messages from the BOL mail server.

IMAP stands for Internet Mail Access Protocol and allows a “client” email program to access a message stored at a remote location as if they were on the local computer. 

Generally, you want to use POP if you access your mail from one computer , and IMAP if you need to manipulate your mail from more than one computer, say an office and a home computer. Below is a table to help you understand which service fits you better.

POP service:
POP was designed for, and works best in, the situation where you use only a single desktop computer.

Normally, messages are downloaded to your desktop computer and then deleted from the mail server.

If you choose to work with your POP mail on more than one machine, you may have trouble with email messages getting downloaded on one machine that you need to work with on another machine; for example, you may need a message at work that was downloaded to your machine at home.

If you choose the POP option “keep mail on server”, your POP “inbox” can grow large and unwieldy, and email operations can become inefficient and time-consuming.

Your archive of mail, if you have one, is kept on your desktop computer – you generally need little storage space on the mail server.

IMAP service:
IMAP is designed for the situation where you need to work with your email from multiple computers, such as your workstation at work, your desktop computer at home, or a laptop computer while traveling.

Messages are displayed on your local computer but are kept and stored on the mail server -you can work with all your mail, old and new, from any computer connected to the internet.

You can create subfolders on the mail server to organize the mail you want to keep. However, these subfolders, as well as its contents work against your total email quota of 75MB.

How the proxy server works ?

 How the proxy server works
Once you have configured your web browser as described, your browser will load a CGI script each time it is restarted. This script redefines the function that determines how to fetch the URL that is being requested. If the URL matches a pattern or a site that requires a proxy, it will connect to the proxy server rather than going directly to the site.

——————————————————————————–
(USR = User on IBM.Net or another ISP; PXY = BOL web proxy server; SRV = web server restricted to UCLA)

Step 1: User starts browser, connects to proxy server to get the Proxy Automatic Configuration (PAC) file.
  fetch request: proxy.ucla.edu/cgi/proxy

    +—–+                    +—–+
    |  U  |                    |  P  |
    |  S  | ==================>|  X  |
    |  R  |                    |  Y  |
    +—–+                    +—–+

Step 2: Proxy server returns “proxy”, which configures
  browser to do proxying.

    +—–+                    +—–+
    |  U  | “proxy” loaded     |  P  |
    |  S  |<================== |  X  |
    |  R  |                    |  Y  |
    +—–+                    +—–+

Step 3: User requests URL, URL compared against function retrieved
  from “proxy”, connection route is determined.

Step 4a: Route for URL returned from function is “DIRECT”
  (no proxy required).  Browser retrieves URL directly.  (*Note: At this
  point, every URL returns “DIRECT” unless it is one that is known to
  restrict access to ucla.edu*)

    +—–+                    +—–+
    |  U  | fetch URL          |  S  |
    |  S  |<==================>|  R  |
    |  R  |                    |  V  |
    +—–+                    +—–+

Step 4b1: Route for URL returned from function is “PROXY xxxxx”
  (proxy required).  Browser contacts proxy server and requests page.

    +—–+                    +—–+                    +—–+
    |  U  | request URL        |  P  |                    |  S  |
    |  S  | ==================>|  X  |                    |  R  |
    |  R  |                    |  Y  |                    |  V  |
    +—–+                    +—–+                    +—–+

Step 4b2: Proxy contacts server and requests page.

    +—–+                    +—–+                    +—–+
    |  U  |                    |  P  | request URL        |  S  |
    |  S  |                    |  X  | ==================>|  R  |
    |  R  |                    |  Y  |                    |  V  |
    +—–+                    +—–+                    +—–+

Step 4b3: Server sees request from ucla.edu domain (proxy address)
  and returns URL to proxy.

    +—–+                    +—–+                    +—–+
    |  U  |                    |  P  | return URL         |  S  |
    |  S  |                    |  X  |<================== |  R  |
    |  R  |                    |  Y  |                    |  V  |
    +—–+                    +—–+                    +—–+

Step 4b4: Proxy returns URL to User.

    +—–+                    +—–+                    +—–+
    |  U  | return URL         |  P  |                    |  S  |
    |  S  |<================== |  X  |                    |  R  |
    |  R  |                    |  Y  |                    |  V  |
    +—–+                    +—–+                    +—–+