Java培优班 - 第二十八天 - Part2:HTTP协议概述
1、请求行 -
问题1:请求方式什么时候是
问题2:
发布日期:2021-06-30 16:59:31
浏览次数:2
分类:技术文章
本文共 2089 字,大约阅读时间需要 6 分钟。
文章目录
6.7 HTTP协议概述
6.7.1 什么是HTTP协议?
HTTP是用于规定浏览器和服务器通信的方式。
规定两方面内容:
- 浏览器向服务器发送的请求信息的格式,
- 服务器向浏览器做出的响应信息的格式。
HTTP工作时遵循的基本原则:
- 一次请求对应一次响应
- 请求只能由浏览器发起,服务器只能被动的等待请求,根据请求作出回应
文章目录
6.8 HTTP协议详解
6.8.1 HTTP - 请求
1、请求行 - GET .... HTTP/1.1
GET /news/hello.html HTTP/1.1
-
提交方式,在HTTP协议中一共规定了7种提交方式,其中5种都不常用,只用GET和POST。GET
: -
请求的资源路径,用于通知服务器浏览器访问的是服务器中哪个Web应用以及应用下的哪一个资源文件。/news/hello.html
: -
请求所遵循的协议和版本HTTP/1.1
:
2、若干请求头/若干请求报头
请求头 - 浏览器发送给服务器,为了让服务器更好解析请求,比处理请求。
请求头都是Key-Value结构,
例如:
Host
: localhost – 表示浏览器请求的是服务器中的哪一台虚拟主机。Cookie
: xxx=xxx; ( 重 点 \color{#f01}{重点} 重点) – cookie技术中的一个头(后面讲)- xxx : xxx
- …
3、请求实体内容
- 如果请求方式是
GET
提交,请求实体不会有内容。 - 如果请求方式是
POST
提交,并且请求中携带了数据,请求实体才会有内容
6.8.2 HTTP - 响应
1、状态行
HTTP/1.1 200 OK
HTTP/1.1
:表示响应信息所遵循的协议和版本200
:是一个三位是数字,叫做状态码,表示请求处理的结果。
常见的状态码有:
- 200:表示服务器处理请求的结果是成功的!
- 304/307:表示服务器通知浏览器使用缓存
- 400:表示请求参数类型不匹配
- 404:表示客户端请求的资源不存在
- 500:表示服务器端在处理请求的过程中出现了错误或异常
OK
:描述短语,也表示请求处理的结果
常见描述语:
- 200 OK
- 404 NOT FOUND
- 500 Internal Server Error
2、若干响应头
响应头的格式也是Key-Value结构:
Content-Type: text/html
– 通知浏览器,服务器响应的数据类型是什么
text/html
– 表示服务器响应是一个html格式的网页,如果响应是一个网页,还可以在值的后面加上一个编码,例如: text/html;charset=utf-8text/css
– 表示服务器响应是一个css文件image/gif
– 表示服务器响应的是一个gif格式的图片...
Content-Length
: 服务器响应的数据长度,单位是字节Set-Cookie
: Cookie技术中的一个头(后面讲解)Refuresh: 5 ; url=http://www.baidu.com/index.html
: 自动转跳…(如:下载时)...
3、响应实体内容
如果浏览器向服务器请求的是一个文件,服务器会将这个文件的内容作为响应实体发送给浏览器。
比如:
浏览器请求是 hello.html文件, 服务器就会将hello.html文件的内容作为响应实体发送给浏览器 localhost/news/hello.html,
HTTP总结:
- HTTP: 用于规定浏览器和服务器之间通信的方式
- 请求信息中包含哪几部分内容:
- 请求行、
- 请求报头、
- 请求实体
- 响应信息中包含哪几部分内容:
- 状态行、
- 响应报头、
- 响应实体
- 请求行中包含什么内容:
- 请求方式、
- 请求资源路径、
- 协议和版本
- 状态行中包含什么内容:
- 协议和版本、
- 状态码、
- 描述短语
6.8.3 内容补充
问题1:请求方式什么时候是GET
提交?什么时候是POST
提交?
只有使用表单(
其他方式都是<form>
),并且再表单上明确的通过method
指定提交方式为POST
时,才是POST
提交。GET
提交(AJAX
除外)
例子:
判断以下请求方式是GET还是POST?(1)-- GET提交(2) -- GET提交(3) -- POST提交(4)点击超链接访问服务器,例如: -- GET提交百度一下(5)直接在浏览器的地址栏中书写URL地址访问服务器 -- GET提交
问题2:GET
提交和POST
提交有什么区别?
GET
提交:
- 会将请求参数拼接在URL地址的后面,显示在地址栏中,相对不安全
- 将参数显示在地址栏中,数据量不能太大,不能超过1K或者是4K
POST
提交:
- 不会将参数拼接在地址栏后面, 而是通过请求实体将参数发送给服务器, 相对来说更加安全!
- 通过请求实体传数据给服务器, 数据量理论上没有限制!
当向服务器传输大量的数据或者传输的数据较为隐私,才会使用
更多情况下,还是使用POST
提交。GET
提交!!
转载地址:https://lawsssscat.blog.csdn.net/article/details/103494277 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月23日 22时54分09秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
图像去噪(包含修正的阿尔法均值滤波及通用滤波方法代码)
2019-04-30
SVM进行人脸检测
2019-04-30
C++学习笔记
2019-04-30
图像处理学习笔记
2019-04-30
Machine Learning Onramp on MATLAB 学习笔记
2019-04-30
Machine Learning with MATLAB 1.1 to 2.2
2019-04-30
Learning DSP with MATLAB
2019-04-30
用MATLAB实现m序列的生成(MATLAB 2021a适用)
2019-04-30
MATLAB函数备忘(定期更新)
2019-04-30
13行MATLAB代码实现网络爬虫 爬取NASA画廊星图
2019-04-30
MATLAB指定路径保存图片方法
2019-04-30
Python一键获取微信推送封面图
2019-04-30
油猴脚本:微信推送浏览功能拓展
2019-04-30
JavaScript DOM对象操作详解
2019-04-30
JavaScript 表单操作与MD5加密
2019-04-30
JAVA学习笔记4 - 循环与分支结构
2019-04-30
JAVA学习笔记6 - 数组
2019-04-30
JAVA学习笔记8 - Stream 和 File I/O
2019-04-30
JAVA学习笔记9 - 异常
2019-04-30