HTTP协议
一、HTTP协议简介
1.基本概念
1)协议:指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则
2)HTTP协议:超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器
2.URI和URL的区别:
URI
URI:是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源
file://a:1234/b/c/d.txt
URI的三个组成部分:
1)访问资源的命名机制
2)存放资源的主机名
3)资源自身的名称,由路径表示,着重强调于资源
URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。
URL的三个组成部分:
1)协议
2)存有该资源的主机IP地址
3)主机资源的具体地址
二、HTTP协议的特点
1)简单快速
2)无连接
3)无状态
三、request/response
打开浏览器,在地址栏中输入URL,然后我们就看到了网页。原理是怎样的呢?
四、http协议中比较容易混淆的点
1.http1.1/http1.0的区别
1)http1.0产生的背景
超文本传输协议伴随着计算机网络和浏览器的诞生,HTTP1.0也随之而来,处于计算机网络中的应用层
2)http1.0所做的优化
带宽:现阶段已经解决
延迟:1.浏览器阻塞:浏览器对于同一个域名,同时只能有4个连接
2.DNS查询:浏览器需要知道目标服务器的IP才能建立连接
3.建立连接:三次握手
3)http1.1/http1.0的具体区别
1.缓存处理
2.带宽优化及网络连接的使用
3.Host头处理
4.长连接
4)http1.1和http1.0存在的问题
a.HTTP1.x在传输数据时,每次都需要重新建立连接,无疑增加了大量的延迟时间
b.HTTP1.x在传输数据时,所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份
c.HTTP1.x在使用时,header里携带的内容过大,在一定程度上增加了传输的成本
d.虽然HTTP1.x支持了keep-alive,来弥补多次创建连接产生的延迟,但是keep-alive使用多了同样会给服务端带来大量的性能压力
2.get/post方法的区别
1)提交的数据
2)提交的数据大小是否有限制
3)取得变量的值Request.QueryString vs Request.From
4)安全问题
3.cookie和session的区别
Cookie技术是客户端的解决方案,Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息。
发送过程
工作原理
Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。
工作原理
3)区别
1.存放位置不同
2.存取方式的不同
3.安全性(隐私策略)的不同
4.有效期不同
5.对服务器造成的压力不同
4.Etag/if-None-Match referer