首先,需要弄明白代理服务的原理,和http协议几种请求类型的构成。
代理服务器原理
http协议详解
1、请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:
Method RequestURI HTTP-Version CRLF
其中 Method表示请求方法;Request-URI是一个统一资源标识符;HTTP-Version表示请求的HTTP协议版本;CRLF表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)。
例如:
GET请求
GET http://www.baidu.com/ HTTP/1.1 注:请求行 【方法 统一资源标识符 HTTP协议版本】
Host: www.baidu.com 注:主机
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0 注:浏览器信息
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 注:返回数据类型
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3 注:语言权重值
Accept-Encoding: gzip, deflate 注:压缩格式
Cookie: BAIDUID=528AC525A03A636F088835EED7DFA00F:FG=1; BIDUPSID=F7A856B7B734889B5BB1227150199A90; PSTM=1441605421; BD_UPN=13314752 注:cookie
Connection: keep-alive 注:连接类型
POST请求
POST /fo