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

什么是http协议

官方解释

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

简单理解

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

报文格式

请求报文

get请求

get请求没有空行。

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

1.请求行

(1) 请求的方式 GET

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

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

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

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

post请求

请求行

(1) 请求的方式 POST

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

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

请求头

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

空行

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

常用请求头的说明

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 不同的响应头,有其不同含义

空行

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

常用的响应码

  • 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

javaweb(06) 初步了解HTTP协议相关推荐

  1. javaweb学习总结(四)——Http协议

    javaweb学习总结(四)--Http协议 一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用 ...

  2. JavaWeb --第三章 HTTP协议详解

    JavaWeb --第三章 HTTP协议详解 Http 什么是HTTP HTTP: 超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常 ...

  3. JavaWeb、tomcat、HTTP协议

    一.JavaWeb 1.Web应用 使用浏览器进行访问的应用程序,我们可以称作Web应用.Web应用的特点是无需额外安装客户端,比如我们经常访问的淘宝,京东,网易这些都属于Web应用. 2.Web程序 ...

  4. 华为ar2200路由器 策略路由_路由交换篇 06 华为路由器RIP协议的配置

    任务2 RIP路由协议的配置 ■ 任务背景 某大型企业已有12台路由器,需要组建内部网络实现资源共享,考虑公司规模较大不适合采用静态路由组网,工程师对公司的实际情况进行了分析:1.路由跳数较多,不适合 ...

  5. 第一章 JavaWEB专题之Http基础协议解析

    1.CS架构&BS架构区别 (1)CS架构 客户机-服务器,即Client-Server(C/S)结构 范例:LOL下载,王者荣耀下载 (2)BS架构 浏览器-服务器,即Browser-Ser ...

  6. 【JavaWeb】本地文件传输协议(File://)

    一.什么是FIle协议 FIle协议也叫本地文件传输协议 ,主要用于访问本地计算机中的文件,就如同在Windows资源管理器中打开文件一样. 二.FIle协议基本格式 file:///文件路径 如: ...

  7. JavaWeb JDBC初步连接和JDBC连接规范化

    感谢传智播客提供的学习视频 ,希望传智播客越来越好 package cn.itcast.jdbc;import java.sql.Connection; import java.sql.DriverM ...

  8. USB UVC协议分析

    USB描述符分析软件 USB Device Viewer.USBlyzer.BusHound. #define USB_DT_DEVICE 0x01 #define USB_DT_CONFIG    ...

  9. html页面跳转_HTTP响应协议状态码以及跳转问题

    ### 最近在学习计算机网络以及JavaWeb,对Http响应协议和跳转的几种方式以及跳转的状态码有一些自己的总结认识: - 第一次访问一个地址并访问成功:200 - 不是第一次访问一个地址: - ...

最新文章

  1. VIL-100: 一个新的车道线检测数据集和基线模型(ICCV2021)
  2. OpenCV | OpenCV:sift,SURF 特征提取
  3. HDU 3046Pleasant sheep and big big wolf(切最小网络流)
  4. leetcode 1339. Maximum Product of Splitted Binary Tree | 1339. 分裂二叉树的最大乘积(树形dp)
  5. 方法 | 机器学习(深度学习)通用工作流程
  6. 自学考试c语言真题,自学考试《C语言程序设计》练习题及答案
  7. 将Teams app升级到net6
  8. 662. 二叉树最大宽度 golang
  9. 企业是否应该实现对客户需求的快速响应_为什么说数据中台是企业数字化转型的基石?...
  10. Java 面试之技术框架
  11. 远程桌面管理工具比较(转)
  12. Eclipse的tomcat出现:the server cannot started because one or more of the ports are invalid
  13. 帆软 填报上传和下载
  14. 张俊芳电机学17章计算题以及答案
  15. 6.通信原理 ——数字基带传输系统(第七版 樊昌信 曹丽娜编著)
  16. c++编游戏-扫雷-c++游戏将彩色化-windows7自带扫雷游戏休闲娱乐
  17. linux系统live管理界面,live-系统爱好者
  18. 360与腾讯之争——顾客有可能成为上帝
  19. htmlcss系列学习——(五)css选择器
  20. USB3.0接口防静电及lay out设计

热门文章

  1. MATLAB基本信号的产生
  2. python多人在线游戏_python实现人接球的小游戏
  3. python安装第三方库有哪些_python3.6安装库的方法有哪些
  4. mysql存储过程中in条件多个值,使用临时表解决
  5. SpringBoot中修改MySQL数据库建表方言
  6. 系统吞吐量、TPS(也叫QPS)、用户并发量、性能测试概念和公式
  7. Android开发笔记(一百五十六)通过渲染纹理展示地球仪
  8. 记录一次和朋友聊天遇到的面试题 ip地址字符串和long类型的相互转换 都是参考了别人的代码 加了一些个人理解的总结
  9. 如何改变Myeclipse编辑区背景色(转)
  10. linux简单命令3---帮助命令