1----apache工作流程和报文详解

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
HTTP服务请求步骤:
     (1)建立连接
     (2)接受请求
     (3)处理请求
     (4)访问资源
     (5)构建响应
     (6)发送响应
     (7)记录事务处理过程
http报文:
http事务,一次请求以及与其对应的响应
http方法:get,put, head ,post,delete
 
http请求报文格式:
<method> <request-URL> <version>
<headers> 
             
<entity-body>
 
     
http响应:response
http响应报文格式:    
<version> <status> <reason-phrase>
<headers>
             
<entity-body>
 
<method>:请求方法,希望服务器端执行的动作,如GET /HEAD/POST
<request-url>:请求的资源,可以是相对路径,也是完整的URL
<version>:协议版本,格式HTTP/<major>.<minor>,如http /1 .0
<headers>:HTTP首部
<status>:状态码
<reason-phrase>:原因短语,数字状态码易读信息
<entity-body>:主体部分
 
 
HTTP首部:
     通用首部:请求和响应都可以使用
     请求首部:
     响应首部:
     实体首部:用于指定实体属性
     扩展首部:非标准的首部,可能是由程序开发者创建的,例如X-Forward-For
     
通用首部:
     Connection:定义C /S 之间关于请求/响应的有关选项
         对于http /1 .0,Connection:keep-alive
     Via:显示了报文经过的中间节点
     Cache-Contor:缓存指示
     Pragma:
请求首部:
     Accept    */*
     Accept-Encoding     gzip , deflate
     Accept-Language    zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
     Connection    keep-alive
     Cookie    U_TRS1=0000000e.5a674e57.58f78476.3ab04d22; 
     Host    client.show.sina.com.cn
     Referer    http: //www .sinashow.com/
     User-Agent    Mozilla /5 .0 (Windows NT 10.0; WOW64; rv:54.0) Gecko /20100101  Firefox /54 .0
     
     Client-IP:
     Host:请求的主机名和端口号
     Refer:指明了请求当前资源的原始资源的URL,可用于防盗链
     User-Agent:用户代理,使用什么工具发出的请求
         
     Accept首部:用于标明客户端更倾向于支持的方式(比如字符集是否要压缩,)
         Accept:指明服务器能发送的媒体类型
         Accept-Charset:支持使用的字符集
         Accep-Encoding:支持使用的编码方式
         Accept-language:支持使用语言
     条件请求首部:
         Expect:期望
         If-Modified-Since:是否在指定时间以来修改过次资源
         If-None-Match
     跟安全相关的请求首部:
         Authorization:客户端提交给服务端的认证数据,如账号和密码
         Cookie:客户端发送给服务器端身份标识
         Cookie2
     
响应首部:
     Age:
     Server:向客户端标明服务器程序名称和版本
         
     协商首部:
         Accept-Ranges:对当前资源来讲,服务器所能接受的范围类型
         Vary:首部列表,服务器会根据列表中的内容挑选出最适合的版本发送给客户端
     跟安全相关的请求首部:
         Set-Cookie:服务器端在某客户端第一次请求时发给令牌
         Set-Cookie2:
         WWW-Authentication:质询,即要求客户端提供账号和密码
 
实体首部:
     Location:资源的新位置
     Allow:允许对此资源使用的请求方法
         
内容首部:
     Content-Encoding
     Content-Language
     Content-Length
     Content-Location
     Content-Range
     Content-Type
缓存首部:
     ETag:实体标签
     Expires:过期期限
     Last-Modified:上一次的修改时间
             
HTTP请求方法
     安全方法:GET、HEAD、
     POST,提交表单的方法
     PUT、DELETE、OPTION、TRACE、
     扩展方法:LOCK、MKCOL、COPY、MOVE
     
     GET:请求获取一个资源,需要服务器发送(有或者没有)
     HEAD:跟GET相似,但其不需要服务发送资源而仅传回响应首部
     POST:支持HTML表单提交,表单中有用户填入的数据,这些数据会发送到服务器端,由服务器存储至某位置(例如发送处理程序)
     PUT:与GET相反,向服务器写入文档,发布系统
     DELETE:请求删除URL指向的资源
     OPTION:探测服务器端对某资源所支持的请求方法
     TRACE:跟踪请求要经过的防火墙、代理或网关
     
HTTP状态码
     1xx:信息性状态码
         100 请求继续
     2xx:成功状态码
         200:OK
         201:Created
     3xx:重定向的状态码
         301:Moved Permanently 永久重定向  在响应报文中使用 "Location:URL" 指定资源现在所处的位置
         302:Found 临时重定向  在响应报文中使用首部 "Location:URL"  指定临时资源位置
         304:Not Modified,条件或请求中使用
     4xx:客户端类的错误
         403:Forbidden,请求被服务器拒绝
         404:Not Found 服务器无法找到请求的URL
         405:Method Not Allowed,不允许使用此方法请求相应的URL
     5xx:服务器端的错误
         500:Internal Server Error,服务器内部错误(比如权限错误)
         502:Bad Gateway  代理服务器从上游收到的一条伪响应
         503:Service Unavaliable,服务器此时无法提供服务,但将来可能可用

注:本文来自马哥视频学习记录的笔记。










本文转自 wpf926 51CTO博客,原文链接:http://blog.51cto.com/wupengfei/1956603,如需转载请自行联系原作者
目录
相关文章
|
5月前
|
前端开发 Java Apache
Apache Zeppelin系列教程第七篇——运行paragraph的整个流程分析
Apache Zeppelin系列教程第七篇——运行paragraph的整个流程分析
35 0
|
6月前
|
SQL Java 应用服务中间件
Apache Doris 自定义C++ UDF之流程详解(1)
Apache Doris 自定义C++ UDF之流程详解(1)
124 0
|
2月前
|
SQL 分布式计算 API
Apache Hudi从零到一:深入研究读取流程和查询类型(二)
Apache Hudi从零到一:深入研究读取流程和查询类型(二)
58 1
|
4月前
|
存储 消息中间件 druid
Apache Druid 的集群设计与工作流程
Apache Druid 的集群设计与工作流程
53 0
|
7月前
|
关系型数据库 MySQL 测试技术
禅道安装到Apache服务器详细流程(亲测可用)
禅道安装到Apache服务器详细流程(亲测可用)
118 0
|
7月前
|
调度 Apache
Apache Doris tablet 副本修复的原理、流程及问题定位
Apache Doris tablet 副本修复的原理、流程及问题定位
208 0
|
9月前
|
应用服务中间件 Apache nginx
Apache Doris 自定义C++ UDF之流程详解(1)2
Apache Doris 自定义C++ UDF之流程详解(1)2
185 0
Apache Doris 自定义C++ UDF之流程详解(1)2
|
9月前
|
SQL IDE Java
Apache Doris 自定义C++ UDF之流程详解(1)1
Apache Doris 自定义C++ UDF之流程详解(1)1
135 0
|
12月前
|
算法 网络协议 Apache
Apache ZooKeeper - 选举Leader源码流程深度解析
Apache ZooKeeper - 选举Leader源码流程深度解析
94 0
|
资源调度 分布式计算 监控
Apache Hadoop YARN 的架构与运行流程
Apache Hadoop YARN 的架构与运行流程
Apache Hadoop YARN 的架构与运行流程

推荐镜像

更多