HTTP协议与HTTPS

本文详细介绍了HTTP协议,包括报文格式、URL解析、HTTP请求方法(GET和POST)及请求报头。同时,深入探讨了HTTPS的引入原因、工作流程和安全性,强调了GET与POST的区别。通过实例解析,帮助读者全面理解HTTP与HTTPS的本质和应用场景。
摘要由CSDN通过智能技术生成

目录

1.了解HTTP协议

2.HTTP协议的报文格式

1)请求报文格式

2)响应报文格式

3)报文格式的注意事项

3.认识URL

        1)分析一个具体的URL

        2)URL中可省略的部分

        3)关于URL encode和URL  decode

4.HTTP请求(Request)

        1)GET方法

        2)POST方法

        3)其他相关方法

5.认识请求报头(header)

6.HTTP响应(Response)

        1)认识状态码(status  code)

        2)认识响应正文(body)

7.构造HTTP请求

1)通过form表单构造HTTP请求

2)通过ajax构造HTTP请求

8.HTTPS

1)什么是HTTPS

2)为什么引入HTTPS

3)HTTPS的工作流程

4)HTTPS传输过程

 谈谈 GET 和 POST 的区别


1.了解HTTP协议

HTTP (HyperText Transfer Protocol, 超文本传输协议) 是一种应用非常广泛的 应用层协议.

所谓“超文本”的含义,就是传输的内容不仅仅是文本(比如html,css这个就是文本),还可以是一些其他资源,比如图片,视频,音频等二进制  的数据

2.HTTP协议的报文格式

1)请求报文格式

首行:【方法】【URL】【版本】

空行

Body:空行后面的内容为Body

2)响应报文格式

首行:【版本号】【状态码】【状态码的解释】

Header:请求的属性

空行

Body:空行后面的内容Body

3)报文格式的注意事项

1.首行的内容之间有一个空格

2.请求的属性是使用冒号分割是键值对

每组属性之间使用\n分割

遇到空行表示Header部分结束

3.Body允许为空

如果Body存在,Header中会有一个Content-Length属性来标识Body的长度

4.协议格式总结

3.认识URL

        1)分析一个具体的URL

https://dict.youdao.com/result?word=1&lang=en

https:协议方案名

user:pass:登录信息,目前一般会省略

dict.youdao.com:服务器地址,此处是一个“域名”,域名会通过DNS系统解析成一个具体的IP地址 

端口号:目前一般会省略,http协议默认使用80端口,https协议默认使用443端口

/result:带层次的文件路径

Word=1&lang=en:查询字符串(query  string),本质是一个键值对结构,键值对之间使用&分割,键和值之间使用=分割

片段标识:此URL中省略了片段标识,片段标识主要用于页面跳转

        2)URL中可省略的部分

协议名:可以省略,省略后默认为http://

ip地址/域名:在HTML中可以省略,省略后表示服务器的ip/域名与当前的HTML所属的ip/域名一致

端口号:可以省略,省略后如果是http协议,端口号自动设为80;如果是https协议,端口号自动设为443

带层次的文件路径:可以省略,省略后相当于/,有些服务器会在发现/路径的时候自动问/index。html

查询字符串:可以省略

片段标识:可以省略

        3)关于URL encode和URL  decode

像“/  ?  :  =  &”等这样的字符,已经被URL当做特殊意义理解了,因此这些字符不能随意出现

把特殊字符,转换成转义字符  => URL  encode

把转义字符,还原成原来的字符  =>  URL  decode

4.HTTP请求(Request)

        1)GET方法

 构造HTTP  GET请求的情况

1.直接在浏览器中输入URL

2.HTML中的link,img,a,script标签等

3.from表单

4.ajax

5.使用Java代码/其他的库

6.通过Linux下的wegt/curl

7.通过第三方工具,postman这类工具

GET请求的特点

1.首行的第一部分为GET

2.URL的query  string 可以为空,也可以不为空

3.header部分有若干个键值对结构

body部分为空(也可以不为空)

        2)POST方法

构造HTTP  POST请求的情况

1.form表单

2.ajxa

3.第三方工具

POST请求的特点

1.首行的第一部分为POST

2.URL的query  string 一般为空(也可以不为空)

3.header部分有 若干个键值对结构

4.body部分一般不为空,body内的数据格式通过header中Content-Type指定body的长度由header中的Content-Length指定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值