HTTP:超文本传输协议。
作用是把超文本数据从网络传输到本地浏览器,能够保证高效而准确地传输超文本文档。
HTTPS:是以安全为目标的HTTP通道,简单讲就是HTTP的安全版,在HTTP下加入SSL层,简称HTTPS。
HTTPS的安全基础是SSL,因此通过该协议传输的内容都是结果SSL加密的。
SSL主要作用有以下两种:
1.对www.baidu.com这个网址进行DNS域名解析,得到对应的IP地址
2.根据这个IP,找到对应的服务器,发起TCP的三次握手
3.建立TCP连接后发起HTTP请求
4.服务器响应HTTP请求,浏览器得到html代码
5.浏览器解析html代码,并请求html代码中的资源(如js、css图片等)(先得到html代码,才能去找这些资源)
6.浏览器对页面进行渲染呈现给用户
访问百度,快捷键F12,打开浏览器的开发者工具(没有则使用F5进行刷新):
各列含义:
第一列 Name:请求的名称。一般会用URL的最后一部分内容作为名称。
第二列 Status:响应的状态码。这里显示为200,表达响应是正常的。通过状态码,我们可以判断发送请求之后是否得到正常的响应。
第三列 Type:请求的文档类型。这里为document,代表我们这次请求的是一个HTML文档,内容是一些HTML代码。
第四列 Initiator:请求源。用来标记请求是由哪个对象或进程发起的。
第五列 Size:从服务器下载的文件或请求的资源大小,如果资源是从缓存中取得的,则该列会显示from cache。
第六列 Time:从发起请求的到获取响应所花的总时间。
第七列 Waterfall:网络请求的可视化瀑布流。
单击第一列Name的第一行www.baidu.com,可得到更详细的信息:
General部分:
Request URL:为请求的URL
Request Method:为请求的方法
Status Code:为响应状态码
Remote Addres:远程服务器的地址和端口
Referrer Policy:为Referrer判别策略
Response Headers:响应头
包含服务器的类型、文档类型、日期等信息,浏览器在接收到响应后,会对其进行解析,进而呈现网页的内容。
Request Headers:请求头
包含请求信息,如浏览器标识,Cookie、Host等信息。服务器会根据请求头的信息判断请求是否合法,进而做出对应的响应。
请求,英文名为Request
由客户端发往服务器,分为四个部分:
请求方法:
请求方法,用于标识请求客户端请求服务端的方式,常见的请求方式有两种:GET和POST。
GET和POST请求方法的区别:
登录时一般需要用户名和密码,其中密码是敏感信息,如果使用GET请求,则会暴露在URL里面,所以这时候使用POST方式发送。
上传文件时,由于文件内容比较大,因此也可以使用POST方式。
其它请求方法:
方法
描述
GET
请求网页,并返回页面内容
POST
大多用于提交表单或上传文件,数据包含在请求体中
HEAD
类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头
PUT
用客户端传向服务器的数据取代指定文档中的内容
DELETE
请求服务器删除指定的网页
CONNECT
把服务器当作跳板,让服务器代替客户端访问其他网页
OPTIONS
允许客户端查看服务器的性能
TRACE
回显服务器收到的请求。主要用于测试或诊断