URL简述

相对URL 从当前页面

绝对URL 从当前页面或其他页面跳转而来

HTTPD版本<0.9文本><1.0,method,mime,弱缓存><1.1持久连接><2.0,mime,spdy,缓存,method>

HTTPD特性:无状态、文本编码协议<telnet, curl, enlinks>

追踪用户来源的机制:cookie(重cookie,轻cookie),session

Cookie分类

Cookie工作机制: 随机数惟一标识用户

轻cookie应用: 数据结构保存cookie与session的映射

HTTP事务: 一次请求和响应

事务元数据: headers

实体: entity-body

HTTP请求响应报文详解:

<method> <url> <version>

<header>

...

<header>

空1

空2

<entity-body>


<version> <status> <reason-phrase>

<header>

...

<header>

空1

空2

<entity-body>


100信息

200 OK 成功

301 Moved Permantly 永久 302 Found 临时 304 Not Modified 条件

401 WWW-Authenticate 质询认证 403 Forbidden 没有权限访问 404 Not Found 没有资源 

500 Internal Server Error 服务内部错误  502 Bad Gateway 错误网关


URL Uniform Resource Locator 标识每个资源的位置 URL是URI的子集

+++++++HTTP进阶之HTTP协议基础_博客

+++++++HTTP进阶之HTTP协议基础_博客_02


相对URL:相对当前页面的URL,(相对路径:由当前工作目录起始的路径)

绝对URL:用于跨站引用或当前页面,(绝对路径:由/起始的路径)

HTTPD版本 

+++++++HTTP进阶之HTTP协议基础_Linux_03

HTTPD特性

+++++++HTTP进阶之HTTP协议基础_博客_04

追踪用户来源的机制

+++++++HTTP进阶之HTTP协议基础_Linux_05

Cookie工作方式

+++++++HTTP进阶之HTTP协议基础_Linux_06

二次通信: 

服务器 接收随机数(令牌) <-- 客户端  将访问的服务器首次所发的令牌发给服务器,用于标明自己的身份

Cookie分类

+++++++HTTP进阶之HTTP协议基础_Linux_07

Session:<轻cookie:减小隐私信息丢失的可能性>,在服务器端在进程内存中维护Session

+++++++HTTP进阶之HTTP协议基础_运维_08


HTTP事务 一次httpd请求和响应

事务元数据:(起始行+headers)

实体:entity-body部分


HTTP请求响应报文详解

+++++++HTTP进阶之HTTP协议基础_博客_09


请求报文

+++++++HTTP进阶之HTTP协议基础_博客_10

响应报文

+++++++HTTP进阶之HTTP协议基础_博客_11


method 客户端告诉服务器做什么

+++++++HTTP进阶之HTTP协议基础_运维_12

+++++++HTTP进阶之HTTP协议基础_Linux_13


+++++++HTTP进阶之HTTP协议基础_Linux_14

+++++++HTTP进阶之HTTP协议基础_博客_15

+++++++HTTP进阶之HTTP协议基础_Linux_16



status code 服务器告诉客户端结果

reason-phrase  原因短语

+++++++HTTP进阶之HTTP协议基础_博客_17

反向代理:将自己扮演为服务端接收请求,支持缓存,拆封报文并重新封装

正向代理:将自己扮演为客户端发起请求


重定向

+++++++HTTP进阶之HTTP协议基础_运维_18


条件式请求

+++++++HTTP进阶之HTTP协议基础_博客_19



用户质询认证

+++++++HTTP进阶之HTTP协议基础_运维_20


Forbidden 请求被禁止,IP控制或用户访问控制不通过时

404 用户请求一个不存在的资源 


错误网关:

+++++++HTTP进阶之HTTP协议基础_Linux_21




headers 请求和响应首部: 标记请求或响应的属性 , 事务交换的元数据信息

负载均衡调度时,可以根据首部调度

1、首部可以有多个

2、首部的格式:Directive: value


首部分类

+++++++HTTP进阶之HTTP协议基础_运维_22


通用首部

+++++++HTTP进阶之HTTP协议基础_Linux_23


请求首部

自己可接受的特性

+++++++HTTP进阶之HTTP协议基础_Linux_24

条件式请求首部: 缓存相关

+++++++HTTP进阶之HTTP协议基础_Linux_25

安全请求首部

+++++++HTTP进阶之HTTP协议基础_Linux_26

代理请求首部

+++++++HTTP进阶之HTTP协议基础_Linux_27


响应首部

+++++++HTTP进阶之HTTP协议基础_运维_28


实体首部

+++++++HTTP进阶之HTTP协议基础_Linux_29


示例

General
	Request URL:http://172.16.100.1/          
	Request Method:GET
	Status Code:200 OK
	Remote Address:172.16.100.1:80                   //服务器地址 
Response Headers
view source
	Accept-Ranges:bytes                                          
	Connection:close                                 // 服务器是非持久连接 KeepAlive off
	Content-Encoding:gzip                            // 实体格式:字符集,包含多种语言编码格式
	Content-Length:7725                              // 大小
	Content-Type:text/html; charset=UTF-8            // 类型
	Date:Sat, 09 Sep 2017 12:30:15 GMT               // 请求报文的创建时间
	ETag:"10c-6353-558c0da6c3922"                    // 实体的额外标签,基于标签的条件式请求
	Last-Modified:Sat, 09 Sep 2017 12:30:05 GMT      // 实体最近一次修改的时间    
	Server:Apache/2.2.15 (CentOS)                    // 服务器程序名、版本号
	Vary:Accept-Encoding                             // 服务器查看变化的首部
Request Headers
view source
	Accept:text/html,application/xhtml+xml,applicat // 客户端可接受的MIME类型
	Accept-Encoding:gzip, deflate, sdch             // 客户端可接受的压缩格式    
	Accept-Charset:                                 // 字符集               
	Accept-Language:zh-CN,zh;q=0.8                  // 客户端可接受的语言编码格式
	Cache-Control:max-age=0                         // 缓存控制
	Connection:keep-alive                           // 
	Host:172.16.100.1                               // 服务器主机                  
	User-Agent:Mozilla/5.0 				// 用户代理