浅谈HTTP

xiaoxiao2021-02-28  6

HTTP协议

http是网络上传输HTML的协议,用于浏览器和服务器之间的一种通信工具。

(google浏览器提供了一套web应用调试工具,适合web开发。ctrl+shift+i即可打开Chorme开发者工具。其中Network就显示浏览器和服务器的通信。)

Network记录浏览器都干了什么。

记录代码在view source显示。

在Request Headers中 第一行:

GET / HTTP/1.1 //get表示一个读取请求,将从服务器获得网页数据,/表示URL的路径,HTTP/1.1表示采用HTTP协议版本1.1。

从第二行开始:

Host:www.aaa.com.cn //表示请求的域名

在Response Headers中:

HTTP/1.1 200 OK //200表示一个成功的响应,OK是说明。 Content-Type:text/html //指示响应的内容,这里是text/html表示HTML网页。

HTTP请求流程:

浏览器向服务器发送HTTP请求(GET或者POST两种方式。GET仅请求资源,POST会附带用户数据.)

响应服务器向浏览器返回HTTP响应。

响应代码:

200表示成功 3xx表示重定向 4xx表示客户端发送的请求有错误 5xx表示服务器端处理时发生了错误;

响应类型:由Content-Type指定; 3. 如果浏览器还需要继续向服务器请求其他资源。

node.js中的http

http服务器: node.js自带http模块,应用程序通过http模块中的request和response完成与http协议的交流。

request封装了HTTP请求,我们调用它就可以拿到所有请求的信息。

response封装了HTTP响应,操作response对象的方法,就可以把HTTP响应返回给浏览器。

eg: node.js实现一个HTTP服务器程序,用来返回Hello world!

'use strict'; // 导入http模块: var http = require('http'); // 创建http server,并传入回调函数: var server = http.createServer(function (request, response) { // 回调函数接收request和response对象, // 获得HTTP请求的method和url: console.log(request.method + ': ' + request.url); // 将HTTP响应200写入response, 同时设置Content-Type: text/html: response.writeHead(200, {'Content-Type': 'text/html'}); // 将HTTP响应的HTML内容写入response: response.end('<h1>Hello world!</h1>'); }); // 让服务器监听8080端口: server.listen(8080); console.log('Server is running at http://127.0.0.1:8080/');

我们运行程序之后,在浏览器输入http://localhost:8080,就可看到Hello world! 之后在控制台可以看到:

GET: / GET: /favicon.ico

这是程序打印的请求信息。


参考:https://www.liaoxuefeng.com

转载请注明原文地址: https://www.6miu.com/read-200251.html

最新回复(0)