与google服务器通信时( 二 )

  • MX记录,指定代表域名接受电子邮件的邮件服务器 。
  • TXT记录,它与你的域外来源的文本信息有关 。谷歌使用TXT记录来验证域名所有权并确保电子邮件安全 。
  • HTTP请求和响应
    获得IP地址后,我们的设备(客户端)将与服务器建立一个TCP连接 。然后,浏览器将编写一个HTTP请求,该请求将被发送到服务器上 。这个请求将包含一个请求行、请求头和一个可选的请求信息体 。HTTP请求不仅用于获取网页 。请求行包含一个请求方法,通过使用不同的方法(GET、HEAD、PUT、POST、DELETE……),我们可以做各种各样的事情,比如在服务器上发布数据,要求服务器存储数据,要求服务器删除数据等等……为了获取网页,通常使用GET或HEAD方法 。
    服务器将处理这个请求并发送一个HTTP响应 。这个响应也将包括一个响应(状态)行、头信息和一个可选的主体 。响应行包含一个反映请求结果的状态代码 。需要了解的常见状态代码有 。
    1. 200 OK:请求已被满足 。
    2. 301永久移动:请求的资源已被永久地移动到一个新的位置 。
    3. 302发现和重定向:请求的资源已经被转移到一个新的位置,但是是暂时的 。
    4. 400坏请求:服务器无法解释或理解请求 。
    5. 401 需要认证 。请求的资源是受保护的,需要客户的证书(用户名/密码) 。
    6. 403禁止 。服务器拒绝提供资源 , 无论客户的身份如何 。
    7. 404未找到 。请求的资源在服务器中找不到 。
    8. 500内部服务器错误 。服务器出现混乱,通常是由于服务器端程序响应请求时出现错误造成的 。
    9. 501 方法未实现 。使用的请求方法无效(可能是打字错误造成的,例如 , "GET "错写成 "Get") 。
    这张图片显示了使用curl命令行工具对https://www.google.com 的HTTP GET请求和一个状态代码为200的响应 。
    与google服务器通信时


    现在我们已经看到了网页如何被提供的基本情况 。但我们实际上还没有讨论除了发送给客户的HTTP响应之外,在服务器方面还发生了什么 。
    什么是服务器?
    一个服务器可以代表硬件和软件 。当我们提到硬件时,特别是像谷歌这样的大公司所使用的硬件,我们正在谈论数百甚至数千台放置在称为数据中心的大型建筑中的计算机 , 目的是根据请求向客户提供资源 。也就是说,任何计算机,包括你的笔记本电脑,只要在上面安装适当的服务器软件,都可以作为服务器使用 。网络服务器、应用服务器、文件服务器、打印服务器和代理服务器是服务器的一些例子 。
    为了讨论的目的,我们需要定义什么是网络服务器和应用服务器 。网络服务器是一个软件,它被设计用来接受HTTP请求和提供静态网页 , 这些网页是用HTML、CSS或JavaScript编写的 。Nginx、Apache和微软IIS是一些最常见的网络服务器 。
    但网站所做的工作远不止提供静态页面 。它们使用图形用户界面与用户互动,还根据行为、用户偏好生成动态内容,并操纵存储在数据库中的大量数据 。数据库是结构化信息的有组织的集合,旨在有效地插入、删除、查询、访问和修改数据 。
    动态内容是使用应用服务器提供的 。应用服务器与数据库通信以处理数据,然后从动态内容中生成静态内容,并将数据发送到网络服务器以将网页发送给客户 。
    负载平衡器

    推荐阅读