本文为Java后端面试自学内容,记于此以便学习和回忆,如有 侵权或错误,欢迎讨论指教!
一次完整的http请求
在这里,一次完整的http请求指,从浏览器中输入后,发生的一些列过程。本文不是详细的科普,只是简单的概括。本文将其分为六个步骤,概况如下:
-
域名解析
域名解析指由输入获得IP地址,首先浏览器搜索自身的DNS缓存,如果没有,开始搜索操作系统自身的DNS缓存,如果没有,开始hosts文件,如果没有,启动DNS服务器进行寻找。 -
发起TCP的三次握手
具体流程可以自己查询,三次握手,为什么需要三次,两次会有什么问题等等。 -
发起http请求
http请求报文由三部分组成–请求行、请求头、请求体。
请求行包括 请求方法、URL地址、协议名称版本号
请求头包括一些字典对 -
服务端响应Http请求,浏览器得到html代码
-
浏览器解析html代码,并请求html中的资源
-
渲染
顺便看了https,对其进行简单的理解就是,在http的基础上加了安全机制,例如SSL或TLS。下面为两者的结构图,应该就可以理解了。