Http知识点

HTTP知识点

什么是HTTP?

HTTP(超文本传输协议)是一个简单的相应请求协议,他通常运行在TCP之上。 文本:html,字符串 超文本:图片,音乐,视频,定位… 端口号为80

HTTPS:安全的

两个时代

http1.0:客户端与WEB服务器连接之后,只能获得一个web资源,需要断开连接 http2.0:客户端与web服务器连接之后,可以获得多个web资源

http请求

客户端----发出请求(Request)----服务器 以百度为例子:

请求行中的方式:GET 请求方式:GET/POST GET:请求携带的参数较少,大小也有限制,会在浏览器的URL地址栏中显示数据内容,不安全,但是很高效 POST:请求携带的无限制,大小没有限制,不会在浏览器的URL地址栏中显示数据内容,安全,但是不高效

消息头:

http响应

服务器----响应---- 客户端 以百度为例:

响应体:

响应状态码:

当你在浏览器地址栏输入一个URL后回车,将会发生的事情?

输入URL之后的流程

1、 URL的解析&合法性判断 2、 HSTS检查 3、安全检查&访问限制 4、缓存检查 5、DNS查询 6、TCP连接 7、发起HTTP/HTTPS连接请求 8、服务器响应请求,浏览器得到HTML代码 9、浏览器解析HTML代码,并请求HTML代码中的资源(js、css、图片等) 10、浏览器对页面进行渲染,并向用户呈现我们最终看到的网页

1、输入地址 首先,只要你输入地址到地址栏,这个时候浏览器可能就开始给你匹配URL了,他会从书签,以及搜索历史里面进行匹配,给出智能提示,要你补全URL地址。

2、浏览器查找域名的IP地址

  1. 一旦发起请求,浏览器就开始了解析域名,首先检查本地host文件,具体见上一个怎么找host文件,看其中有没有这个域名对应的这个 IP地址,如果有的话,就直接用这个IP地址。
  2. 如果没有,浏览器发送一个DNS请求到本地DNS服务器
  3. 如果你的请求到达本地服务器DNS中,一样的先查他的缓存记录,如果有历史缓存记录,就直接返回这个IP结果。
  4. 如果还是没有,就继续本地DNS向根DNS服务器去查询。
  5. 如果还是没有域名和IP的对应关系,根服务器就会告诉本地服务器,你可以去域服务器上去查询,并给出域服务器的地址。
  6. 本地DNS服务器继续向域服务器发出请求,如果请求的对象是.com域服务器。.com域服务器在收到请求之后,也不会直接返回域名和IP地址的关系,而是告诉本地DNS服务器,你的域名解析服务器的地址。
  7. 最后,本地DNS服务器就会向域名解析服务器发出请求,这个时候,你就收到了一个域名和IP的对应关系,本地服务器不仅把IP地址给用户,并且还保存在缓存中,以备下次再用

3、浏览器向Web服务器发送一个HTTP请求 拿到域名对应的IP地址之后,浏览器会以一个随机端口(1024<端口<65535)向服务器的WEB程序(常用的有httpd,nginx等)80端口发起TCP的连接请求。这个连接请求到达服务器端后(这中间通过各种路由设备,局域网内除外),进入到网卡,然后是进入到内核的TCP/IP协议栈(用于识别该连接请求,解封包,一层一层的剥开),还有可能要经过Netfilter防火墙(属于内核的模块)的过滤,最终到达WEB程序,最终建立了TCP/IP的连接。

建立了TCP连接之后,发起一个http请求。一个典型的 http request header 一般需要包括请求的方法,例如 GET 或者 POST 等,不常用的还有 PUT 和 DELETE 、HEAD、OPTION以及 TRACE 方法,一般的浏览器只能发起 GET 或者 POST 请求。

客户端向服务器发起http请求的时候,会有一些请求信息,请求信息包含三个部分:

请求方法URI协议/版本 请求头(Request Header) 请求正文:

具体的可以查看这个网页

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • HTTP知识点总结

    最近互联网这个圈子不是很太平,继阿里缩招降薪,导致很多同学“被拥抱变化”之后,百度也宣布暂时停止社招了。于是有人疾呼“Winter is coming”,有人跟...

    Sheepy
  • 【面试题】HTTP知识点整理(附答案)

    HTTP/1 的几种优化可以弃用: 合并文件、内联资源、雪碧图、域名分片对于 HTTP/2 来说是不必要的,使用 h2 尽可能将资源细粒化,文件分解地尽可能散,...

    木子星兮
  • 面试问你HTTP知识点?这篇搞懂秒杀90%知识点!

    由于自身不带验证机制,任何人都可以上传文件,因此存在安全性问题,一般不使用该方法。

    乔戈里
  • 学点HTTP知识

    不学无术 又一次感觉到不学无术,被人一问Http知识尽然一点也没答上来,丢人丢到家了啊。平时也看许多的技术文章,为什么到了关键时刻就答不上来呢? 确实发现一个问...

    用户1105954
  • HTTP应知应会知识点复习手册(上)

    上篇主要内容: 状态码、Http1.0/1.1/2.0、Https、GET和POST

    蛮三刀酱
  • HTTP应知应会知识点复习手册(下)

    还可参考:https://blog.csdn.net/lpjishu/article/details/50917092

    蛮三刀酱
  • HTTP应知应会知识点复习手册(上)

    HTTP 1.1支持长连接(PersistentConnection)和管线化(Pipelining)处理,在一个TCP连接上可以传送多个HTTP请求和响应,减...

    Rude3Knife的公众号
  • HTTP应知应会知识点复习手册(下)

    还可参考:https://blog.csdn.net/lpjishu/article/details/50917092

    Rude3Knife的公众号
  • HTTP协议web开发知识点

    超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万...

    changxin7
  • 【HTTP】267- HTTP 的15个常见知识点复习

    自从入职新公司到现在,我们前端团队内部一直在做 ?每周一练 的知识复习计划,我之前整理了一个 [每周一练 之 数据结构与算法] (https://juejin....

    pingan8787
  • 【HTTP】267- HTTP 的15个常见知识点复习

    自从入职新公司到现在,我们前端团队内部一直在做 ?每周一练 的知识复习计划,我之前整理了一个 [每周一练 之 数据结构与算法] (https://juejin....

    用户1462769
  • 【HTTP】HTTP基本知识

    写在前面的话,这篇文章是作者参考网上的帖子的一个整理,参考资料较多,作为Http的入门文章,以供学习使用~

    灰子学技术
  • 【HTTP】HTTP基本知识

    ​写在前面的话,这篇文章是作者参考网上的帖子的一个整理,参考资料较多,作为Http的入门文章,以供学习使用~

    灰子学技术
  • HTTP 基本知识

    code_horse
  • HTTP基础知识

    HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。

    mcxfate
  • HTTP基础知识知多少

    1.《图解HTTP》; 2.<一个http请求的详细过程> http://www.cnblogs.com/yuteng/articles/1904215.ht...

    静默加载
  • 知识点

    PHP 4.2.0 以及后续版本中,PHP 指令 register_globals 的默认值为 off。这是 PHP 的一个主要变化。让 register_gl...

    wangxl
  • 知识点

    bin2hex 二进位转成十六进位。 语法: string bin2hex(string str); 返回值: 字符串 函数种类: 资料处理 本函数让二进位字符...

    wangxl
  • HTTP 简明基础知识

    Leshami

扫码关注云+社区

领取腾讯云代金券