即使是完全没有计算机基础的小学生,也知道浏览器中网页的网址开头是http:// 。那么http到底是什么东西呢?小编也不知道,就随这节课来看看吧!
什么是http
HTTP全称Hyper Text Transfer Protocol,是分布式、协作式和超媒体信息系统的应用层超文本传输协议,是基于TCP协议的应用层协议。是适用于客户端和服务器之间通信的无状态协议,简单可拓展,且每个请求都是孤立的。
简单来说就是互联网一种传输信息的规范,客户端给服务器发出请求request,服务器返回给客户端respons,请求和响应的结构是类似的,都分为请求行,请求头,请求体/状态行,消息报头,响应正文。
请求行:请求方法(GET、POST等) URL 协议版本
请求头:客户端环境信息,请求体的大小,客户端支持的压缩类型等
请求体(可选)
状态行:协议版本 状态码 状态信息
响应头:服务器环境信息,响应体的大小,服务器支持的压缩类型等
请求体(可选)
贴两段菜鸟的示例:
GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
Connection: keep-alive
HTTP/1.1 200 OK
Date: Wed, 18 Apr 2024 12:00:00 GMT
Server: Apache/2.4.1 (Unix)
Last-Modified: Wed, 18 Apr 2024 11:00:00 GMT
Content-Length: 12345
Content-Type: text/html; charset=UTF-8
<!DOCTYPE html>
<html>
<head>
<title>Example Page</title>
</head>
<body>
<h1>Hello, World!</h1>
<!-- The rest of the HTML content -->
</body>
</html>
下列respons中是一些常用的状态码:
- 200 OK:客户端请求成功
- 301 :资源被永久转移到其他URL
- 302:临时跳转
- 401:请求未经授权
- 404:请求资源不存在
- 500:服务器发生错误
- 504:服务器响应超时
常用请求头和响应头:
http的发展
随着信息技术的发展,http1之后又出现了http2,把报文嵌入到帧中,更快更稳定传输的内容更多;https则可以实现加密,传送的是加密后的信息,信息传输更加安全,应用也是比较广泛的。
具体的实际应用场景分析还看不太懂,总之就是分析每条报文的含义来了解具体每条请求和响应的作用,在之后计算机网络中再进行深入学习吧!