在大二下半学期里,我的JavaWeb老师在前面几节课里为我们讲解了一下http协议概念,并且叫我们回去按自己的理解自行领悟它,以下就是我所学的内容了
HTTP/HTTPS 简介
HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网( WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
HTTP 是一个基于 TCP/IP 通信协议来传递数据(HTML 文件、图片文件、查询结果等)。
HTTPS 协议是 HyperText Transfer Protocol Secure(超文本传输安全协议)的缩写,是一种通过计算机网络进行安全通信的传输协议。
HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包,HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换资料的隐私与完整性。
HTTP请求:(如图)
HTTP 请求方法
根据 HTTP 标准,HTTP 请求可以使用多种请求方法。
HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。
HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
1 | GET | 请求指定的页面信息,并返回实体主体。 |
2 | HEAD | 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头 |
3 | POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。 |
4 | PUT | 从客户端向服务器传送的数据取代指定的文档的内容。 |
5 | DELETE | 请求服务器删除指定的页面。 |
6 | CONNECT | HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。 |
7 | OPTIONS | 允许客户端查看服务器的性能。 |
8 | TRACE | 回显服务器收到的请求,主要用于测试或诊断。 |
9 | PATCH | 是对 PUT 方法的补充,用来对已知资源进行局部更新 。 |
常用的请求报头:
Accept:用于指定客户端接受哪些类型的信息。
Accept-Charset:用于指定客户端接受的字符集。
Accept-Encoding:类似于Accept,但是它是用于指定可接受的内容编码。
Accept-Language:类似于Accept,但是它是用于指定一种自然语言。
Authorization:主要用于证明客户端有权查看某个资源。
Host:主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的。(发送请求时,该报头域是必需的)。
User-Agent:允许客户端将它的操作系统、浏览器和其它属性告诉服务器。
常见的状态代码及状态描述:
200 成功 //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常。
“当然这些状态代码中我们最希望见到的还是200 直接进行网页跳转吧”
常用的响应报头
Location:用于重定向接受者到一个新的位置。
Server:其包含了服务器用来处理请求的软件信息。与User-Agent请求报头域是相对应的。
WWW-Authenticate:其必须被包含在401(未授权的)响应消息中,客户端收到401响应消息时候,并发送Authorization报头域请求服务器对其进行验证时,服务端响应报头就包含该报头域。
以上就是我学习所能够理解的了
参考(菜鸟教程)(https://blog.csdn.net/weixin_30791095/article/details/98129631?)
标签:HTTP,请求,Accept,报头,服务器,Http,心得,客户端 From: https://www.cnblogs.com/Xiaochen1107/p/17195562.html