javaee-HTTP协议

HTTP协议:应用层协议,是一个文本格式的协议

HTTP的请求方法):

首行:方法+url+HTTP的版本号

Header:请求的属性,冒号分割的键值对,每个属性之间使用\n分隔,遇到空行表示Header部分结束(注意:这个Accept-Language:本质上是一行,只是这个文本自动进行换行了)

空行:空的一行,报头header的结束标志

body正文:此处的请求方法是get,一般没有正文

HTTP的请求(POST方法):

在POST方法中一般都有正文

POST方法和GET方法的区别:

在本质上没有区别。

①GET是从服务器中获取某个数据。POST是往服务器中提交某个数据

②GET的body里面一般没有内容,POST的body里面一般都有内容

③GET方法一般是幂等的,POST方法一般不是幂等的

(幂等:如果多次请求的结果都是一样的,则称为幂等的)

④GET可以被缓存,POST不能被缓存

URL的格式:

例子:

https://mp.youkuaiyun.com/mp_blog/creation/editor?spm=1001.2014.3001.4503

https:协议方案名

登录信息:此处省略的登录信息

mp.youkuaiyun.com:服务器的地址,此处是一个域名。

端口号:此处省略了端口号,浏览器根据协议类型自动选择使用哪个端口

mp_blog/creation/editor:在层次的文件路径

spm=1001.2014.3001.4503:查询字符串(query string),本质上是一个键值对之间使用&分隔,键和值之间用=分隔。

片段标识符:此处省略了,主要用于页面内跳转

Header:报头。键值对结构

Host:表示服务器主机的地址和端口号,描述了访问目标

Content-Length:表示body中的数据长度

Content-Type:表示body中的数据格式

(在没有body的GET方法中,没有Content-Length和Content-Type属性)

User-Agent(UA):表示浏览器和操作系统的属性

Referer:表示当前这个页面从哪个页面跳转过来的

如果是直接在地址栏输入则没有这个属性

Cookie:是浏览器在本地存储用户自定义数据的一种关键机制

 HTTP响应:

首行:HTTP协议的版本号+状体码+状态码解释

Header:请求的属性,冒号分割的键值对,每个属性之间使用\n分隔,遇到空行表示Header部分结束

空行:空的一行,报头header的结束标志

body:此时为服务器返回了一个html页面,则html页面里的内容就是body中的内容

状态码:表示访问一个页面的结果

常见的状态码:

①200 OK 表示访问成功

②404 Not Found 表示没有找到资源

③403 Forbidden 表示没有访问权限

④405 Method Not Allowed 表示客户端请求中的方法被禁止

⑤ 500 Internal Server Error 表示服务器内部出现问题

⑥504 Gateway Timeout 表示请求超时

⑦302 Move temporarily 表示临时重定向

⑧301 Moved Permanently 表示永久重定向

重定向:访问旧的地址被引导到新的地址

状态码总结:

类型解释
1××Informational(信息状态码)接收的请求正在被处理
2××Success(成功状态码)请求正常处理完毕
3××Redirection(重定向状态码)需要进行附加操作以完成请求
4××Client Error(客户端错误状态码)服务器无法完成请求
5××Server Error(服务器错误状态码)服务器无法完成请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值