HTTP协议讲解

HTTP和HTTPS

    HTTP协议:是一种发布和接收HTML页面的方法。

    HTTPS协议:简单讲是HTTP的安全版,在HTTP加入SSL层。

    SSL(安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全。

   HTTP的端口号为80

   HTTPS端口号为443

HTTP的请求与响应

HTTP通信由两部分组成:客户端请求消息与服务器响应消息


浏览器发送HTTP请求的过程:

1,当用户在浏览器的地址中输入一个URL并按回车键之后,浏览器会向HTTP服务器发送HTTP请求。HTTP请求主要分为“Get”和“Post”两种方法。

2,当我们在浏览器输入URLhttp://www.baidu.com的时候,浏览器发送一个Request请求去获取http://www.baidu.com的html文件,服务器把Response文件对象发送回给浏览器。

3, 浏览器分析Response中的HTML,发现其中引用了很多其他文件,比如Images文件,CSS文件,JS文件,浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件。

4,当所有的文件都下载成功之后,网页会根据HTML语法结构,完整的显示出来了。

URL的含义:统一资源定位符,是用于完整的描述Internet上网页和其他资源地址的一种标识方法。

基本格式:scheme://host[:port#]/path/…/[?query-string][#anchor]

                  scheme:协议名称(例如:http,https,ftp)

                  host:        服务器的IP地址或者域名

                  port#        服务器的端口,默认端口是80

                  path:         访问资源的路径

                  query-string:参数,发送给http服务器的数据

                   anchor:        锚(跳转到网页的指定锚点位置)


    客户端HTTP请求:

        URL只是标识资源的位置,而HTTP用来提交和获取资源,客户端发送一个HTTP请求到服务器的请求消息,包括以下格式:

        

    一个完整的HTTP请求示例:

GET https://www.baidu.com/ HTTP/1.1
Host: www.baidu.com
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Referer: http://www.baidu.com/
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
Cookie: BAIDUID=04E4001F34EA74AD4601512DD3C41A7B:FG=1; BIDUPSID=04E4001F34EA74AD4601512DD3C41A7B; PSTM=1470329258; MCITY=-343%3A340%3A; BDUSS=nF0MVFiMTVLcUh-Q2MxQ0M3STZGQUZ4N2hBa1FFRkIzUDI3QlBCZjg5cFdOd1pZQVFBQUFBJCQAAAAAAAAAAAEAAADpLvgG0KGyvLrcyfrG-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFaq3ldWqt5XN; H_PS_PSSID=1447_18240_21105_21386_21454_21409_21554; BD_UPN=12314753; sug=3; sugstore=0; ORIGIN=0; bdime=0; H_PS_645EC=7e2ad3QHl181NSPbFbd7PRUCE1LlufzxrcFmwYin0E6b%2BW8bbTMKHZbDP0g; BDSVRTM=0
GET https://www.baidu.com/ HTTP/1.1

根据HTTP标准,HTTP请求可以使用多种请求方法。

HTTP 0.9:只有基本的文本GET功能。

HTTP 1.0:完善的请求/响应模型,并将协议补充完整,定义了三种请求方法:GET,POST和HEAD方法。

HTTP 1.1:在1.0基础上进行更新,新增了五种请求方法:OPTIONS,PUT,DELETE,TRACE和CONNECT方法。

GET是从服务器上获取数据,POST是向服务器传送数据

GET请求参数显示,都显示在浏览器的网址上,GET请求的参数是URL的一部分

POST请求参数在请求体当中,消息长度没有限制而且以隐式的方式进行发送,请求的参数包含在“Content-Type”消息头里,指明该消息的媒体类型和编码。








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值