zoukankan      html  css  js  c++  java
  • HTTP协议

    1.  在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP协议。

    2.  HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式。绝大多数Web开发都是建立在HTTP协议之上的Web应用。

       HTTP URL (URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下:

    http://host[":"port][abs_path]

       host表示合法的Internet主机域名或者IP地址;port指定一个端口号,为空则使用缺省端口80;abs_path指定请求资源的URI;如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出

    3.  HTTP协议的请求:

       

       请求有三部分组成:请求行、消息报头、请求正文。

       请求行组成:请求方法+统一资源标识符+HTTP协议版本(Method + Request-URI + HTTP-Version)

       一般请求方法有:GET     请求获取Request-URI所标识的资源;POST    在Request-URI所标识的资源后附加新的数据。

       HTTP的八种请求方式:

       1.GET     请求获取Request-URI所标识的资源

       2.POST    在Request-URI所标识的资源后附加新的数据

       3.HEAD    请求获取由Request-URI所标识的资源的响应消息报头

       4.PUT     请求服务器存储一个资源,并用Request-URI作为其标识

       5.DELETE  请求服务器删除Request-URI所标识的资源

       6.TRACE   请求服务器回送收到的请求信息,主要用于测试或诊断

       7.CONNECT 保留将来使用

       8.OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求

    4.  HTTP协议的响应:

       

       服务器向浏览器返回HTTP响应,响应包括:

       响应代码:200表示成功,3xx表示重定向,4xx表示客户端发送的请求有错误,5xx表示服务器端处理时发生了错误;

       响应类型:由Content-Type指定 以及其他相关的Header;通常服务器的HTTP响应会携带内容,也就是有一个Body,包含响应的内容,网页的HTML源码就在Body中。

       一些常见的状态码:200 OK      //客户端请求成功;400 Bad Request  //客户端请求有语法错误,不能被服务器所理解;401 Unauthorized //请求未经授权;

       403 Forbidden  //服务器收到请求,但是拒绝提供服;404 Not Found  //请求资源不存在;500 Internal Server Error //服务器发生不可预期的错误;

       503 Server Unavailable  //服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

        注意一下:Body的数据类型由Content-Type头来确定,如果是网页,Body就是文本,如果是图片,Body就是图片的二进制数据。浏览器就是依靠Content-Type来判断响应的内容是网页还是图片,是视频还是音乐。浏览器并不靠URL来判断响应的内容,所以,即使URL是http://example.com/abc.jpg,它也不一定就是图片。

    5.  HTTP和HTTPS

       1.HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

       2.http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

       3.http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

       4.HTTPS的工作流程

       

  • 相关阅读:
    【QQ空间转移】C/C++函数的调用约定
    【QQ空间转移】BIG Endian 和 Little Endian模式
    【QQ空间转移】友元函数
    【QQ空间转移】和室友争论所瞎想的
    【QQ空间转移】银行同业拆借
    【QQ空间转移】票据和债券
    js实现给数字加三位一逗号间隔的两种方法
    js获取上个月第一天
    获取所选月份指定时间范围
    PLSQL 11 注册码
  • 原文地址:https://www.cnblogs.com/jkzr/p/10525556.html
Copyright © 2011-2022 走看看