HTTP协议

1.从用户在浏览器里输入网址,到看到内容,发生了什么?

  1. 客户端在浏览器输入一个网址,系统会查找本地的DNS缓存和hosts文件,确认是否有网址对应的服务器IP地址。如果有,则直接访问获取的IP地址对应服务器。一般在第一次访问时是没有这些记录的。hosts文件常用于内部环境测试使用。
  2. 客户端本地没有解析记录时,系统会把解析请求发送给系统设置的DNS服务器地址,如果该服务器上有解析记录则返回给客户端;如果没有,则DNS服务器会继续请求其他的服务器。
  3. DNS服务器从根域名开始对域名解析,对各层级的服务器进行一系列查找。最终会查找到域名对应的授权DNS服务器,这个授权DNS服务器是管理域名解析的服务器,这台机器上会有域名对应的IP解析记录。
  4. 域名的授权DNS服务器会把对应的IP地址解析记录返回给系统设置的DNS服务器。
  5. 系统设置的DNS把获取的解析记录发给浏览器,同时把解析记录缓存起来,以便下次使用。缓存记录在指定时间内(DNS TTL值)不过期。
  6. 浏览器获取到域名的IP地址,会请求IP地址对应的服务器,网站接收到请求并作出回应、处理,将请求的内容返回给浏览器,至此,一次网站的访问过程就结束了。

2.HTTP协议是什么?

HTTP协议,全称是hypertext transfer protocol,中文名为超文本传输协议,是互联网中最常用的协议之一。

3. HTTP协议版本

HTTP协议从诞生至今,已经经历了很多个版本,其中最主要的版本为HTTP/1.0、HTTP/1.1。

  • HTTP/1.0

这是第一个得到广泛使用的版本。此版本在之前的基础上增加了HTTP请求头,支持了更多的请求方法,支持了多媒体对象的处理。1.0规定浏览器与服务器只保持短暂的连接,即浏览器的每次请求都需要和服务器建立一个TCP连接,处理完成后就断开TCP连接。

  • HTTP/1.1

HTTP/1.1从多个方面做了相关改进,是当前互联网主流版本。这个版本支持了长连接,在一个TCP连接上可以有多个HTTP请求和响应,大大减少了时间消耗和延迟。在请求头方面,增加了更多的请求头和响应头信息,用于其他功能。

4. HTTP报文

HTTP报文分为两种,请求报文和响应报文。

报文格式 报文信息
请求行 请求的方法、URL、协议版本
请求头 字段1:值1;字段2:值2
空行 空行 无内容
请求报文主体 GET方法没有主体,POST方法有

请求行信息

请求方法 URL 协议版本
GET、POST等 https://www.baidu.com/index.html HTTP/1.1

请求头信息

请求头信息 说明
accept:image/jpg 媒体类型
accept-language:zh-CN 语言类型
accept-encoding:gzip 支持压缩
user-agent:****** 客户端类型
host:****** 主机名

响应报文

报文格式 报文信息
起始行 协议版本号、状态码、状态信息(HTTP/1.1 200 OK)
响应头 字段1:值1;字段2:值2
空行 空行 无内容
响应报文主体 ......

你可能感兴趣的:(HTTP协议)