Http协议

Http协议(Hypertext Transfer Protel,超文本传输协议)是用于从万维网服务器传输超文本到本机浏览器的传送协议。Http协议是一个属于应用层的面向对象协议。

Http是一个应用层协议,由请求和响应构成,是一个标准的客户服务器模型。Http是一个无状态的协议。

在TCP/IP协议栈中的位置

HTTP

HTTPS

TLS、SSL

TCP

IP

数据链路层

HTTP协议通常承载于TCP协议之上,承载于TLS或SSL协议层之上的HTTP协议就是HTTPS,默认HTTP的端口号为80,HTTPS的端口号为443。HTTP是一个无状态协议,同一客户端的这次请求和上次请求是没有对应关系的。

HTTP工作原理 

 一次HTTP操作称为一个事务,其工作整个过程如下:

    1 ) 地址解析

     如用客户端浏览器请求这个页面:http://localhost:8080/login.action

     从中分解出协议名、主机名、端口、对象路径等部分,对于我们的这个地址,解析得到的结果如下:
           协议名:http
           主机名:localhost.
           端口:8080
           对象路径:/login.action

  2)封装HTTP请求数据包

   把以上部分结合本机自己的信息,封装成一个HTTP请求数据包

   3)封装成TCP包,建立TCP连接

    在HTTP工作开始之前,客户机(Web浏览器)首先要通过网络与服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80。这里是8080端口

    4)客户机发送请求命令

 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可内容。

  5)服务器响应

   服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。

    实体消息是服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据

  6)服务器关闭TCP连接

  一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码

    Connection:keep-alive

   TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立连接所需的时间,还节约了网络宽带。









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值