nodejs API之HTTP

HTTP概念

http是一种协议,互相通信的两个终端(不只是电脑)之间要遵循这种规则,才能建立通信。

输入网址到浏览器渲染完毕之间的流程:


Created with Raphaël 2.1.0 网址 网址 浏览器 浏览器 操作系统DNS缓存 操作系统DNS缓存 本地host文件 本地host文件 宽带运营商 宽带运营商 根域服务器 根域服务器 com域 com域 网址域 网址域 嘿,我输入网址了 那我看看我的DNS有没有缓存。抱歉没有 有没有这个网址的IP 我也没有 有没有这个网址的IP 我也没有 (发送DNS请求)他们都没有,你那有没 没有,我帮你问问 (通过自身服务器发送迭代DNS请求,知道这个网址的IP吗 我只知道com域的IP,你去问他吧 (通过自身服务器发送迭代DNS请求,知道这个网址的IP吗 不知道,我知道这个网址域的IP, (一般是域名提供商,比如万网)你知道这个网址的IP吗 知道啊,给你 找到了,给你 找到了,给你 终于找到了
Created with Raphaël 2.1.0 输入网址 浏览器自身DNS缓存 是否有该网址IP 浏览器http 3次握手 http://www.google.com End http://www.google.com 本地host文件 是否有该网址IP 发送系统调用,获取IP yes no yes no

连接流程就是:浏览器获取到IP以后,通过自身随机端口发送TCP链接请求,通过层层路由,可能还要经过防火墙,然后经过网卡,到达TCP/IP协议栈到达web终端,建立连接。

三次握手就是

Created with Raphaël 2.1.0 浏览器 浏览器 服务器 服务器 001呼叫007?收到请回复 007收到,001请指示 给我来包烟

TCP/IP建立后,可以发送HTTP请求了 ,比如使用GET方法请求一个根域的一个域名,

服务器收到请求后,根据参数,返回相应的东西,比如一个网站的首页。

网页中用到的css,js,图片啊,也都是一个http请求

第二种理解

http可以分为请求和响应,都会发送一个请求头,和正文。

  • 请求头:发送附加信息,内容类型,响应日期,状态码
  • 正文:表单数据 文章等的东西了

使用浏览器调试工具查看,头和正文,一般重点关注请求方法,比如GET post 等了,还有就是状态码

  • 1xx :表示请求正在处理
  • 2xx :表示请求成功 200
  • 3xx :重定向
  • 4xx :请求错误 400 401 404
  • 5xx :服务器有错误

剩下的就是慢慢来熟悉了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值