HTTP相关知识总结

使用场景流程

http客户端发起请求,创建端口

http服务器在端口监听客户端请求

http服务器向客户端返回状态和内容

更详细:

1.Chrome搜索自身的DNS缓存

2.搜索操作系统自身的DNS缓存(浏览器没有找到缓存或者缓存已经失效)

3.读取本地的host文件

4.浏览器发起一个DNS的一个系统调用(向本地DNS服务器发送域名解析请求)

              a.宽带运营商服务器查看本身缓存

              b.运营商服务器发起一个迭代DNS解析请求

              c.运营商服务器把结果返回操作系统内核同时缓存起来

              d.操作系统内核把结果返回浏览器

5.浏览器获得域名对应的IP地址后,发起http三次握手

              a.浏览器会以一个随机的端口向服务器的web程序发起tcp连接请求

              b.tcp连接请求经过层层路由到达服务器端,经历网卡然后到达操作系统内核的tcp/ip协议栈,然后达   到web服务端,然后建立起tcp/ip连接(三次握手,客户端-》服务端,客户端《-服务端,客户端-》服务端)

6.tcp/ip连接建立起来后,浏览器就可以向服务器发送http请求了,使用了比如说,用http的get方法请求一个根域里的一个域名,协议可以采用http 1.0的一个协议

7.服务器端接收到了这个请求,根据路径参数,经过后端的一些处理之后,把处理后的一个结果的数据返回给浏览器,比如慕课网会返回html页面代码

8.浏览器拿到了慕课网的完整的html页面代码,在解析和渲染这个页面的时候,里面的js,css,图片静态资源,他们同样是一个个http请求,都需要经过上面的主要的七个步骤

9.浏览器根据拿到的资源对页面进行渲染,最终把一个完整的页面呈现给了用户

 

http请求和响应都会发送http头和正文信息

http头发送的是一些附加信息:内容类型,服务器发送响应的日期,http状态码等

正文就是用户提交的表单数据或者是返回的数据

 

请求方法:用不同的方式来操作指定的资源

GET 用作获取,读取数据

POST 向指定的资源提交数据

PUT 更新

DELETE 删除标识的某个资源

HEAD 发出获取资源的请求,但是服务器不返回主体内容,用来获取元数据

TRACE

OPTIONS

状态码:服务器端告知浏览器请求成功或失败的状态

1xx 请求已经接收,进行后续处理

2xx 请求成功处理

3xx 重定向

4xx 客户端错误

    400 客户端请求有语法错误

    401 请求没有授权

    403 服务器拒绝提供服务

    404 请求资源部存在

5xx 服务器端错误

    500 服务器端发生不可预期错误

    503 服务器当前不能处理这个请求

posted @ 2017-12-05 18:26  晓梅子酱  阅读(167)  评论(0编辑  收藏  举报