概述
发起一个http请求的过程就是建立一个socket通信的过程。
我们可以模仿浏览器发起http请求,譬如用httpclient工具包,curl命令等方式。
curl "http://www.baidu.com" 返回页面数据
curl -I "http://www.baidu.com" -I查看http响应头的信息
curl -I "http://www.baidu.com" -H "Cookie=......; Accept-Charset=...." -H添加请求头的信息
HTTP解析
http header控制着互联网上成千上万的用户的数据的传输。最关键的是,它控制着用户浏览器的渲染行为和服务器的执行逻辑。
firefox可用firebug查看,httpfox工具,fidder工具,chrome&ie自带调试工具等都可以查看。
HTTP请求头
Accept-Language: zh-cn,zh;q=0.5
Accept-Language表示浏览器所支持的语言类型,分别是中文和简体中文,优先支持简体中文。
Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7
Accept-Charset告诉 Web 服务器,浏览器可以接受哪些字符编码,分别是 GB2312、utf-8 和任意字符,优先顺序是 GB2312、utf-8、*。
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept表示浏览器支持的 MIME 类型,分别是 text/html、application/xhtml+xml、application/xml 和 */*,优先顺序是它们从左到右的排列顺序。
Accept-Encoding: gzip, deflate
Accept-Encoding表示浏览器有能力解码的编码类型,压缩编码是 gzip 和 deflate。
User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
User-Agent(用户代理),简称 UA,它是一个特殊字符串头,使得服务器能够识别客户端使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等
Host: 域名
Host表示请求的服务器网址;
Connection: Keep-Alive
Connection表示客户端与服务连接类型,Keep-Alive表示持久连接;
HTTP响应头