请教我学计网(二)HTTP协议相关

浏览器输入url->>显示主页的过程

浏览器输入url->>显示主页的过程

大致过程:

  1. 浏览器通过DNS解析查找域名对应的IP地址(DNS解析)
  2. 浏览器向web服务器发送一个HTTP请求(TCP连接 → 发送HTTP请求)
  3. 服务器处理请求
  4. 服务器发回HTML响应(服务器处理请求并返回HTTP报文)
  5. 浏览器显示HTML(浏览器解析渲染界面 → 连接结束)状态码

状态码

一图流解释各协议的作用(HTTP、TCP、IP)

Cookie和Session的区别

  1. Cookie 主要用于保存用户信息,session 的主要作⽤就是通过服务端记录⽤户的状态 。
  2. Cookie 数据保存在客户端(浏览器端), Session 数据保存在服务器端
  3. 相对来说 Session 安全性更⾼

HTTP1.0和1.1的区别

  1. 长连接:1.0默认短连接,HTTP协议是基于TCP协议的,每一次建立断开连接都需要三次握手,四次挥手。1.1默认长连接(Connection:keep alive)。持续方式包括非流水线式和流水线式。

  2. 错误状态响应码:1.1中新增了24个错误状态响应码,如409(Conflict)表示请求的

    资源与资源的当前状态发⽣冲突; 410(Gone)表示服务器上的某个资源被永久性的删除。

  3. 缓存处理:1.0中主要使⽤header⾥的If-Modified-Since,Expires来做为缓存判断的标

    准 。1.1则引⼊了更多的缓存控制策略例如Entity tag, If-Unmodified-Since, If-Match,

    If-None-Match等更多可供选择的缓存头来控制缓存策略

  4. 带宽优化及网络连接的使用:1.0中,存在⼀些浪费带宽的现象,例如客户端只是需要某个对象的⼀部分,⽽服务器却将整个对象送过来了,并且不⽀持断点续传功能, HTTP1.1则在请求头引⼊了range头域,它允许只请求资源的某个部分,即返回码是206(PartialContent),这样就⽅便了开发者⾃由的选择以便于充分利⽤带宽和连接

URI和URL的区别

URI是统一资源标志符,可以唯一标识一个资源

URL是统一资源定位符,除了可以唯一标识一个资源,还指明了如何local到这个资源。

HTTP和HTTPS的区别

  1. 端口:HTTP端口默认为80;HTTPS为443

  2. 安全性和资源消耗:HTTP运行在TCP上,传输内容均为明文,客户端与服务器无法验证对方身份。HTTPS运行在SSL/TLS上,而SSL/TLS运行在TCP上,所有传输内容都采用对称加密,且对称加密的密钥采用了服务器的非对称加密。所以:HTTP 安全性没有 HTTPS⾼,但是 HTTPS ⽐HTTP耗费更多服务器资源 。

  3. 补充(对称加密与非对称加密):

    对称加密:密钥只有⼀个,加密解密为同⼀个密码,且加解密速度快,典型的对称加密算法有DES、 AES等;

    ⾮对称加密:密钥成对出现(且根据公钥⽆法推知私钥,根据私钥也⽆法推知公钥),加密解密使⽤不同密钥(公钥加密需要私钥解密,私钥加密需要公钥解密),相对对称加密速度较慢,典型的⾮对称加密算法有RSA、 DSA等。