前置知识
-
DNS域名系统(基于udp协议)
用于域名解析服务,将域名地址转换为IP地址,DNS用的是53端口
物理地址是物理层和数据链路层使用的地址,IP地址是网络层和以上各层使用的地址,是一种逻辑地址,其中ARP协议用于IP地址与物理地址的对应. -
http协议请求内容的格式:
-
http协议响应内容的格式:
-
TCP三次握手,TCP四次挥手;详细描述点击这里
-
HTTP状态
1XX:消息响应 常见:100(继续)
2XX:成功响应 常见:200(响应成功)
3XX:重定向 常见:301,302,307
4XX:客户端错误 常见:400,404,405
5XX:服务器错误 常见:500
敲重点:常遇见的几个状态码
400:客户端请求的语法错误,服务器无法理解.比如:请求数据中,变量类型不对
401:请求要求用户的身份认证比如:未登陆访问敏感资源,如没登陆访问转账服务
404:服务器无法根据客户端的请求找到资源(网页).无法找到资源解决方法:根据URL每个部分定位
405:客户端请求中的方法被禁止,提供的服务方法不包含请求方法,如只提供线下就餐,请求网上叫餐;解决方法:查看服务方法,请求方法
500:服务器内部错误,无法完成请求,一般是服务端程序出异常,查看服务端输出日志. -
URL的组成部分:
传输流程:
- 浏览器会检查你输入的URL的正确性,分解URL;
- 检查该URL有没有缓存,有缓存会读取缓存的信息;(但是缓存信息带来的一个问题是当更改网页时,实际显示并没有更改,这时候可以强刷:ctrl+R)
- 由DNS解析域名得到主机的IP地址;
- 建立TCP连接(TCP的三次握手)
- 客户端发送http请求(首行,head头信息,空行,body);
- 服务器接受并处理请求;
- 服务器将结果返回给客户端发送reponse内容;
- 浏览器拿到结果并调用浏览器的内核实现前端页面的渲染;
- 服务器关闭连接(TCP的四次挥手)