一、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

完整的报文信息:

http协议详解1的更多相关文章

  1. HTTP协议详解(转)

    转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的 ...

  2. HTTP协议详解

    Author :Jeffrey 引言 HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展. ...

  3. 动态选路、RIP协议&&OSPF协议详解

    动态选路.RIP协议&&OSPF协议详解 概念 当相邻路由器之间进行通信,以告知对方每个路由器当前所连接的网络,这时就出现了动态选路.路由器之间必须采用选路协议进行通信,这样的选路协议 ...

  4. ASP.NET知识总结(3.HTTP协议详解)

    引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...

  5. 接口测试之HTTP协议详解

    引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...

  6. 计算机网络(12)-----HTTP协议详解

    HTTP协议详解 http请求 http请求由三部分组成,分别是:请求行.消息报头.请求正文 (1)请求行 请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:Metho ...

  7. OSPF协议详解

    CCNP OSPF协议详解 2010-02-24 20:30:22 标签:CCNP 职场 OSPF 休闲 OSPF(Open Shortest Path Fitst,ospf)开放最短路径优先协议,是 ...

  8. HTTP协议详解(真的很经典)

    HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展.目前在WWW中使用的是HTTP/1.0 ...

  9. HTTP协议详解--转载http://blog.csdn.net/gueter/article/details/1524447

    引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...

  10. 关于http协议详解

    Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前 ...

随机推荐

  1. cgicc使用

    CgiCc 使用 一.下载 下载地址: http://ftp.gnu.org/gnu/cgicc/ ftp://ftp.gnu.org/gnu/cgicc/ 二.配置.编译.安装 下载完成后解压:sh ...

  2. springboot jpa 创建数据库以及rabbitMQ分模块扫描问题

    在使用jpa过程中,如果没有在配置中加入自动创建实体对于的sql,则需要提前创建建表语句 spring.jpa.properties.hibernate.show_sql=true spring.jp ...

  3. 多线程(二)Object类方法、线程的操作sleep(),join(),interrupt(),yield()

    四.Object类简介 Object类是所有类的超类,之所以放在线程部分是因为其方法很多是和线程有关的.比如以下三个: wait()方法.wait(long timeout)和wait(long ti ...

  4. 局部处理的边缘连接(python+opencv)

    rt import cv2 import numpy as np path = "_lo.png" img = cv2.imread(path) gray = cv2.cvtCol ...

  5. 采用线性回归方法降低双目测距到平面的误差(sklearn)

    继上篇,为了改善标定板的深度信息: remove_idx1 = np.where(Z <= 0) remove_idx2 = np.where(Z > 500)#将Z轴坐标限定在0-500 ...

  6. shell中条件判断if中的-z到-d

    shell中条件判断if中的-z到-d的意思 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真.[ -c FILE ] 如果 ...

  7. html5 音乐 audio

    手机做小项目,需要添加音乐,做此笔记,依赖jquery,代码如下: <!DOCTYPE html> <html lang="en"> <head> ...

  8. WDigest

    WDigest 是windows在XP系统中应用的,其作用主要是与超文本传输协议(HTTP)和简单的身份验证安全层(SASL)一起交换使用.而Digest与NTLM协议类似,也是挑战认证协议. 简单说 ...

  9. Java基础——集合框架(待整理)

    ArrayList 和 和 Vector 的区别 从代码的最终的操作形式上可以发现,代码的输出结果与之前是一样的,而且没有区别,但是两者的区别还在于其内部的组成上. No. 区别点 Vector Ve ...

  10. zTree 节点展开

    var treeObj = $("#treeDemo"); $.fn.zTree.init(treeObj, setting, Znode1); zTree_Menu = $.fn ...