HTTP协议

小贾学习录

风雨自有归期
山水自有相逢

今日鸡汤

HTTP协议

介绍

HTTP协议----超文本传输协议,是一种用于客户端与服务器之间传输数据的协议。

通常,由HTTP客户端发起一个请求,创建一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端的请求。一旦收到请求,服务器会向客户端返回一个状态,比如"HTTP/1.1 200 0K”,以及返回的内容,如请求的文件、错误消息、或者其它信息。

特点

HTTP协议是基于TCP/IP协议之上的应用层协议

1.简单性:HTTP协议使用简单

2.无连接性:每个http请求和响应都是相互独立的,服务器不会保留和客户端的连接状态,每个请求都需要、处理和断开。

3.无状态性:HTTP是无状态的,服务器不会保留先前请求的信息。

基本工作流程

1.客户端连接到Web服务器

一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。

2.客户端发送HTTP请求到服务器,包括请求方法(GET、POST等)、请求资源的URL、请求头字段等

一个请求报文由 请求行,请求头,空行,请求数据4部分组成。

3.服务器接收并解析请求,执行相应的操作,然后生成HTTP响应。

一个响应由  状态行,响应头,空行,响应数据4部分组成

4.服务器将HTTP响应发送回客户端,包括响应状态码、响应头字段、响应体等。

5.客户端接收并解析响应,根据响应进行相应的处理,如渲染页面、处理数据等。

HTTP请求与响应

HTTP遵循请求(request)响应(Response)模型

HTTP请求

GET /example HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36
Accept-Language: en-US,en;q=0.9
refer: 来源

一个http请求包括四部分

1.请求行 :包括请求方法,http协议版本信息

2.请求头 :HOST,User-agent 等,以键值对的形式存在

3.空行 :用于分割请求头和请求体

4.请求体 : 包含了需要通过POST或PUT方法发送给服务器的数据。

HTTP响应

一个http响应包括四部分

1.响应行(Status Line):包含了HTTP协议版本、状态码和状态描述信息

2.响应头(Response Headers):包含了关于响应的各种元数据信息,以键值对的形式存在

Content-Type: text/html; charset=UTF-8
Content-Length: 1234
Cache-Control: no-cache
Serever:服务器名字

3.空行(Blank Line):用于分隔响应头和响应体。

4.响应体(Response Body):包含了服务器返回给客户端的数据,如HTML页面、JSON数据、图片等。

常见状态码

1.200 OK:请求成功。服务器成功处理了请求,并返回了相应的内容。

2.301 Moved Permanently:永久重定向。请求的资源已经被永久移动到新的URL,客户端应该使用新的URL重新发起请求。

3.302 Found:临时重定向。请求的资源暂时被移动到了新的URL,客户端应该使用新的URL重新发起请求。

4.401 Unauthorized:未授权。表示客户端需要进行身份验证才能访问请求的资源。
5.403 Forbidden:禁止访问。表示客户端没有权限访问请求的资源。
6.404 Not Found:资源不存在。表示请求的资源在服务器上未找到。

7.500 :服务器内部错误

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值