http的坑

来源:互联网 发布:靳东实际人品知乎 编辑:程序博客网 时间:2024/05/20 06:29
http填坑:
http客户端发起请求,创建端口->
http服务器在端口监听客户端请求->
http服务器向客户端返回状态和内容
当输入一个url的时候发生了什么:
1.chrome搜索自身的DNS缓存
输入chrome://net-internals/#dns
2.搜索操作系统自身的DNS缓存(
如果此时没有找到缓存或是浏览器的缓存失效了)
3.系统中也没有找到缓存,读取本地的host文件
4.如果还是没有则,浏览器会发起一个DNS的系统调用
这个调用的过程是:宽带运营商服务器查看本身缓存->
 运营商服务器发起一个迭代DNS解析的请求,
 运营商服务器把结果返回操作系统内核->
 操作系统把结果返回浏览器->浏览器拿到了www.imooc.chrome搜索自身的DNS缓存
 对应的IP地址
 5.浏览器发起三次握手tcp协议
 6.tcp/ip连接建立起来后,浏览器就可以像服务器发送http请求了
 7.服务器端接收了这个请求,根据路径参数,经过
 后端的一些处理之后,把处理后的一个结果的数据
 返回给浏览器
 8.浏览器拿到了慕课网的完整的html页面代码,在解析
 和渲染这个页面的时候,里面的js,css,图片静态资源
 他们同样也是一个个http请求,都需要经过上面的操作
 9.浏览器根据拿到的资源对页面进行渲染,最终把一个完整的页面呈现给了用户



我们可以将http协议拆开,拆成请求和响应,它们都会发送http头和
正文信息
http头:内容类型,服务器发送响应的日期,http状态码
正文:提交的表单数据
一共有八种请求方法:
get post put delete head trace options
状态码:
1xx:提示信息,表示请求已经接收了,请求处理
2XX:请求已经处理掉了
3XX:重定向, 表示更近一步的操作 
4xx:请求有错误,无法实现
5xx:服务器端的错误
200:OK
400:语法错误
403:拒绝提供服务
404:不存在
503:当前处理不了
0 0