linux网络编程:HTTP协议

HTTP协议基本概念

  1. 超文本传输协议
  2. HTTP是基于TCP/IP通信协议来传递数据的应用层的协议
  3. HTTP的服务器和客户端都相当于一个应用程序:客户端通过连接到服务器达到向服务器发送一个或多个HTTP的请求的目的;服务器通过接受客户端的请求并向客户端发送HTTP响应数据。
  4. HTTP使用同一资源标识符(Uniform Resource Identifiers,URI)来传输数据和建立连接.
  5. HTTP是无状态协议。无状态是指HTTP协议对于事物处理没有记忆能力。那么如果后续的操作需要前面的信息的话,就需要重传,这样就会导致每次连接传送的数据量增大。令另一方面,如果服务器不惜要先前的信息,那么它的应答就会变快。
    HTTP报文
  6. HTTP请求报文:从客户端向服务器端发送请求报文
  7. HTTP应答报文:从服务器向客户端发送应答报文
    在这里插入图片描述

1.因为HTTP协议是面向文本的,因此在报文中的每个字段都是一些ASCll码串,因而各个字段的长度都是不确定的。
2.我们看到,请求报文和应答报文欧式由三部分组成的。而我们可以看出,请求报文和响应报文的区别就是开始行不同。
开始行:用于区别是请求报文还是响应报文:请求报文的开始行叫请求行;而响应报文的开始行叫状态行。开始行的三个字段之间通过空格隔开,“CR”和“LF”分别表示回车和换行。(我们编程时使用/r 和 /n)
首部行:用来说明浏览器、服务器或报文主题的一些信息。首部可以有多行,但也可以不使用。在每一行结束时都会有回车和换行。整个首部结束时还会有回车和换行与后面的数据分开。
在这里插入图片描述
请求报文中的常用方法
根据HTTP标准,HTTP请求可以使用多种请求方法。
HTTP1.0定义了三种请求方法:GET、POST和HEAD方法。
HTTP1.1新增了五种请求方法:OPTIONS、PUT、DELETE、TRACE、CONNECT方法
在这里插入图片描述
GET和POST方法的区别
GET重点在从服务器上获取资源,POST 重点在向服务器发送数据。

GET传输量小,并且URL是可见的,会泄露信息,是不安全的。
POST传输量大,并且安全性较高。

GET方式只支持ASCll字符,向服务器传的中文字符会乱码
POST支持标准字符集,可以传递中文字符。

GET传输数据是通过URL请求,以filed(字段)=value的形式,置于URL后,并用“?”连接,多个请求数据间用&连接,这个过程用户时可见的。
POST传输数据是将字段与对应值封存在请求实体中发送给服务器,这个过程对用户时不可见的。

HTTP响应报文
当浏览器(客户端)访问一个网页时,就是向网页所在的服务器发送请求,服务器收到请求,会返回一个包含HTTP状态码的信息头(serve header)用以相应客户端的请求,而当服务器发送应答报文时,浏览器(即客户端)就能显示网页了。
实例:
在这里插入图片描述
HTTP状态码的英文为HTTP Status Code
常见的状态码:
200–请求成功
301–资源(网页等)被永久转移到其他URL
404:请求的资源不存在(即客户端出错)
500:服务器出错
在这里插入图片描述
1.信息,服务器收到请求,需要请求者继续执行操作
2.成功,操作被成功接受并处理
3.重定向,需要进一步操作以完成请求
4.客户端错误,请求包含语法错误或无法完成请求
5.服务器错误,服务器在处理请求的过程中发生了错误。

  • 什么是HTTP协议

  • 什么是HTTP协议无状态协议?怎么解决HTTP协议无状态协议?
    无状态协议对于事物没有处理能力,而如果后面需要前面的信息,就需要重传。

  • 讲一下HTTP
    HTTP协议中,返回的状态码302表示临时重定向。这种情况下,服务器返回的头部信息中会包含一个location字段.302表示就地址的资源还在(仍可以访问),这个重定向只是从就地址跳到新地址,搜索引擎会抓取新的内容而保存旧的网址。

  • HTTP协议的组成

  • HTTP协议有哪些请求方式?

  • HTTP协议中的HTTP1.0和1.1的区别
    1.在1.0中,短链接:客户端发送一个请求,服务器返回一个信息后就关闭连接,当浏览器下次请求的时候得重新连接,就会造成一些其他的问题。
    2.在1.1中,长连接:引入了持续连接的概念,客户端建立一个连接后,发送请求并得到返回信息,然后继续发送请求再次的轨道返回信息。即客户端可以连续发送多个请求,而不用等待每一个响应的到来。

  • GET和POST的区别

  • HTTP与HTTPS优缺点:
    1 通信使用明文不加密,内容可能被窃听,也就是被抓包分析。
    2 不验证通信身份,可能遭到伪装。
    3 无法验证报文完整性,可能被篡改
    4 HTTPS就是HTTP加上加密处理(一般是SSL安全通信线路)+认证+完整性保护

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值