HTTP协议

HTTP协议(超文本传输协议HyperText Transfer Protocol),是基于TCP协议的应用层传输协议,是一种客户端和服务端数据传输的规则。它是无状态协议,需要状态时可以使用Cookie。

协议介绍

URL

URL(Uniform Resource Locator)是统一资源定位符,用来在服务器上定位资源

http://www.example.com:8080/index.html?page=2&limit=10#section2

以这个URL为例

  • http://是协议名称
  • www.example.com是主机名(Host),可以是服务器的域名也可以是IP地址(比如192.168.0.1)
  • 8080是端口,用于指定服务器监听的特定端口号
  • /index.html是服务器上的资源路径
  • page=2和limit=10是查询参数,用?开始,多个用&分割,一般是get方法传值
  • section是锚点,直接定位到锚点位置(具体参见HTML)

HTTP请求

一个请求由请求状态行、请求头(消息报头)和请求正文组成。

请求状态行

请求状态行定义了本次请求的请求方式,请求地址和请求的HTTP协议版本,由Method、部分URL和HTTP Version组成,例如:

GET /example.html HTTP/1.1 (CRLF)

主要的请求方式有GET和POST

请求头

请求头(消息报头)允许客户端向服务器发送一些附加信息和自己的信息,由一系列键值对组成,如图

请求正文

get方法会把内容放在url中,就是上文中的查询参数。post方法内容会被隐藏起来,使得一般用户不可见,也就是说放在请求正文中。

HTTP响应

一个响应也由三部分组成,包括响应状态行、响应头(消息报头)和响应正文。

响应状态行

由HTTP协议版本、状态码,和状态码的文本表述。例如:

HTTP/1.1 200 OK (CRLF)

响应状态码由三位数字组成,第一位定义了响应类别,有五种取值

  • 1代表请求已经接受,继续处理
  • 2代表请求已经被成功接收并且响应
  • 3代表重定向
  • 4代表客户端错误,常见错误是语法问题
  • 5代表服务器端错误,服务器未能实现合法请求

上面这个200就代表请求成功接收并且被响应。

常见状态代码、状态描述、说明:

200OK - 客户端请求成功

400Bad Request - 客户端请求有语法错误,不能被服务器所理解

401Unauthorized - 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用

403Forbidden - 服务器收到请求,但是拒绝提供服务

404Not Found - 请求资源不存在,eg:输入了错误的URL

500Internal Server Error - 服务器发生不可预期的错误 *

503Server Unavailable - 服务器当前不能处理客户端的请求,一段时间后,可能恢复正常

响应头

响应头类似于上面的请求头内容

响应正文

就是服务器向我们传来的html网页


HTTP协议就是这样了,日后经验充足了可能会增加内容,明天开始看SQL。

posted @ 2023-08-17 17:42  yoo2i  阅读(57)  评论(0)    收藏  举报