The original tar file is proxylab-handout.tar and the writeup is proxylab.pdf.
Read lecture slides from 21 to 25 very carefully. They are very helpful when working on the lab.
Tiny server and echo server, provided in the the associated code, are very useful for referring. Lecture notes also contain many code snippets that you can use.
The only tricky part is parsing the URL. I used the code from a Stack Overflow answer. The detail is given in the documentation of proxy.c.
Some small modification to the code in lecture slide and we get the full score.
I implemented a LRU cache based on hash. The synchronization and locking code from lecture slides can be directly used.
This is a relatively easy lab. Understanding code in lecture slides and associated code examples help you greatly.
My solution is not heavily tested on web browser, which is actually suggested by the writeup :).