Muduo_Day8(muduo_http库)

http请求

  • request line + header + body(header分为普通报头,请求报头和实体报头)

  • header与body之间有一空行(CRLF)

  • request line是由请求方法,url字段以及http协议版本字段三个部分组成,他们之间用空格分开


    http_request报文格式
  • 请求方法有:Get,Post,Head,Put,Delete等
    1.Get方法:当客户端要从服务器读取数据时,点击网页上的链接,或者通过在浏览器的地址栏输入网址来浏览网页的,使用的都是GET方式.GET的方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端.
    2.Post方法:适合使用GET方式的情况下,可以使用POST方式,因为使用POST的方法允许客户端给服务端提供较多的信息.POST方法向服务器提交数据,比如表单的数据的提交。GET的方法一般用于获取/查询资源信息。

常用的请求头

  • Accept:浏览器可接受的媒体(MIME)类型
  • Accept-Language:浏览器所希望的语言种类
  • Accept-Encoding:浏览器能够解码的编码方法,如gzip,deflate等
  • User-Agent:告诉HTTP服务器, 客户端使用的操作系统和浏览器的名称和版本
  • Connection:表示是否需要持久连接,Keep-Alive表示长连接,close表示短连接

http响应

  • status line + header + body(header分为普通报头,请求报头和实体报头)

  • 状态行(status line)由http版本,状态码和状态码描述文本三部分组成.

  • header与body之间有一空行(CRLF)


    http_reponse报文格式
  • 状态响应码
    1XX 提示信息 - 表示请求已被成功接收,继续处理
    2XX 成功 - 表示请求已被成功接收,理解,接受
    3XX 重定向 - 要完成请求必须进行更进一步的处理
    4XX 客户端错误 - 请求有语法错误或请求无法实现
    5XX 服务器端错误 - 服务器执行一个有效请求失败
    *HTTP1.1 使用持久连接keep-alive,所谓持久连接,就是服务器在发送响应后仍然在一段时间内保持这条连接,允许在同一个连接中存在多次数据请求和响应,即在持久连接情况下,服务器在发送完响应后并不关闭TCP 连接,而客户端可以通过这个连接继续请求其他对象

你可能感兴趣的:(Muduo_Day8(muduo_http库))