一、http协议url组成部分详解:
1、协议类型
2、ip(服务器地址)
3、port(或域名)
4、path(请求资源所在地址)
5、?(资源地址与参数的分割符合)
6、参数(请求参数)
7、&(多个参数之间的连接符号)
8、url中如果存在中文,传输时是以urlencode类型传输的,可以通过url编码或解码来转换(如中国转换成urlencode是:%e4%b8%ad%e5%9b%bd)
9、url编码或解码的地址,可直接百度url编码或url解码
二、常见协议类型(方法):
1、get((1.0版本)无body):
2、post((1.0版本)可有body,也可无body):
3、put(1.1版本):
4、delete(1.1版本):
5、head(1.0版本):
6、trace(1.1版本):
三、request(url请求)组成部分:
1、请求行:
包含:
请求方法(get或post)、请求的url、协议及版本号
-----------------示例-----------------------
GET http://search.cnki.net/sug/topk.ashx?jsonvar=top_Words_Json&v=1507789236929&td=1507789236929 HTTP/1.1
2、请求头:
包含:
host (服务器主机地址;域名)
Connection (连接:keep-alive为持续连接)
User-Agent (用户代理:包含客户端类型(浏览器)、客户端所用引擎、客户端(浏览器)及版本) #Mozilla为一种浏览器,AppleWebKit为苹果引擎;
可以用于统计用户的客户端的类型占比
Accept 客户端接受的数据类型
Referer 客户端发送请求的主页,可用于统计点击量
Accept-Encoding 客户端接受的编码类型
Accept-Language 客户端接受的语言类型
Cookie 一种包含用户信息的认证
------------示例--------------------
Host: search.cnki.net #服务器主机地址
Connection: keep-alive #keep-alive为持续连接(http/1.1默认连接方式),可以处理多个请求或响应
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36 #客户端类型及版本
Accept: */* #表示客户端(浏览器)接受的数据类型
Referer: http://www.cnki.net/ #主页地址,表明请求是从哪个主页发送的请求
Accept-Encoding: gzip, deflate #支持(接受)的编码类型,Accept为接受支持
Accept-Language: zh-CN,zh;q=0.9 #支持(接受)的语言
Cookie: SID_sug=111054; Ecp_ClientId=8190503104800362202; Ecp_IpLoginFail=19050327.38.44.37 #cookie
完整的报文信息: