Http协议

Http协议

Http请求的本质,就是创建两个socket对象,一个是客户端,一个是服务端,他们互相通过字符串的形式通信,而这些字符串遵循的就是http协议,而http协议规定了请求头和请求体是通过两个/r/n进行分隔,而请求头又是通过一个/r/n进行分隔,而响应头和响应体一样分隔,cookie是存放在请求头和响应头中进行传输的,而get请求是没有请求体的,但是他也必须以/r/n进行分割

特点

http协议,即超文本传输协议,这个协议详细规定了浏览器和万维网服务器之间的相互通信的规则

  • 基于请求/响应式的,给一次请求,服务器给一次响应
  • http是无状态协议:一旦断开,下一次存储任何信息,
  • 协议双方:浏览器和服务器
  • 请求协议:通信规则规定了客户端发送给服务端的内容格式
  • 响应协议:通信规则规定了服务器发送给客户端的内容格式
  • URL:统一资源定位符,就是一个网址:协议名://域名:端口/路径

请求协议

客户端打包数据发送给服务端,必须要按照服务端的格式来写,请求方式有两种,get方式和post方式

区别

  • get方式:直接写在地址栏 ?username=egon&pwd=123以这种方式发送
    应用场景 地址栏访问,a标签,form表单
  • post方式:把数据放在请求体里面发送

格式(get)

  • requestHeaders(请求头)
    • POST http1.1
    • key:value
    • ...

格式(post)

  • RequestHeaders(请求头)
    • POST http1.1
    • key:value
    • …(向服务器做一些声明,告诉服务器自己能识别的文本格式、语言、压缩格式、来源等等)
  • \r\n(空行)
  • 请求体(放数据的地方)

区别

  • post请求相对安全一点,最起码不会暴露在地址栏
  • 地址栏容量有限,如果内容太大,get请求装不下

响应协议

  • 相应首行: http 200ok 状态码,等状态信息
  • 相应头信息:responseHeaders
    • key:value
    • …(服务器向浏览器发送一些声明,自己数据的格式,编码,大小等等)
  • 空行:\r\n
  • 相应体:渲染到页面的HTML

状态码

  • 200:请求成功,服务器会把响应体内容显示在浏览器中。
  • 404:请求的资源没有找到
  • 304:浏览器第一次请求之后会缓存下服务器相应的响应以及最后修改时间,等浏览器第二次请求发送后,如果服务端数据没有改动,也就是最后修改事件没有变化的话,服务器会给浏览器发送304状态吗,告诉浏览器不用从服务器去拿,自己的缓存就可以
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 12,725评论 6 152
  • Http协议详解 标签(空格分隔): Linux 声明:本片文章非原创,内容来源于博客园作者MIN飞翔的HTTP协...
    Sivin阅读 10,637评论 3 82
  • HTTP概述 超文本传输协议(HTTP,HyperText Transfer Protocol) 是互联网上应用最...
    曹渊说创业阅读 9,277评论 2 61
  • 前言:最近发现自己在网络相关这一块基础很是欠缺,所以准备花时间了解一下,本文主要是讲http协议的一些基础,和一些...
    justCode_阅读 6,301评论 0 23
  • 01 萧默是别人家的小孩,学习成绩好,性格乖巧,从小在一片赞扬声中长大。不巧的是他偏偏就住在乔安家隔壁,乔妈时不时...
    夭夭逃之阅读 3,499评论 6 9

友情链接更多精彩内容