浏览器窗口输入网址再回车发生了几件事
''' 1 浏览器朝服务端发送请求 2 服务端接收请求(eg:请求百度首页) 3 服务端返回相应的响应(eg:返回一个百度首页) 4 浏览器接收响应,根据特定的规则渲染页面,展示给用户看 浏览器可以充当很多服务端的客户端 百度,腾讯视频,优酷视频... 如何做到浏览器能够跟多个不同的服务端之间进行数据交互? 1 浏览器很牛逼,能够自动识别不同服务端做不同处理 2 制定一个统一的标准,如果你想要让你写的服务端能够跟客户端之间做正常的数据交互,那么你就必须要遵循一些规则 '''
HTTP协议
''' 超文本传输协议,用来规定服务端和浏览器之间的数据交互的格式... 改协议你可以部遵循,但是你写的服务端就不能被浏览器正常访问,你就自己跟自己玩 你就自己写客户端,用户想使用,就下载你专门的app即可 四大特性 1.基于请求响应 2.基于TCP/IP作用于应用层之上的协议 3.无状态 不保存用户的信息 eg:一个人来个一千次,你都记不住,每次都当他如初见 由于HTTP是无状态的,所以后续出现了一些专门记录用户状态的技术 cookie/session/token... 4.无/短链接 请求来一次我响应一次,之后我们两个就没有任何链接和关系了 长链接:双方建立链接之后默认不断开 websocket(后面会讲) 请求数据格式 请求首行(用来标识HTTP协议版本,当前请求方式) 请求头(一大堆k,v键值对) 空行(这里空白(/r/n)换行,千万不能省略) 请求体(并不是所有的请求方法都有,get没有post有,存放的是post请求提交的敏感数据) 响应数据格式 响应首行(用来标识HTTP协议版本,响应状态码) 响应头(一大堆k,v键值对) 空行(这里空白(/r/n)换行,千万不能省略) 响应体(返回给浏览器展示给用户看的数据) 请求方式 1.get请求 向服务端要数据 eg:输入网址获取对应的内容 2.post请求 向服务端提交数据 eg:用户登录,输入用户名和密码之后,提交到后端做身份校验 响应状态码 用一串简单的数字来表示一些复杂的状态或者描述性信息 1xx:服务端已经成功接收到了你的数据正在处理,你可以继续提交额外的数据 2xx:服务端成功响应了你想要的数据(200 OK 请求成功) 3xx:重定向(当你在访问一个需要登录之后才能看的页面,你会发现自动跳转到登录页面) 4xx:请求错误 404:请求资源不存在 403:当前请求不合法或不符合访问资源的条件 5xx:服务器内部错误(500 server internal error) URL 统一资源定位符(大白话:网址) '''
学习博客:https://www.cnblogs.com/haiyan123/p/8387770.html