四、HTTP响应结构
HTTP响应结构:
HTTP的响应报文是由( 状态行、响应头部、响应正文) 三部分组成
4.1 响应行
响应行: 描述了响应的状态,一般由协议版本、状态码及其描述组成 比如 HTTP/1.1 200 OK\r\n,其中协议版本HTTP/1.1或者HTTP/1.0,200就是它的状态码,OK则为它的描述。
五种可能的取值:
4.2 响应头部
响应头部: 用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理等一会儿它回送的数据。
4.3 响应头部
响应头部就是响应的消息体,它包含了响应的内容。它可以包含HTML代码,图片,等等。主体是由传输在HTTP消息中紧跟在头部后面的数据字节组成的。
案例:
五、浏览器输入URL,回车之后请求流程
关于TCP的三次握手和四次挥手可以看我上一篇文章:https://blog.csdn.net/qq_14996421/article/details/105365006
1. DNS解析:
当我们浏览器会首先搜索浏览器自身的DNS缓存,也就是我们的hosts文件中去查找,如果浏览器自身缓存找不到则会查看系统的DNS缓存,如果找到且没有过期则停止搜索解析到此结束,而如果本机没有找到DNS缓存,则浏览器会发起一个DNS的系统调用,就会向本地配置的首选DNS服务器发起域名解析请求,最终会找到我们域名对应的IP地址。
2. TCP解析:
拿到域名对应的IP地址之后,User-Agent(一般是指浏览器)会以一个随机端口(1024< 端口 < 65535)向服务器的WEB程序(常用的有httpd,nginx等)80端口发起TCP的连接请求。这个连接请求到达服务器端后,进入到网卡,然后是进入到内核的TCP/IP协议栈,最终到达WEB程序,最终建立了TCP/IP的连接
3. 发送HTTP请求: 建立了TCP连接之后,发起一个http请求
4. 服务器处理请求并返回HTTP报文: 服务器接受并处理完请求,返回 HTTP 响应,一个响应报文格式基本等同于请求报文,由响应行、响应头、空行、实体组成
5. 浏览器解析渲染页面
6. 连接结束: TCP四次挥手,端口连接
六、Cookie和Session的区别
6.1 Cookie简介:
是由服务器发给客户端的特殊信息,以文本的形式存放在客户端
客户端再次请求的时候,会把Cookie回发
服务器接收到后,会解析Cookie生存与客户端相对于的内容
Cookie的设置以及发送过程:
6.2 Session简介:
服务器端的机制,在服务器上保存的信息
解析客户端请求并操作session id,按需保存状态信息
6.3 Cookie和Session的区别
Cookie数据 存放在客户的浏览器上,Session的数据放在服务器上
Session相对于Cookie更安全
若考虑减轻服务器负担,应当使用Cookie
七、总结
到这里呢,HTTP协议就讲解完成了,以上就是博主对于HTTP的认识,有小伙伴觉得不对或者可以更优化的地方,可以在评论区中提出,对于文中有不懂的小伙伴可以留言进行提问或讨论,今天的HTTP协议详解就到这里了,大家加油~