• 计算机网络


    协议的内容

    • 消息的类型
      • 请求消息
      • 响应消息
    • 消息的语法/格式
      • 消息中有哪些字段
      • 字段如何描述
    • 字段的语义
    • 规则
      • 进程应该什么时候,怎样发送消息

    HTTP连接的两种类型

    • 非持久性连接 HTTP 1.0
    • 持久性连接 HTTP 1.1
      • 无流水:客户端收到前一个响应之后才发送新的请求,每个对象使用1RTT
      • 流水机制:HTTP1.1默认,只要遇到对象尽快发出,所有对象使用1RTT

    RTT(Round Trip Time):从客户端发送一个很小的数据包到服务器并返回所经历的时间

    非持久性连接发送一个文件所需时间:2*RTT + 发送文件时间

    HTTP消息

    • 请求消息(request)
      • 请求行(request line):请求方法(GET、POST) + URL + 协议版本
      • 请求头部(request header):键值对
      • 空行:回车符、换行符,通知服务器header结束
      • 请求数据:POST提交表单,GET没有正文,不包含这一部分
    • 响应消息(response)
      • 状态行(status line):协议版本 + HTTP状态码
      • 消息报头:键值对
      • 空行:同上
      • 响应正文:响应数据

    HTTP请求方法

    • POST:通过消息体上传

    • GET:通过URL字段上传

    • HEAD:请Server不要将所请求的对象放入响应消息,只返回header

    • PUT(HTTP1.1):将消息体中的文件上传到URL指定的路径

    • DELETE(HTTP1.1):删除URL指定的文件

    HTTP状态码

    • 2**:成功
    • 3**:转发与重定向
    • 4**:客户端错误
    • 5**:服务器错误

    HTTP无状态:服务器不记录客户端的历史行为

    为了辨别用户身份,进行session跟踪,储存在用户本地的数据

    Cookie组件
    • HTTP请求消息的cookie头部行:cookie字段
    • HTTP响应消息的cookie头部行:set-cookie字段
    • 保存在客户端上的cookie文件,由浏览器管理
    • Web服务器的后台数据库

    Web缓存/代理服务器技术

    在不访问服务器的前提下满足客户端的HTTP请求

    浏览器向代理服务器发送HTTP请求

    • 如果代理服务器中有所需的对象,代理服务器直接响应给客户端
    • 如果代理服务器中没有所需对象,代理服务器向原始服务器发送请求,获取对象,发送给客户端,并保存对象

    缓存/代理服务器既充当服务器又充当客户端。

    缓存命中率

    问题:缓存一致问题

    缓存和原始服务器的数据是否一致?

    解决方法:条件性GET

    请求header字段:If-modified-since

    缓存命中,代理服务器发送一个条件性GET来检查缓存中的某个对象是否是最新的,其请求头中包含If-modified-since字段,原始服务器接收该请求,若该对象在If-modified-since字段指示的日期之后没有进行过更新,则发送一个不含对象的响应报文(避免浪费带宽,浪费时间),状态码304,代理服务器接收到该响应报文,也就得知缓存中的该对象是最新的,所以将缓存中的该对象发送给客户端。

    Email

    SMTP协议(Simple Mail Transfer Protocol)

    TCP,端口25

    服务器消息队列

    命令/响应模式
    • 命令(command):ASC2文本
    • 响应(response):状态代码和语句
    MIME:多媒体邮件扩展

    邮件头部增加额外行声明MIME内容类型:编码方法,解码方式

    邮件访问协议
    • POP协议:认证授权,下载

    • IMAP协议(Internet Mail Access Protocol)

    • HTTP协议:基于Web的协议

    DNS

    • 翻译:域名->IP
    • 主机别名
    • 负载均衡:为一个域名提供多个服务器映射,轮流访问
    为什么不适用集中式DNS而使用分布式DNS
    • 单点失败问题
    • 流量问题
    • 距离问题
    • 维护性问题
    分布式层次式数据库

    根 - 顶级 - 第二层

    DNS记录

    name, value, type, ttl

  • 相关阅读:
    java web的安全约束--表单的验证
    Java web的安全约束--Basic验证
    setExecuteExistingDelayedTasksAfterShutdownPolicy方法与setContinueExistingPeriodicTasksAfterShutdownPolicy方法的比较
    关于scheduleAtFixedRate方法与scheduleWithFixedDelay的使用
    ExecutorService的invokeAny方法
    CompletionService的异常处理
    CompletionService的poll方法
    include指令
    向jsp页面传值时出现乱码
    new home page
  • 原文地址:https://www.cnblogs.com/CofJus/p/14464620.html
Copyright © 2020-2023  润新知