HTTP1 认识与总结

发布时间:2023-05-20

一、简述HTTP协议主要特点

HTTP协议是基于客户端/服务器模型的请求/响应协议,被用于在Web浏览器和网站服务器之间通信。简单来说,就是通过某些方法,将你想让服务器做的事情告诉它,然后服务器返回一些数据给你。HTTP协议有以下几个主要特点:

  1. 纯文本协议。HTTP协议是基于文本的,这意味着它使用ASCII编码来传输数据。
  2. 请求/响应模式。在HTTP中,服务器通常等待客户端请求,然后提供响应。
  3. 无状态协议。对于HTTP而言,每个HTTP请求都是独立的,无法知道之前是否有请求或响应。
  4. 可靠传输。HTTP协议保证了请求和响应的可靠传输,即使在网络不稳定的情况下也可以保证数据的传输。
  5. 支持缓存。HTTP协议支持缓存机制,它允许浏览器或代理服务器存储响应并重复使用它。

二、HTTP服务的tcp端口是1

HTTP服务默认使用80端口,这也是HTTP协议的标准端口号,但并不是唯一的端口号,其他一些端口也可以用于HTTP服务,只需要在请求中指定端口号即可。如果你想自定义端口号,可以使用一些不常用的非专用端口,比如:8080、8888等等。

三、HTTP1的相关内容

1、首行格式

HTTP-Version (SP) Status-Code (SP) Reason-Phrase CRLF

HTTP1协议的请求报文的首行由三部分组成:协议版本、状态码、相关原因。例如:

HTTP/1.1 200 OK

以上首行中的HTTP/1.1表示协议版本,200表示状态码,OK表示原因短语。

2、HTTP1协议的请求方法

HTTP1协议定义了一些常见的请求方法,包括GET、POST、PUT、DELETE等等,它们用于告诉服务器需要执行哪种操作。以下是一些常见的HTTP1请求方法:

  • GET:用于获取资源
  • POST:用于提交数据
  • PUT:用于更新数据
  • DELETE:用于删除资源

3、HTTP1协议的请求报文的结构

请求方法 URL 协议版本 CRLF
Header1: value1 CRLF
Header2: value2 CRLF
...
HeaderN: valueN CRLF
CRLF
request body

HTTP1协议的请求报文由三部分组成:请求行、请求头、请求正文。请求头和请求正文之间必须有一个空行。以下是一个HTTP请求报文的示例:

GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1

4、HTTP1协议的响应报文的结构

HTTP-Version Status-Code Reason-Phrase CRLF
Header1: value1 CRLF
Header2: value2 CRLF
...
HeaderN: valueN CRLF
CRLF
response body

HTTP1协议的响应报文由三部分组成:状态行、响应头、响应正文。响应头和响应正文之间必须有一个空行。以下是一个HTTP响应报文的示例:

HTTP/1.1 200 OK
Server: nginx/1.14.0 (Ubuntu)
Content-Type: text/html; charset=UTF-8
Content-Length: 1234
Connection: keep-alive
<title>Example Page</title>
<link rel="stylesheet" href="style.css">
<h1>Hello, World!</h1>
<p>This is an example page.</p>