dahege 2020-01-10
https://www.cnblogs.com/haonanZhang/p/6362233.html
https://www.cnblogs.com/cbslock/p/10139160.html
https://www.cnblogs.com/yoyoketang/p/10137927.html
一、一个页面从输入url到加载完成,中间经历了什么。
1、首先,在浏览器地址栏中输入url。解析url地址是否合法
2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。若没有,则跳到第三步操作
3、在发送http请求前,需要域名解析(DNS解析)(DNS(域名系统,Domain Name System)是互联网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住IP地址。),解析获取相应的IP地址
4、浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手(TCP即传输控制协议。TCP连接是互联网连接协议集的一种)
5、握手成功后,浏览器向服务器发送http请求,请求数据包
6、服务器处理收到的请求,将数据返回至浏览器
7、浏览器收到HTTP响应
8、浏览器解析响应。如果响应可以缓存,存入至缓存中。
9、浏览器发送请求获取嵌入在HTML中的资源(html,css,JavaScript,图片,音乐等),对于未知类型,会弹出对话框
10、ajax查询(网页异步加载的技术),发送异步请求。
11、页面渲染完成
DNS:域名解析服务,将主机名转换为IP地址。如将http://www.cnblogs.com/主机名转换为IP地址:211.137.51.78
二、get与post的区别
三、cookies机制和session机制的区别
1、cookies数据保存在客户端。session数据保存在服务端
2、cookies可以减轻服务器压力,但是不安全,容易进行cookies欺骗
3、session安全一点,但是占用服务器资源。
四、http状态码
五、http协议请求方式
get、post、put、delete。
其他HEAD方、OPTIONS,、TRACE 和 CONNECT 方法(一般都是上面的get和post)。
六、http和https区别
HTTPS = HTTP + SSL
1、https有ca证书,http一般没有
2、http是超文本传输协议,信息是明文传输。https则是具有安全性的ssl加密传输协议
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443(这个只是默认端口不一样,实际上端口是可以改的)
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全
七、HTTP请求报文与响应报文格式
请求报文包含三部分:
a、请求行:包含请求方法、url、HTTP版本信息
b、请求头部(headers)字段
c、请求内容实体(body)
响应报文包含三部分:
a、状态行:包含HTTP版本、状态码、状态码的原因短语
b、响应头部(headers)字段
c、响应内容(body)实体
八、什么是Http协议无状态协议?怎么解决Http协议无状态协议?
1、无状态协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息
2、无状态协议解决办法: 通过1、Cookie 2、通过Session会话保存。