ps:url就是网址哦
https相比于http明文传输采用了加密传输
http和https的区别:
https网站访问速度会比http网站访问速度慢一些
-
HTTPS协议需要到CA申请证书,一般免费证书很少,需要交费。
-
HTTP协议运行在TCP之上,所有传输的内容都是明文,HTTPS运行在SSL/TLS之上,SSL/TLS运行在TCP之上,所有传输的内容都经过加密的。
-
HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
-
HTTPS可以有效的防止运营商劫持,解决了防劫持的一个大问题。
关于数据包:
有request和response两种
浏览器里找‘开发人员选项’或‘开发人员工具’(或者F12、Ctrl+hift+I)可以打开网页自带的控制台,控制台的工具栏里选择网络项(英文是Network),这里可以自动抓到目前网页的数据(刷新页面),抓包可以得到数据包,从而得到request数据包头部格式。
一个简单的request请求数据包格式:
请求行
-
请求行由三个标记组成:请求方法、请求 URL 和 HTTP 版本,它们用空格分享。
-
例如:GET /index.html HTTP/1.1
HTTP 规划定义了 8 种可能的请求方法:
GET:检索 URL 中标识资源的一个简单请求
HEAD:与 GET 方法相同,服务器只返回状态行和头标,并不返回请求文档
POST:服务器接受被写入客户端输出流中的数据的请求
PUT:服务器保存请求数据作为指定 URL 新内容的请求
DELETE:服务器删除 URL 中命令的资源的请求
OPTIONS:关于服务器支持的请求方法信息的请求
TRACE:web 服务器反馈 Http 请求和其头标的请求
CONNECT :已文档化,但当前未实现的一个方法,预留做隧道处理
最常用的四种请求方法为:get post put delete
1、get请求:
get:可以理解 为 取 的意思,对应select操作
用来获取数据的,只是用来查询数据,不对服务器的数据做任何的修改,新增,删除等操作。
说明:
get请求会把请求的参数附加在URL后面,这样是不安全的,在处理敏感数据时不用,或者参数做加密处理。
get请求其实本身HTTP协议并没有限制它的URL大小,但是不同的浏览器对其有不同的大小长度限制
举例:
https://www.tapd.cn/company/my_take_part_in_projects_list?project_id=20085821&t=1655176334048&from=left_tree
2、post请求:
post 可以理解 为 贴 的意思
数据发送到服务器以创建或更新资源,侧重于更新数据,对应update操作
说明:
post请求的请求参数都是请求body中(相较于get更安全)
举例:
https://www.tapd.cn/20085821/bugtrace/buglists/query/1/created/desc?query_token=%……&&**
3、put请求:
put:可以理解为 放 的意思
数据发送到服务器以创建或更新资源,侧重于创建数据,对应insert操作
4、delete请求:
delete:字面意思删除,即删除数据,对应delete操作
用来删除指定的资源,它会删除URI给出的目标资源的所有当前内容
1、get 取,是查询数据,对应select操作
2、post 贴,常用于修改数据,对应update操作
3、put 放,常用于新增数据,对应insert操作
4、delete 删,是删除数据,对应delete操作
————————————————
版权声明:此处为优快云博主「三也_小也」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/weixin_48520816/article/details/125274160
这八种请求方法各有区别,之后深入再做具体了解。
请求头
由关键字/值对组成,每行一对,关键字和值用冒号分享。请求头标通知服务器腾于客户端的功能和标识。
HOST: 主机或域名地址
Accept:指浏览器或其他客户可以接爱的 MIME 文件格式。Servlet 可以根据它判断并返回适当的文件格
式。
User-Agent:是客户浏览器名称
Host:对应网址 URL 中的 Web 名称和端口号。
Accept-Langeuage:指出浏览器可以接受的语言种类,如 en 或 en-us,指英语。
connection:用来告诉服务器是否可以维持固定的 HTTP 连接。http 是无连接的,HTTP/1.1 使用 Keep-Alive
为默认值,这样,当浏览器需要多个文件时(比如一个 HTML 文件和相关的图形文件),不需要每次都建立
连接
Cookie:浏览器用这个属性向服务器发送 Cookie。Cookie 是在浏览器中寄存的小型数据体,它可以记载
和服务器相关的用户信息,也可以用来实现会话功能。
Referer : 表 明 产 生 请 求 的 网 页 URL 。 如 比 从 网 页 /icconcept/index.jsp 中 点 击 一 个 链 接 到 网 页
/icwork/search , 在 向 服 务 器 发 送 的 GET/icwork/search 中 的 请 求 中 , Referer 是
http://hostname:8080/icconcept/index.jsp。这个属性可以用来跟踪 Web 请求是从什么网站来的。
Content-Type:用来表名 request 的内容类型。可以用 HttpServletRequest 的 getContentType()方法取得。
Accept-Charset:指出浏览器可以接受的字符编码。英文浏览器的默认值是 ISO-8859-1.
Accept-Encoding:指出浏览器可以接受的编码方式。编码方式不同于文件格式,它是为了压缩文件并加
速文件传递速度。浏览器在接收到 Web 响应之后先解码,然后再检查文件格式。
Mozilla其实是火狐浏览器背后的一个开源组织
下面是一个实际的请求报文:
①是请求方法,HTTP/1.1 定义的请求方法有8种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE,最常的两种GET和POST,如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT。
②为请求对应的URL地址,它和报文头的Host属性组成完整的请求URL
③是协议名称及版本号。
④是HTTP的报文头,报文头包含若干个属性,格式为“属性名:属性值”,服务端据此获取客户端的信息。
⑤是报文体,它将一个页面表单中的组件值通过param1=value1¶m2=value2的键值对形式编码成一个格式化串,它承载多个请求参数的数据。不但报文体可以传递请求参数,请求URL也可以通过类似于“/chapter15/user.html? param1=value1¶m2=value2”的方式传递请求参数。
————————————————
此处对http请求报文的分析来自他处,详细见原文
原文链接:https://blog.youkuaiyun.com/gy0124/article/details/102518601
Response 返回数据包数据格式
一个响应由四个部分组成;状态行、响应头标、空行、响应数据。
1.状态行:协议版本、数字形式的状态代码和状态描述,个元素之间以空格分隔
2.响应头标:包含服务器类型、日期、长度、内容类型等
3.空行:响应头与响应体之间用空行隔开
4.响应数据:浏览器会将实体内容中的数据取出来,生成相应的页面
HTTP 响应码:
1xx:信息,请求收到,继续处理
2xx:成功,行为被成功地接受、理解和采纳
3xx:重定向,为了完成请求,必须进一步执行的动作
4xx:客户端错误
5xx:服务器错