欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HTTP协议基础总结

程序员文章站 2022-07-10 18:16:04
...

一、    概述

本文为HTTP经典五层模型和一个完整的响应过程。

二、HTTP基础

1.经典五层网络模型

(1)应用层:为应用软件提供了很多服务,构建于TCP协议之上
(2)传输层:向用户提供可靠的端到端(End-to-End)服务,传输层向高层屏蔽了下层数据通信的细节
(3)网络层:为数据在节点之间传输创造逻辑链路
(4)数据链路层:在通讯实体之间建立数据链路链接
(5)物理层:定义物理设备如何传输数据


2.浏览器输入URL后HTTP请求返回的完整过程

(1)浏览器输入URL后HTTP请求返回的完整过程
Redirect(跳转)-》App cache(应用缓存)-》DNS(DNS查找)-》TCP(TCP创建链接)-》Request(发送请求)-》Response(接受响应)

(2)形象理解(类比去吃饭)
Redirect:决定去哪个饭店吃饭,比如海底捞
App cache:类似脑中缓存。如果之前去过海底捞,我之前的地址就会存储在脑子里,然后我就可以直接去了
DNS:类似高德地图,可以查找具体地址。如果之前没有去过海底捞,我就要查找高德地图,知道海底捞具体地址。
TCP:类似叫服务员点单。我要叫一声:“服务员,点单“(第一次),服务员就走过来,说:” 好的”(第二次)。然后我说:“那我开始点单了”(第三次,确认开始交互)。然后,她就准备开始记录。
Request:类似点的菜单。菜单点好了,服务员就交给厨师了。
Response:类似桌上做好的菜。服务员按照菜单,上了菜,那么我们就可以大快朵颐了!

3.使用node.js构建实例

(1)按装node.js和git(使用gitbash)
node-v10.16.0-x64.msi

(2)使用gitbash查看node.js版本

...... MINGW64 ~
$ node -v
v10.16.0

(3)编写简单http服务:server.js

const http=require('http')

http.createServer(function(request,response){
    console.log('request come',request.url)
    
    response.end('Hello node.js!!!')
}).listen(8888)

console.log('server is listening on 8888 port')

(4)启动服务

...... MINGW64 ....../http
$ node server.js
server is listening on 8888 port

(5)访问服务http://localhost:8888/
HTTP协议基础总结


 

相关标签: HTTP 基础总结