http协议原理 | ||
用户访问网站的基本流程 |
URL===>http://www.baidu.com===>http(s)+域名就是请求也叫做URLhttp和https都是web协议,http默认是80端口,https默认是443端口,https是加密的http协议。
| |
DNS解析流程 | 递归和迭代
LDNS服务器将结果反馈到用户并进行缓存 | |
GAT:读请求,用户想要读取一个目标文件显示到浏览器,速度很快,却并不安全。是一个不安全的明文请求,只用于读取查询,不用于收集信息提交,例如注册账号。 POST:写请求,用于账号请求,弹出窗口让输入信息。是一个加密的请求。 HEAD:只是用来查看往返报文。报文(用户发起的GET请求,叫做请求报文,目标web服务器处理数据后,返回响应数据包,报文一般由包头+主体组成。包头记录了个人信息,如读GET请求,报文里只有包头,拥有你的计算的个人信息;响应报文的包头里记录的是Web的对应信息,主体里则是具体想看的文件内容。) | ||
例子:http://www.baidu.com/ http://协议名字,默认端口为80 www.baiud.com:对方的域名信息,DNS之后就是对方IP /是用户想看的具体内容的存放路径,简称URI,统一资源定位符。 例子:www.baidu.com用户想看网页目录下的/index.html 这里的/以对方网页目录为根的起始位置。html为为网页目录,index是html目录中的一项。
URI:统一资源定位符 URL:请求 | ||
目标浏览器读取index.html内容,返回浏览器解析,用户就可以看到具体内容了。 | ||
[root@centos ~]# curl -v www.baidu.com //访问百度,显示内容,-v显示过程中出现的报文信息。 请求报文的报头 用户发起请求,尝试连接www.baidu.com的80端口,解析DNS;尝试三次握手,握手成功发起GET请求,目标为网页服务器的根。遵循http1.1协议,要访问的域名为www.baidu.com。
响应报文的报头 目标浏览器处理成功,遵循http1.1协议,200返回码代表访问成功;当前数据流量为字节,目前处于连接保持状态,响应报文的主体共占用2381字节,是text格式的静态文件;数据的更新时间,唯一编码。
响应报文的主体
浏览器将主体内容解析后,就是用户最终看到的网页。 扩展:将主体中的内容复制粘贴到记事本中,然后将.txt改成.html,然后双击打开该文件就可以看到网页的架构了。
| ||
HTTP状态码 | 100-199: | 用于指定客户端响应的某些动作 |
200-299: | 表示请求成功 | |
300-399: | 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息 | |
400-499: | 用于指出客户端的错误 | |
500-599: | 用于指出服务器端的错误 | |
状态码 | ||
访问成功 | 200~OK | 服务器成功返回网页,返回标准状态码。 |
301 | 永久跳转(永久重定向),不论写什么都会返回固定页面 | |
302 | 临时跳转 | |
304 | 触发浏览器缓存 | |
访问失败 | 401 | 用户验证不通过 |
403 | 禁止访问,权限拒绝,禁止用户访问 | |
404 | 服务器找不到客户端请求的指定页面,可能资源丢失或不存在 | |
500 | 内部服务器错误,服务器遇到了意料不到的情况,不能完成客户请求。这是一个笼统的报错,一般为服务器的设置或者内部程序问题导致。 | |
502 | 坏的网关,一般是代理服务器请求后端服务时,后端服务不可用或没有完成响应网关服务器,一般为反向代理服务器下面的节点出问题导致。 | |
503 | 服务器当前不可用,可能因为服务器超载或停机维护导致,或者是反向代理服务器后面没有可以提供服务的节点 | |
504 | 网关超时,一般是网关代理服务器请求后端服务时,后端服务没有在特定的时间内完成处理请求,一般是服务器过载导致没有在指定时间内返回数据给前端代理服务器 |
Linux基础——Web(一)http协议原理
最新推荐文章于 2024-05-09 13:40:55 发布