http状态 500 - 内部服务器错误_HTTP的重点问题

传输协议是后台开发的重点,也是IT面试的重点考察,这次就好好整理一下,温故知新。

一、HTTP简介

HTTP协议是超文本传输协议Hyper Text Transfer Protocol的缩写,用于从万维网服务器传输超文本到本地浏览器的传送协议。。

HTTP基于TCP/IP通信协议来传递数据,所以说,HTTP是TCP/IP的子集。

二、HTTP 工作原理

HTTP建立于客户端-服务端之间,浏览器作为HTTP客户端通过URL向HTTP的WEB服务器发送请求,之后Web服务器接收到请求后,向客户端返回响应信息,是一个无状态的请求响应协议。

HTTP默认端口号为80,HTTPS默认端口号为443。

注意:

  • 持久连接:HTTP1.0初始版本中,每进行一次HTTP通信就要断开一个TCP连接。这种非持久连接的缺点在于每次请求都会造成TCP连接建立和断开,增加TCP协议本身的开销。为解决不断建立和断开TCP连接的问题,HTTP1.1实现了持久连接,即在请求头和响应头都有相应的Connection: Keep-Alive字段。持久连接的特点是,只要任意一端没有明确提出断开TCP连接,则一直保持TCP连接状态。
  • 管线化技术:以前发送请求后需要收到响应,才能发送下一个请求。持久连接意味着可以在一次TCP连接之后发送多个请求,而管线化技术的出现使得每个请求可以异步发送,而不用等待响应了。也就是说,管线化能够做到同时并行发送多个请求,而不需要一个接一个的等待响应了。
  • HTTP是无状态:无状态是指协议对于事务处理没有记忆能力,如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答速度也会加快。
  • 浏览器显示的内容有 HTML、XML、GIF、Flash 等,浏览器是通过 MIME Type 区分并决定什么内容以什么形式来显示。

801001f09ef9b66865180afa861ec708.png
HTTP通信流程

三、HTTP消息结构

一个HTTP"客户端"是一个应用程序,通过连接到服务器实现向服务器发送多个HTTP请求的目的。

一个HTTP"服务器"也是一个应用程序,通过接收客户端的请求并向客户端返回HTTP响应数据。

HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。

用户HTTP交互的信息被称为HTTP报文,HTTP报文分为客户端请求报文+服务器响应报文

客户端请求报文

a53095273bc1fdc56b49e8ff07899847.png
客户端请求报文整体结构

535c3ac94bad3fda8314925f4a982ae5.png

作用:HTTP来传输交互信息

包括:请求行、请求头部、空行、请求数据

服务器响应报文

92d10fa719ac363a32efc0f8c7f26406.png
服务器响应报文整体结构

b974112c0d4b5684ab9d8b7052840771.png

包括:状态行、响应头部、空行、响应正文数据。

四、状态码

状态码作用:当访问一个网页时,浏览器会向网页所在服务器发出请求,随后,服务器会响应一个包含HTTP状态码的信息头(server header),浏览器才能访问页面。

状态码分类描述

1**信息,服务器收到请求,需要请求者继续执行操作

2**成功,操作被成功接收并处理

3**重定向,需要进一步的操作以完成请求

4**客户端错误,请求包含语法错误或无法完成请求

5**服务器错误,服务器在处理请求的过程中发生了错误

常见状态码

  • 200 - 请求成功
  • 301 - 资源(网页等)被永久转移到其它URL
  • 404 - 请求的资源(网页等)不存在
  • 500 - 内部服务器错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值