三、HTTP协议
1. 基础概念篇
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。是TCP/IP模型的一种实现。
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
2.工作流程
一个完整工作流程包含以下几个流程: 建立连接、发送请求信息、发送响应信息、关闭连接。

在浏览器中输入一个url按下回车将会执行这几个步骤: DNS解析 > TCP连接 > 发送HTTP请求 > 服务器接受请求并处理返回HTTP报文 > 客户端接收数据并关闭TCP连接 > 浏览器渲染解析页面
3:HTTP请求
客户端请求
一个HTTP请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,下图给出了请求报文的一般格式。

服务器响应消息
HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。

客户端请求:
浏览器中输入:www.baidu.com

服务端响应

4:请求方法
根据HTTP标准,HTTP请求可以使用多种请求方法。
HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
5:session和cookie的区别
cookie保存在客户端,安全性低,有数据大小的限制、需要占用客户端的资源。
session保存在服务端, 安全性高,需要占用服务端资源。
session的实现方式
(1)sesssion 的生成的同时,会生成一个与之相关联的的 SessionID ,此 SessionID的存储是需要 Cookie 来完成的。 SessionID 是以名称为 JSESSIONID。SessionID会随着此次 Http 响应,一并返回到客户端,并保存在客户端中。到当前请求再次发出后,该 SessionID会随着 Http 头部,传到服务器中,服务器依据当前 SessionID 得到与之对应的 Session.
(2)如果客户端禁用了 Cookie 的话。一般是采用URL 重写,将 SesseionID 直接附加在请求地址的后面.


浙公网安备 33010602011771号