请教我学计网(二)HTTP协议相关
浏览器输入url->>显示主页的过程
浏览器输入url->>显示主页的过程
大致过程:
- 浏览器通过DNS解析查找域名对应的IP地址(DNS解析)
- 浏览器向web服务器发送一个HTTP请求(TCP连接 → 发送HTTP请求)
- 服务器处理请求
- 服务器发回HTML响应(服务器处理请求并返回HTTP报文)
- 浏览器显示HTML(浏览器解析渲染界面 → 连接结束)状态码
状态码
一图流解释各协议的作用(HTTP、TCP、IP)
Cookie和Session的区别
- Cookie 主要用于保存用户信息,session 的主要作⽤就是通过服务端记录⽤户的状态 。
- Cookie 数据保存在客户端(浏览器端), Session 数据保存在服务器端
- 相对来说 Session 安全性更⾼
HTTP1.0和1.1的区别
长连接:1.0默认短连接,HTTP协议是基于TCP协议的,每一次建立断开连接都需要三次握手,四次挥手。1.1默认长连接(Connection:keep alive)。持续方式包括非流水线式和流水线式。
错误状态响应码:1.1中新增了24个错误状态响应码,如409(Conflict)表示请求的
资源与资源的当前状态发⽣冲突; 410(Gone)表示服务器上的某个资源被永久性的删除。
缓存处理:1.0中主要使⽤header⾥的If-Modified-Since,Expires来做为缓存判断的标
准 。1.1则引⼊了更多的缓存控制策略例如Entity tag, If-Unmodified-Since, If-Match,
If-None-Match等更多可供选择的缓存头来控制缓存策略
带宽优化及网络连接的使用:1.0中,存在⼀些浪费带宽的现象,例如客户端只是需要某个对象的⼀部分,⽽服务器却将整个对象送过来了,并且不⽀持断点续传功能, HTTP1.1则在请求头引⼊了range头域,它允许只请求资源的某个部分,即返回码是206(PartialContent),这样就⽅便了开发者⾃由的选择以便于充分利⽤带宽和连接
URI和URL的区别
URI是统一资源标志符,可以唯一标识一个资源
URL是统一资源定位符,除了可以唯一标识一个资源,还指明了如何local到这个资源。
HTTP和HTTPS的区别
端口:HTTP端口默认为80;HTTPS为443
安全性和资源消耗:HTTP运行在TCP上,传输内容均为明文,客户端与服务器无法验证对方身份。HTTPS运行在SSL/TLS上,而SSL/TLS运行在TCP上,所有传输内容都采用对称加密,且对称加密的密钥采用了服务器的非对称加密。所以:HTTP 安全性没有 HTTPS⾼,但是 HTTPS ⽐HTTP耗费更多服务器资源 。
补充(对称加密与非对称加密):
对称加密:密钥只有⼀个,加密解密为同⼀个密码,且加解密速度快,典型的对称加密算法有DES、 AES等;
⾮对称加密:密钥成对出现(且根据公钥⽆法推知私钥,根据私钥也⽆法推知公钥),加密解密使⽤不同密钥(公钥加密需要私钥解密,私钥加密需要公钥解密),相对对称加密速度较慢,典型的⾮对称加密算法有RSA、 DSA等。