HTTP协议

HTTP协议即为HTTP/IP协议,其中HTTP为网络七层中的应用层,IP为网络层

组成

无论请求还是响应,都会有首行HTTP头正文信息,而HTTP头发送的就是内容类型、日期、HTTP状态码等。正文就是表单数据。

请求首行基本格式为方法 路径 版本,举例:GET /simple.html HTTP/1.1
响应首行基本格式为版本号 状态码 状态文本,举例:HTTP/1.1 200 OK

一个HTTP请求体应该包括:
1、请求方式:(POST/GET);
2、path(请求的路径);
3、search(请求的参数,?后面的内容 );
4、Host(主机名+端口);
5、protocol(请求协议,一般为HTTP/1.1);
【(仅POST才有的部分)
6、Content-Type(请求内容加密方式):application/x-www-form-urlencoded;
7、Content-Length(请求内容长度):如id=2的长度为4】
在一个请求中,可以既包括请求参数,也包括请求内容,如:

POST/index.jsp?id=3 HTTP/1.1 Host:taobao.com Content-Type:application/x-www-form-urlenconded Content-Length:9

name=bear
特点
  • 无状态:对传输的数据不具备任何记忆存储功能;
  • 传输完毕,即断开连接。http 1.1及以后都保持连接。

HTTPS=HTTP+SSL信任证书。

问答部分

  1. 提问:一用户访问www.baidu.com,会经过哪些流程?
    答:1、会先去浏览器中搜寻自身DNS缓存,找到后看是否过时效。未过时效就用;
    过了时效或未找到就重新继续下面的请求。查看chrome的DNS缓存:chrome://net-internals#DNS
    2、浏览器搜寻操作系统的缓存,同1;
    3、读取本地host文件;
    4、浏览器发起一个DNS的一个系统调用;
    向本地主控域名服务器(宽带运营商提供)发起一个域名解析请求:
    ◦ 宽带运营商服务器查看本身缓存;
    ◦ 运营商发起一个迭代DNS解析的请求;
    5、浏览器获得域名对应的IP后,发起HTTP“三次握手”,TCP/IP连接请求,经过TCP/IP协议站,防火墙等;
    6、TCP/IP连接建立后,浏览器开始向服务器发送HTTP请求;
    7、服务器接收请求,根据路径参数等,经过后台处理,返回处理结果(如HTML代码);
    8、浏览器拿到页面代码后,其中的静态资源(如:css,js,图片等)会经历上7步;
    9、浏览器渲染结果。

运营商迭代DNS解析的请求:
1)向顶级服务器发起一个请求,然后顶级服务器发现这是一个com域的服务器请求,向其返回com域的顶级域的IP地址;
2)向com域的IP地址发起请求,然后返回baidu.com域的IP地址;
3)向baidu.com域的IP地址(如万网、新网等)发起请求,拿到baidu.com的IP地址。
4)运营商服务器把结果(IP地址)返回给内核并缓存起来(有一定时效)。
5)操作系统内核把结果返回给浏览器。

参考:https://www.imooc.com/article/1851
XXX(imooc某一前端课程,后期补充)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Http协议详解 标签(空格分隔): Linux 声明:本片文章非原创,内容来源于博客园作者MIN飞翔的HTTP协...
    Sivin阅读 5,254评论 3 82
  • 前言:最近发现自己在网络相关这一块基础很是欠缺,所以准备花时间了解一下,本文主要是讲http协议的一些基础,和一些...
    justCode_阅读 2,111评论 0 23
  • HTTP概述 超文本传输协议(HTTP,HyperText Transfer Protocol) 是互联网上应用最...
    曹渊说创业阅读 3,876评论 2 61
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 8,441评论 6 152
  • 感恩手机每天早上把我叫醒; 感恩大恩上师及诸佛菩萨的加持与护佑; 感恩艳贞老师,久力老师,世丽老师对我们市场的帮助...
    希热拉嘎阅读 141评论 0 0