浅谈HTTP 不念不忘少年蓝@ 2022-06-08 13:14 244阅读 0赞 # 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请求流程: 1. 浏览器向服务器发送HTTP请求(GET或者POST两种方式。GET仅请求资源,POST会附带用户数据.) 2. 响应服务器向浏览器返回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][http_localhost_8080],就可看到Hello world! 之后在控制台可以看到: GET: / GET: /favicon.ico 这是程序打印的请求信息。 -------------------- 参考:[https://www.liaoxuefeng.com][https_www.liaoxuefeng.com] [http_localhost_8080]: http://localhost:8080 [https_www.liaoxuefeng.com]: https://www.liaoxuefeng.com/
还没有评论,来说两句吧...