1.http原理
1.1 URL和URI
URL: 统一资源定位符
URI: 统一资源标识符
URI是URL的父类,URI还有一个子类叫做URN(统一资源名称),URN只命名资源,而不指定如何定位资源,所以URN用的非常少,几乎所有的URI都是URL
1.2 超文本:网页的源代码HTML就可以称之为超文本
1.3 HTTP 超文本传输协议(应用层)
用于从网络文本数据到本地浏览器的传送协议
一个HTTP的操作称之为一个事物,分为四个步骤
(1)客户端与服务器端建立连接
(2)建立连接以后,客户端向服务器端发送一个请求(request)
请求:包括请求的方法,请求的网址(URL)请求头 请求体
请求体:一般承载的都是post请求的表单数据,get请求的请求体为空
(3)服务器端接收到请求后,给与响应(response) ,格式是一个状态行
响应(response) 包括响应的状态码, 响应头, 响应体
响应体: 响应的正文数据都在响应体中,请求网页时,它的响应体就是网页的HTML代码
(4)断开连接
HTTPS: 是以安全为目标的HTTP通道,简单来说就是HTTP的安全版,即HTTP下加入了SSL层,简称HTTPS,HTTPS的安全基础是SSL,因此通过它传送到内容都是经过SSL加密的。
1.4 请求方法(GET , POST)
1.4.1 get :在浏览器中 直接输入URL并回车,这便发起了一个get请求
1.4.2 post : 大多在表单提交时发送,比如一个登陆表单输入用户的密码和用户名后点登陆,就会发起一个post请求。其数据会以表单得到形式传输,而不会体现在URL上
GET请求的参数在URL上是可以看到的,而post请求的url上是不会有这些数据的,数据会以表单的形式传输,包含在请求体中
1.5 请求头 用于说明服务器要使用的附加信息
Accept 用于指定客户端可以接受那种信息
Accept-language 客户端可以接受的语言类型
Accept-Encoding 客户端可以接受的编码格式
Host 用于指定请求资源的主机IP和端口号
Cookie 主要功能是维持当前的访问对话
User-Agent: 使服务器识别客户端使用的操作系统和浏览器
1.6 响应头 包含了服务器对请求的 应答信息
Date 标志响应产生的时间
Server 包含服务器的信息 比如名称和版本号
Content-Type: 文档类型,指定返回的数据类型是什么
set-cookie 设置cookies
1.7 会话和cookies
HTTP有一个特点,无状态, 就是说HTTP对于事务的处理是没有记忆功能的。
所以为了保持HTTP的连接状态,就出现了会话和cookies技术
会话: 在服务器端,用于保存用户的会话信息
cookies 在客户端,有了cookies,浏览器在下次访问网页时会自动的附带上他发送给服务器,服务器会根据cookies判断出它是那个用户以及用户的状态,返回相应的响应
我们可以想象。cookies中保存了登陆的凭证。有了它,下次登陆时,就不用再输入用户名和密码了