博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
http超文本传输协议
阅读量:2344 次
发布时间:2019-05-10

本文共 1845 字,大约阅读时间需要 6 分钟。

 

 TCP协议为操作系统底层协议,能够保证应用层获取到完整的,顺序一直的包序列。但TCP不提供具体的分包,需要上层协议自己解决.TCP发送给上层协议的数据是一个没有意义的字符串序列。如何解释这段序列,需要应用层定义,也就是应用层协议规范的内容。

       应用层协议按格式一般可以分为文本协议和二进制协议。文本协议最常见的就是HTTP,二进制协议如WebSocket的。无论是哪种协议,都需要对格式严格定义,以方便程序对字符串序列进行分包,拆包。

 

1、HTTP协议简介

  1)超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。

  2)HTTP是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的HTTP请求。

   (我们称这个客户端)叫用户代理(user agent)。应答的服务器上存储着(一些)资源,比如HTML文件和图像。(我们称)这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个中间层,

   比如代理,网关,或者隧道(tunnels)。尽管TCP/IP协议是互联网上最流行的应用,HTTP协议并没有规定必须使用它和(基于)它支持的层。 事实上,HTTP可以在任何其他互联网协议上,或者在其他网络上实现。

   HTTP只假定(其下层协议提供)可靠的传输,任何能够提供这种保证的协议都可以被其使用。

  3)通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,

       比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。

   HTTP使用TCP而不是UDP的原因在于(打开)一个网页必须传送很多数据,而TCP协议提供传输控制,按顺序组织数据,和错误纠正。

  4)通过HTTP或者HTTPS协议请求的资源由统一资源标示符(Uniform Resource Identifiers)(或者,更准确一些,URLs)来标识。

 

  1)作用

    怎样向服务器请求文档、服务器怎么把文档传送给浏览器,通俗点讲,就是我们想服务器访问网页资源时,服务器如何把网页上的东西传给我们。

  客户端向服务器:请求报文    服务器向客户端:响应报文

  其实就是:在通过URL访问你服务器时,就会发送一个请求报文,告诉服务器需要哪些东西,服务器知道后,返回一个响应报文给客户端,其中就会带有一些网页信息。

        就是通过这个来达到传送网页资源的目的,现在来具体看看,请求报文和响应报文的格式。

2、请求和响应报文的格式

  格式都一样,内容不一样。 

    请求行            响应行

    请求头部           响应体

    请求数据           响应数据

 

3、HTTP协议功能

    HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,

  还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

    HTTP是客户端浏览器或其他程序与器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。HTTP包含命令和传输信息,

  仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。

    我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在

  浏览器的地址框中输入一个URL或是单击一个时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。

转载地址:http://hrnvb.baihongyu.com/

你可能感兴趣的文章
logstash日志分析的配置和使用
查看>>
Linux下长时间ping网络加时间戳并记录到文本
查看>>
用本地文件创建本地yum源
查看>>
解决docker不能绑定静态的外网固定ip的问题
查看>>
Centos 6 Docker配置桥接网络
查看>>
Centos7 下建立 Docker 桥接网络
查看>>
linux最简单搭建邮件服务器
查看>>
Docker启动一个Centos镜像
查看>>
新安装的Centos 7系统怎么将网卡名称改为eth0
查看>>
docker centos7 安装ssh
查看>>
docker高级应用之智能添加与修改防火墙规则
查看>>
在linux设置rm -rf 回收站
查看>>
python大数据分析代码案例
查看>>
python将日志导入数据库代码案例
查看>>
python将日志导入数据库代码案例2
查看>>
python将日志导入数据库代码案例 3
查看>>
iptables中DNAT转发的配置方法
查看>>
利用iptables给Docker绑定一个外网IP
查看>>
python读取csv----python根据IP列表生成百度IP热点图tilemap
查看>>
zeppelin安装部署配置
查看>>