HTTP 简介 (js)

HTTP 意为超文本传输,是一种获取网络资源的协议。议是Web上数据交换的基础。

1.客户端

客户端通常是一个浏览器,当输入URL时,浏览器发起第一个请求以获取HTML文档,服务端收到请求后,生成相应的HTML文档,返回给浏览器,浏览器解析返回的HTML文档,并根据文档中的资源信息发送其他的请求获取这些资源,例如css文件、js脚本、图片等,浏览器根据这些资源绘制页面。

HTTP协议是无状态的

可以使用cookie以及session创建有状态的会话,也可以在请求头中添加token 来分辨请求来着哪个链接。

2.HTTP流

HTTP报文有两种类型------请求与回应

一个客户端与服务器的数据交换流程

  1. 打开一个TCP连接(或者重用之前的一个):TCP连接用来发送一条或多条请求,当然也用来接收回应消息。客户端可能重用一个已经存在的连接,或者也可能重开几个新的与服务端的TCP连接
  2. 发送一个HTTP报文:HTTP报文(在HTTP/2之前)是语义可读的。在HTTP/2中,这些简单的消息被封装在帧中,这使报文不可能被直接读出来,但是规则仍旧是相同的
  3. 读取服务端返回的报文。
  4. 关闭连接或者为以后的请求重用连接。
相关推荐
上海云盾-小余4 小时前
DDoS 攻击全解析:常见类型识别与分层防御思路
网络协议·tcp/ip·安全·ddos
不做菜鸟的网工4 小时前
H3C 本地 Portal + AAA 认证 模拟配置实验
网络协议
W.W.H.5 小时前
嵌入式常见的面试题1
linux·网络·经验分享·网络协议·tcp/ip
zmj3203245 小时前
CAN + 以太网 + Wi-Fi + BLE + TCP/IP + MQTT +HTTP协议层级
网络·网络协议·tcp/ip
发光小北6 小时前
IEC103 转 ModbusTCP 网关应用在什么场景?
网络·网络协议
BullSmall7 小时前
Prometheus 如何配置监控 SSL 证书即将过期
网络协议·ssl·prometheus
robch7 小时前
python3 -m http.server 8001直接启动web服务类似 nginx
前端·nginx·http
一只小鱼儿吖7 小时前
长效代理IP:构建稳定高效的网络数据通
网络·网络协议·tcp/ip
以太浮标9 小时前
华为eNSP模拟器综合实验之- DHCP、DNS、HTTP和FTP服务器配置案例Client-Server
linux·服务器·windows·http·华为·信息与通信
Vis-Lin9 小时前
BLE 协议栈:L2CAP 信道详解
网络·物联网·网络协议·蓝牙·iot·ble