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

具体的可以查看这个网页

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值