HTTP是什么
HTTP定义
HTTP( Hypertext Transfer Protocol, 超文本传输协议) 是在万维网上进行通信时
所使用 的协议方案。
HTTP的地位
了解HTTP协议的地位之前首先简单了解一下网络协议分层。HTTP处于网络协议的应用层协议。
HTTP协议组成
报文
定义
HTTP报文就是数据交换标准和文本数据的集合。好比物流里的包裹。
组成
start line(起始行)
Request-URL(请求URL):所请求资源,或者URL路径组件的完整URL。
Method(请求方法):客户端希望服务器对请求资源执行的动作
Status Code(状态码):这三位数字描述了请求过程中所发生的情况。
Reson-phrase(原因短语):跟在状态码后面,为人提供对状态的解释
version(版本):报文所使用的HTTP版本
header(首部)
Accept首部
顾名思义,Accept为客户端提供了将其自己喜好方式和能力传递给服务器端。服务器根据Accept返回对应的信息,避免了服务器传输一些多余的信息。
Accept:告诉服务器能够发送哪些媒体类型
Accept-charset:告诉服务器能够发送哪些字符集
Accept-Encoding:告诉服务器能够发送哪些编码方式
Accept-Language:告诉服务器可以发送那些语言
TE:告诉服务器可以使用哪些扩展的传输编码
通用缓存首部
Cache-Control:用于随报文传送缓存指示
pragma:另一种随报文传送指示的方式
通用首部
Connetion:允许客户端和服务器端指定与请求
body(主体)
HTTP通信
Connect
(a)用户URL拨号:输入页面地址,点击超链接,点击提交按钮
(b) 浏览器从 URL 中解析出服务器的主机名;
(c) 浏览器通过DNS将服务器的主机名转换成服务器的 IP 地址;
(d) 浏览器将端口 号(如果有的话) 从 URL 中解析出来;
(e)浏览器发起到这个IP地址端口 80的连接
(f)服务器监视端口监听客户端电脑的请求,建立握手
Request
客户端建立TCP管道浏览器向服务器发送一条HTTP GET报文
Response
浏览器从服务器读取HTTP响应报文
Close
浏览器关闭连接
认识客户端和服务器端