前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Http知识点

Http知识点

作者头像
Albert_xiong
发布2021-06-21 17:45:59
4440
发布2021-06-21 17:45:59
举报
文章被收录于专栏:Mybatis学习

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) 请求正文:

具体的可以查看这个网页

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/05/18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HTTP知识点
  • 什么是HTTP?
  • 两个时代
  • http请求
  • http响应
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档