HTTP相关知识点

作者: 柏龙 | 来源:发表于2017-05-30 23:29 被阅读0次

    HTTP 的工作原理是什么?

    • 客户端与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。
    • 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。
    • 服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
    • 客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

    如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。

    URI 的格式是什么?常见的协议有哪些

    URI:统一资源标识符

    • 网络层协议:IP协议、ICMP协议、ARP协议、RARP协议。
    • 传输层协议:TCP协议、UDP协议。
    • 应用层协议:FTP、Telnet、SMTP、HTTP、RIP、NFS、DNS。

    HTTP 协议有几种和服务器交互的方法

    方法名称 含义
    GET GET是最常用的方法,通常用于请求服务器发送某个资源,我们平时在浏览器输入网页地址,就是给服务器发送了一个get请求,希望得到这个网页
    HEAD HEAD方法和GET类似,但是在服务器的响应中没有资源的内容,只有资源的一些基本信息,主要用于在不获取资源的情况下获取资源信息(类型、大小等),通过状态码产看资源是否存在,通过查看首部,测试资源是否被修改了
    PUT 和GET从服务器获取资源相反,PUT用于想服务器写入资源。PUT的语义就是让服务器用请求的主体部分创建一个请求URL命名的文档,如果存在就替换当然处于安全原因,并不是所有的服务器都实现
    POST POST用于想服务器发送数据,通常用来支持HTML的表单(input、select、textarea),表单中的数据会被发送到服务器
    DELETE DELETE方法用于要求服务器删除请求的URL,和PUT一样,服务器可能会不支持

    状态码200,301,304,403,404,500,503分别代表什么意思

    状态代码 状态信息 含义
    200 OK 服务器成功处理了请求
    301 Moved Permanently 客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL
    304 Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档),服务器告诉客户,原来缓冲的文档还可以继续使用
    403 Forbidden 资源不可用。服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致
    404 Not Found 无法找到指定位置的资源
    500 Internal Server Error 服务器遇到了意料不到的情况,不能完成客户的请求
    503 Service Unavailable 服务器由于维护或者负载过重未能应答。例如,Servlet可能在数据库连接池已满的情况下返回503。服务器返回503时可以提供一个 Retry-After头

    报文有哪几部分组成?

    HTTP报文是简单的格式化数据块,没个报文都包含一条来自客户端的请求或者一条来自服务器的响应,由3个部分组成

    • 对报文进行描述的起始行 —— start line
    • 包含属性的首部块 —— header
    • 可选的包含数据的主体部分 —— body

    请求头的格式和作用是什么?

    格式:键值对
    作用:为请求添加额外的信息,来告诉服务器客户端的信息和能力,服务器可以据此为客户端提供更好的响应

    请求头.png
    请求头 描述
    Accept 告诉服务器能够发送那些媒体类型
    Accept-Encoding 告诉服务器能够发送那些编码
    Accept-Language 告诉服务器能够发送那些语言
    Cache-Control 随报文传送缓存指示
    Connection 客户端和服务器是否保持连接
    Cookie 客户端字符串
    Host 接收请求的服务器的主机名和端口号
    Pragma 早期的随报文传送指示方式
    Referer 提供了包含当前请求URI的文档的URL,告诉服务器自己来源
    User—Agent 发起请求的客户端应用程序

    首部的格式

    格式:键值对;
    首部包括:通用首部字段(General),请求首部字段(Request),响应首部字段(Response),实体首部字段(Entity)
    通用首部: 请求报文和响应报文两方都会使用的首部。
    请求首部: 从客户端向服务器端发送请求报文时使用的首部。补充了请求的附加内容、客户端信息、响应内容相关优先级等信息。
    响应首部: 从服务器端向客户端返回响应报文时使用的首部。补充了响应的附加内容,也会要求客户端附加额外的内容信息。
    实体首部字段: 针对请求报文和响应报文的实体部分使用的首部。补充了资源内容更新时间等与实体有关的信息。

    请求头.png

    首部的格式和作用是什么?给个范例截图说明

    格式:键值对;
    首部包括:通用首部字段(General),请求首部字段(Request),响应首部字段(Response),实体首部字段(Entity)
    通用首部: 请求报文和响应报文两方都会使用的首部。
    请求首部: 从客户端向服务器端发送请求报文时使用的首部。补充了请求的附加内容、客户端信息、响应内容相关优先级等信息。
    响应首部: 从服务器端向客户端返回响应报文时使用的首部。补充了响应的附加内容,也会要求客户端附加额外的内容信息。
    实体首部字段: 针对请求报文和响应报文的实体部分使用的首部。补充了资源内容更新时间等与实体有关的信息。

    主体的作用是什么?

    主体.png

    主体部分就是HTTP要传输的内容了,一般是图片、视频、HTML文档等。已页面为例,响应主体也就是HTML文档了。

    简述浏览器缓存是如何控制的

    参考链接

    相关文章

      网友评论

        本文标题:HTTP相关知识点

        本文链接:https://www.haomeiwen.com/subject/pahdfxtx.html