• HTTP工作过程


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

    1 ) 、地址解析,

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

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

    在这一步,需要域名系统DNS解析域名localhost.com,得主机的IP地址。


    2)、封装HTTP请求数据包

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


    3)封装成TCP包,建立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连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽
    ————————————————
    版权声明:本文为CSDN博主「绚丽多彩的天空」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/fjjjyf/article/details/86721332

  • 相关阅读:
    IOS开发中针对UIImageView的几种常用手势
    VIew中的触摸事件 touchBegin 等一系列方法
    控制器的跳转-modal与push
    终于决定把自己的小窝从CSDN搬到博客园了
    UIView的frame和bounds区别
    android中数据存储的contentprovider的使用方法
    android中Json数据保存方式
    android手机操作SD的使用方法
    android手机中图片的拖拉及浏览功能
    android图片切换ImageSwichter的动画切换效果
  • 原文地址:https://www.cnblogs.com/linyu51/p/15942859.html
Copyright © 2020-2023  润新知