键⼊⽹址到⽹⻚显示,期间发⽣了什么
作者:互联网
1. 解析url
url由三部分组成:http:// + 域名 + 文件路径名
当没有路径名时,就代表访问根⽬录下事先设置的默认⽂件 /index.html
2.解析url后,游览器确定了协议、服务器与文件名,开始生成http请求消息
http请求报文:请求行+消息头+消息体
http响应报文:状态行+消息头+消息体
请求行:请求方式(get/post),url,协议版本(http1.1)
状态行:协议版本(http1.1),状态码(200),响应短语(OK)
消息头:一些属性,键值对
消息体:username=jinqiao&password=1234 或者一个html网页
3.域名转换为ID地址
先去本地DNS服务器查缓存,再去根域名服务器,然后一级级查DNS,得到IP地址
4.委托操作系统将消息发给web服务器
应用程序通过调用socket库,来委托协议栈工作。
协议栈:TCP,UDP;IP,ICMP,ARP
如何查看tcp连接状态:netstat -napt
MSS:TCP 数据的最⼤⻓度
MTU:⼀个⽹络包的最⼤⻓度,1500字节
MSS+IP头部+TCP头部=MTU
当HTTP 请求消息超过了 MSS ⻓度, TCP 就需要把 HTTP 的数据拆解成⼀块块的数据发送
TCP报文:TCP头部+TCP数据部分(HTTP报文)
TCP头部:双方端口号,序列号,确认序列号,窗口大小,校验和,紧急指针
网络包要从A发到B,需要获得MAC地址,通过ARP可以获得一个子网中对应IP的MAC,缓存。
网卡将网络包加上报头和起始帧分界符, 在末尾加上⽤于检测错误的帧校验序列,将二进制数字信息转换为电信号,通过网线发送
标签:显示,http,请求,url,什么,期间,TCP,消息,报文 来源: https://www.cnblogs.com/sjj123/p/16609732.html