HTTP 超文本传输协议

1.HTTP(Hypertext Transfer Protocol,超文本传输协议)

是一种用于传输超媒体文档(例如HTML文件,可以包含文本,视频,图片,音乐,地图定位)的应用层协议,是Web的基础。

HTTP是一个客户端-服务器协议,客户端发起请求,服务器返回响应。

HTTP使用TCP作为其传输层协议,通常使用80端口。

HTTP协议的基本工作方式是,客户端向服务器发送一个HTTP请求,请求中包含请求的方法、URL、HTTP版本号、请求头部和请求正文等信息。服务器接收到请求后,根据请求的URL等信息进行处理,并返回一个HTTP响应,响应中包含HTTP版本号、状态码、响应头部和响应正文等信息。客户端接收到响应后,根据响应的状态码和响应正文等信息进行处理。

HTTP请求的内容:

请求行:

HTTP 超文本传输协议_第1张图片

请求行里的请求方式有两种 :

  • Get: 请求可以携带的参数个数较少,请求大小有限制,会在浏览器的URL行显示携带的参数。不安全,但是高效。
  • Post: 请求可以携带的参数个数没有限制,请求大小没有限制,不会在浏览器的URL行显示携带的参数。安全,但是不高效。

消息头:

HTTP 超文本传输协议_第2张图片

HTTP 超文本传输协议_第3张图片

 HTTP响应的内容:

HTTP 超文本传输协议_第4张图片

 响应体:

HTTP 超文本传输协议_第5张图片

 响应状态码:

  • 200:  请求响应成功
  • 3xx:  请求重定向
  • 400:找不到资源(404)
  • 5xx:  服务器代码错误(500), 网关错误(502)

HTTP协议的特点包括:

  • 简单快速:HTTP协议使用简单的请求-响应模型,使得客户端和服务器之间的通信变得简单快速。
  • 灵活:HTTP协议允许传输任意类型的数据对象。通过Content-Type头部字段,客户端和服务器可以告知对方传输的数据类型。
  • 无连接:HTTP协议是无连接的,即每个请求都是独立的,服务器不会保留任何客户端的信息。
  • 无状态:HTTP协议是无状态的,即客户端和服务器之间不会保留任何状态信息。这意味着每个请求都是独立的,服务器无法识别出两个连续的请求是否来自同一个客户端。
  • 支持缓存:HTTP协议支持缓存机制,客户端可以缓存服务器返回的资源,以提高性能和减少网络流量。

HTTP/1.0: 客户端与服务器连接后只能获得一个web资源,就断开了连接。

HTTP/1.1: 客户端与服务器连接后可以获得多个web资源。

2.HTTPS(Hypertext Transfer Protocol Secure,安全超文本传输协议)

是一种安全的HTTP协议,它通过使用SSL/TLS协议对HTTP协议传输的数据进行加密和解密,以保证数据传输的安全性。

HTTPS使用的默认端口是443。

HTTPS的工作流程与HTTP类似,不同之处在于HTTPS使用SSL/TLS协议对HTTP协议传输的数据进行加密和解密。SSL(Secure Sockets Layer,安全套接层)和TLS(Transport Layer Security,传输层安全)是一组加密协议,用于保护网络通信的安全性。在HTTPS中,客户端和服务器之间的通信分为以下几个步骤:

1. 客户端向服务器发起HTTPS请求。

2. 服务器将自己的公钥发送给客户端。

3. 客户端使用服务器的公钥对一个随机生成的对称密钥进行加密,并将加密后的密钥发送给服务器。

4. 服务器使用自己的私钥对客户端发送的加密密钥进行解密。

5. 客户端和服务器之间使用这个对称密钥进行加密和解密数据。

HTTPS的优点包括:

  • 数据传输安全:HTTPS使用SSL/TLS协议对数据进行加密和解密,可以保证数据传输的安全性,防止数据被窃取或篡改。
  • 身份认证:HTTPS使用数字证书对服务器进行身份认证,可以防止中间人攻击。
  • SEO优化:搜索引擎会更倾向于显示使用HTTPS协议的网站。

你可能感兴趣的:(web开发,http,网络,web)