超文本传送协议(http)是一个应用层协议,它使用TCP连接进行可靠的传送。
统一资源定位符URL:<协议>://<主机>:<端口>/<路径>
http的默认端口是80
http的URL:http://<主机>:<端口>/<路径>
http是面向事务的。事务:事务就是指一系列的信息交换,而这一系列的信息交换是一个不可分割的整体,也就是说,要么所有信息交换都完成,要么一次交换都不进行。
通过URL访问页面点击鼠标后发生的事:
- 浏览器分析URL
- 浏览器向DNS服务器发出请求,解析URL的IP地址,DNS返回IP
- 浏览器与服务器建立TCP连接
- 浏览器发出取文件命令:GET/…
- 服务器给出响应,把index.htm文件发送给浏览器
- 释放TCP连接
- 浏览器显示HTML文档
http一些特性
http协议本身是无连接的。
http协议是无状态的。即不记得为某个客户服务过没(但允许使用cookie)
http1.0主要缺点:请求一个文档要有两倍的RTT的开销
http2.0使用持续连接解决了这个问题,持续连接:服务器在发送响应后仍然在一段时间内保持这条链接。
http请求报文的一些方法:GET/POST/PUT/DELETE/HEAD/TRACE/OPTION/CONNECT
状态码:
1xx:通知信息,例如,请求收到了/正在处理
2xx:成功
3xx:重定向
4xx:客户差错
5xx:服务器差错
常见的几个:
202,接受
301,重定向
403,禁止访问
404,找不到