发送http请求的过程

来源:互联网 发布:我知女人心南宫寒正序 编辑:程序博客网 时间:2024/06/11 15:57

学到了的知识也总结下,记录下,首先我们需要知道的一个概念就是HTTP协议是TCP/IP协议中的一种,TCP/IP协议中分为四层,从上到下为应用层、传输层、网络层和链路层。

应用层:用于定义上层应用中可以让我们直接使用的协议比如说http,ftp。

传输层:就是用于定义控制数据传输的协议,主要是去保证数据的可靠性和有效的到达对端,在必要的时候会把数据分割,比如UDP和TCP协议

网络层:定义不同网络类型间通信的协议,比如说IP协议用于寻址和分段。

链路层:是物理传输通道,可使用多种传输介质传输,就是用来处理网络连接的硬件设备的驱动,主要是由操作系统的网卡驱动程序实现。


解释下IP协议的用途和主要的功能

(1)寻址与路由:首先要用IP地址来标识Internet的主机:在每个IP数据报中,都会携带源IP地址和目标IP地址来标识该IP数据报的源和目的主机。IP协议可以根据路由选择协议提供的路由信息对IP数据报进行转发,直至抵达目的主机。然后IP地址和MAC地址的匹配,ARP协议。数据链路层使用MAC地址来发送数据帧,因此在实际发送IP报文时,还需要进行IP地址和MAC地址的匹配,由TCP/IP协议簇中的ARP完成。

(2)分段与重组:IP数据报通过不同类型的通信网络发送,IP数据报的大小会受到这些网络所规定的最大传输单元(MTU)的限制。再将IP数据报拆分成一个个能够适合下层技术传输的小数据报,被分段后的IP数据报可以独立地在网络中进行转发,在到达目的主机后被重组,恢复成原来的IP数据报。

IP协议寻找地址的过程就是通过去采用ARP协议。   I

ARP协议大致的工作过程,百度百科解释的很清楚了,引用下

工作过程
主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;
主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;
当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:
第1步:根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。
第2步:如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。
第3步:主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
第4步:主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
第5步:当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。

MAC地址

mac地址又称为硬件地址,一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址。MAC地址是网卡决定的,是固定的。


当我们在浏览器中输入网址,去发送请求的时候,首先就会去建立一个socket连接,因为socket连接是通过ip和端口建立的,所以我们在输入网络的时候,如果是域名会进行一个DNS解析,把域名解析成ip地址,如果url中没有包含端口号,就会去使用这个协议的默认的端口号。

当连接建立成功之后,就可以像服务器去发送请求的,可以有GET、POST、DELETE PUT等等。

然后服务器会给你应答,当应答结束的时候就关闭连接。

TCP/IP的通信数据传输过程,来源网络



参考地址

百度百科: ARP协议 https://baike.baidu.com/item/ARP/609343?fr=aladdin

https://www.cnblogs.com/roverliang/p/5176456.html

https://m.baidu.com/mip/c/www.360doc.cn/mip/425717940.html

http://blog.csdn.net/wwd0501/article/details/52412396









原创粉丝点击