要了解HTTP和HTTPS之间的关系可以看
https://www.runoob.com/w3cnote/http-vs-https.html
http请求过程
打开Chrome浏览器,访问百度,按快捷键f12打开浏览器的开发者工具:
我们切换到Network面板,然后重新刷新网页,这时候就可以看到在Network面板下方出现了很多个条目,其中的一个条目就可以代表一次发送请求和接受响应的过程。
我们先观察第一个网络请求,即www.baidu.com,其中各列的含义如下。
- 第一列Name:请求的名称。一般会用URL的最后一部分内容作为名称。
- 第二列Status:响应的状态码。这里显示为200,代表响应是正常的。通过状态码,我们可以判断发送请求后是否得到了正常的响应。
- 第三列Type:请求的文档类型。这里为document,代表我们这次请求的是一个HTML文档,内容是一些HTML代码。
- 第四列Initiator:请求源。用来标记请求是由哪个对象或进程发起的。
- 第五列Size:从服务器下载的文件或者请求的资源大小。如果资源是从缓存中取得的,则该列会显示from cache。
- 第六列Time:从发起请求到获得响应所花的总时间。
我们点击www.baidu.com这个条目可以看见更加详细的信息。
首先是General部分,其中Request URL为请求的URL,Request Method为请求的方法,Status Code为请求的状态码,Remote Address为远程服务器的地址和端口,Referrer Policy为Referrer判别策略。
继续往下看可以看到Response Headers和Request Headers,分别代表响应头和请求头。**请求头中包含很多请求信息,如浏览器标识、Cookie、Host等信息,这些是请求的一部分,服务器会根据请求头里的信息判断请求是否合法,进而做出对应的响应。**响应头是响应的一部分,其中包含服务器的类型、文档的类型、日期等信息,浏览器在接受到响应之后,会对其进行解析,进而呈现网页内容。