HTTP协议重点内容

Http协议重点

用途

用于客户端与服务端之间的通信,在一条通信线路上必定有一端是客户端,另一端则是服务器端。

Http协议可以明确的区分出哪端是客户端,哪端是服务器端。

通过请求和响应的交换达成通信

Http协议规定,请求从客户端发出,最后服务器端响应请求并返回。

换句话说,Http协议肯定是先从客户端开始建立通信的,服务器端在没有收到请求之前不会发出响应。

Http是无状态(stateless)协议

Http是一种不保存状态,即无状态协议。Http协议自身不对请求和响应之间的通信状态进行保存。

也就是说在HTTP这个级别,协议对于发送过的请求或响应都不做持久化处理。

HTTP 方法

  1. GET:获取资源,如向服务器获取页面等资源(客户端想访问服务器资源)。向服务器请求资源。服务器将资源解析后返回响应内容。
  2. POST:客户端告诉服务器信息,并请求访问资源(提交表单)。获取资源
  3. PUT:传输文件。==REST==:由于PUT方法自身不带验证机制,任何人都可以上传人间,存在安全问题,因此一般的Web网站不使用该方法。故很多公司架构设计采用REST(REpresentational State Transfer,表征状态转移.
  4. HEAD:获取报文首部。用于确认URI的有效性及资源更新的日期时间等。
  5. DELETE:删除文件。因为不带验证机制,所以一般不使用。在==REST==有可能会开放使用。
  6. OPTIONS:询问支持的方法。查询对请求URI指定的资源支持的方法(GET POST HEAD...)
  7. CONNECT: 要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。==主要使用SSL和TLS协议把通信内容加密后经网络隧道传输。==
  8. TRACE:让web服务器端将之前的请求通信环回给客户端的方法。

HTTP状态码

  • TIPS:状态码和状况的不一致。不少返回的状态码响应都是错误的,但是用户可能察觉不到这点。比如WEB应用程序内部发生错误,状态码依然返回200OK,这种情况也经常遇到。
  • 2XX:成功,请求正常处理完毕
    • 200 OK:正常处理,返回资源
    • 204 No Content:请求成功,但没有资源返回。请求处理成功,但在返回的响应报文中不含实体的追部分
    • 206 Partial Content:返回客户端指定的部分资源
  • 3XX:重定向状态码,需要进行附加的操作以完成请求
    • 301 Moved Permanently:永久重定向,表示请求的资源已经被分配了新的URI,以后应该使用资源现在所指定的URI
    • 302 Found:临时重定向,临时用新的URI请求资源
    • 303 See Other:资源的URI已更新,让客服端临时按新的URI访问
    • 304 Not Modified:服务端允许请求访问资源,但没有满足条件(客户端发出了附带请求的访问)
    • 307 Temporary Redirect:临时重定向
  • 4XX:客户端错误(Client Error),服务器无法处理请求
    • 400 Bad Request:请求报文存在语法错误。
    • 401 Unauthorized:发送的请求需要有通过HTTP认证的认证信息
    • ==403 Forbidden==:服务器不允许(拒绝)访问所请求的资源。访问权限出现某些问题、未获得文件系统的访问授权。
    • ==404 Not Found==:服务器上无法找到请求的资源。除此之外,也可以在服务器端拒绝请求且不想说明理由时使用。
  • 5XX:服务器错误(Server Error),服务器处理请求出错
    • 500 Internal Server Error:服务器端在执行请求时发生了故障。也可能是Web应用存在的bug或某些临时的故障
    • ==503 Service Unavailable==:服务器暂时处于超负载或停机维护。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容