0
点赞
收藏
分享

微信扫一扫

超文本传输协议HTTP

进击的包籽 2022-02-18 阅读 106
http网络

超文本传输协议(HTTP):HTTP是互联网上应用最广泛的一种网络协议,定义了浏览器如何向万维网服务器请求万维网文档,以及服务器怎么把文档传送给浏览器,所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

HTTP特性

  1. 基于TCP/IP协议:每次打开一个网站都需要先建立好TCP/IP会话(由浏览器实现)。
  2. 短连接:每次打开一个网站时,当服务端把这个页面内容全部返回后,就把这次连接断开,会话结束。此时在浏览器上看到的页面已经是下载到本地的,若此时服务器端更新了内容,本地页面是不会更新的。除非刷新一次,再进行一次会话。
  3. 被动响应:若客户不主动请求服务器,服务器是不会主动连接客户的。
  4. 无状态:当浏览器发送请求给服务器时,服务器响应,同一个浏览器再发送请求给服务器时,服务器依然会响应,但是不知道是刚才的浏览器。这样使服务器更容易支持大量并发的HTTP请求。

HTTP操作过程
浏览器要访问WWW服务器时,首先要完成对WWW服务器的域名解析,一旦获取了服务器的IP地址,浏览器就通过TCP向服务器发送连接建立请求。

万维网的工作过程如下图所示。万维网服务器不断地监听TCP地端口80,当监听到连接请求后便与浏览器建立TCP连接。然后浏览器就向服务器发送请求获取某个web页面地HTTP请求。服务器收到请求后,将构建所请求web页的必须信息,并通过HTTP响应返回给浏览器。浏览器再将信息进行解释,然后将web页返回给用户。最后,TCP连接释放.
在这里插入图片描述
从浏览器地址栏输入 url 到显示主页的过程:

  1. 浏览器分析链接所指向页面的URL
  2. 浏览器向DNS请求解析域名的IP地址
  3. 域名系统DNS解析出服务器的IP地址
  4. 浏览器与该服务器建立TCP连接
  5. 浏览器发出HTTP请求
  6. 服务器通过HTTP响应把文件发送给浏览器
  7. 释放TCP连接
  8. 浏览器解析文件,并将web页面显示给用户

HTTP协议的连接方式

  • 非持久连接:每个网页元素对象的传输都需要单独建立一个TCP连接。
  • 持久连接:万维网服务器在发送响应后仍然保持这条连接,使同一个客户和该服务器可以继续在这条连接上传输后续的HTTP请求和响应报文。持久连接又分为非流水线和流水线两种方式。
    在这里插入图片描述

HTTP报文结构
HTTP是面向文本的,因此报文中的每个字段都是一些ASCII码串,并且每个字段长度都是不确定的。

HTTP有请求报文和响应报文两种:

  • 请求报文:从客户向服务器发送的请求报文

  • 响应报文:从服务器到客户的问答
    在这里插入图片描述
    请求报文和响应报文都由三部分组成,两种报文格式的区别是开始行不同。

  • 开始行:用于区分是请求报文还是响应报文。请求报文的开始行称为请求行,响应报文的开始行称为响应行。开始行的三个字段之间都以空格分隔。请求行中有三个内容:方法、请求资源的URL和HTTP版本。其中方法是对所请求对象进行的操作,也就是一些命令。
    方法如下:
    GET:请求读取由URL标识的信息
    POST:给服务器添加信息
    HEAD:请求读取由URL信息标识的首部
    CONNECT:用于dialing服务器

  • 首部行:用来说明浏览器、服务器或报文主体的一些信息。

  • 实体主体:通常不用。

如某浏览器发出的请求报文:
在这里插入图片描述

HTTP 常用的状态码及其含义

  • 1XX:信息性状态码
  • 2XX:成功状态码
  • 3XX:重定向状态码
  • 4XX:客户端错误状态码
  • 5XX:服务端错误状态码
举报

相关推荐

0 条评论