javaweb(06) 初步了解HTTP协议

javaweb(06): 初步了解http协议

什么是http协议

官方解释

  • HTTP(hypertext transport protocol),即超文本传输协议。这个协议详细规定了浏览器和万维网服务器之间互相通信的规则。
  • 客户端与服务器通信时传输的内容我们称之为报文。
  • HTTP就是一个通信规则,这个规则规定了客户端发送给服务器的报文格式,也规定了服务器发送给客户端的报文格式。客户端发送给服务端的成为“请求报文”,服务端发生给客户端的称为“响应报文”

简单理解

就像写信一样,你的信封上的书写的地址收信人邮编寄信人等规则,相当于HTTP协议定义的规则,信的内容可以理解为报文。你的boss写信给你让你做事,信的内容理解为请求报文;你不敢不回,看到信后立马回信,信的内容是响应报文。

报文格式

image-20200809230453592

请求报文

get请求

get请求没有空行。

get请求会把数据以键值对方式追加到地址栏,适合传输少量数据。

1.请求行

(1) 请求的方式 GET

(2) 请求的资源路径[+?+请求参数]

(3) 请求的协议的版本号 HTTP/1.1

2.请求体(实际追加到)

key : value 组成 。不同的键值对,表示不同的含义。

image-20200809231436410

post请求

请求行

(1) 请求的方式 POST

(2) 请求的资源路径[+?+请求参数]

(3) 请求的协议的版本号 HTTP/1.1

请求头

  1. key : value 不同的请求头,有不同的含义

空行

请求体 ===>>> 就是发送给服务器的数据

image-20200809231738827

常用请求头的说明

Accept: 表示客户端可以接收的数据类型

Accpet-Languege: 表示客户端可以接收的语言类型

User-Agent: 表示客户端浏览器的信息

Host: 表示请求时的服务器 ip 和端口号

常见get,post请求

get

  1. form 标签 method=get

  2. a 标签

  3. link 标签引入 css

  4. Script 标签引入 js 文件

  5. img 标签引入图片

  6. iframe 引入 html 页面

  7. 在浏览器地址栏中输入地址后敲回车

post

form 标签 method=post

响应报文

响应的HTTP格式

响应行

(1) 响应的协议和版本号

(2) 响应状态码

(3) 响应状态描述符

响应头

(1) key : value 不同的响应头,有其不同含义

空行

响应体 ---->>> 就是回传给客户端的数据

image-20200809232814573

常用的响应码

  • 200 表示请求成功

  • 302 表示请求重定向(明天讲)

  • 404 表示请求服务器已经收到了,但是你要的数据不存在(请求地址错误)

  • 500 表示服务器已经收到请求,但是服务器内部错误(代码错误)

请求码有这四类:

  • 以2开始的响应码,都表示的是成功
  • 以3开始的响应码,都表示的是需要重新请求另外一个资源
  • 以4开始的响应码,都表示的是资源未找到
  • 以5开始的响应码,都表示的是服务器内部出错(代码错了)

MIME类型说明

**MIME 是 HTTP 协议中数据类型。 **

MIME 的英文全称是"Multipurpose Internet Mail Extensions" 多功能 Internet 邮件扩充服务。MIME 类型的格式是“大类型/小 类型”,并与某一种文件的扩展名相对应。

常见的MIME类型

文件 MIME类型
超文本标记语言 .html,.htm text/html
普通文本 .txt text/plain
RTF文本 .rtf application/rtf
GIF图形 .gif image/gif
JPEG图形 .jpeg .jpg image/jpeg
au声音文件 .au audio/basic
MIDI音乐文件 .mid,.midi audio/midi, audio/x-midi
RealAudio音乐文件 .ra,.ram audio/x-pn-realaudio
MPEG文件 .mpg, .mpeg video/mpeg
avi文件 .avi video/x-msvideo
GZIP文件 .gz application/x-gzip
TAR文件 .tar application/x-tar

猜你喜欢

转载自blog.csdn.net/weixin_45834777/article/details/107902692
今日推荐