HTTP 协议学习

摘自:https://www.cnblogs.com/ranyonsue/p/5984001.html

 

  1. HTTP简介
    1. HTTP,Hyper Text Transfer Protocol(超文本传输协议),是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
    2. HTTP是一个基于TCP/IP通信协议来传递数据
    3. 过程:HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。
  2. URL
    1. (Uniform Resource Identifiers, URI)
    2. URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息
    3. http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name
      • 协议部分: “http:”,在"HTTP"后面的“//”为分隔符
      • 域名部分: “www.aspxfans.com”
      • 端口部分: 跟在域名后面的是端口,域名和端口之间使用“:”作为分隔符,端口不是 URL 的部分,如果省略,采用默认端口
      • 虚拟目录部分:/news/”,从域名后的第一个“/”开始到最后一个“/”为止
      • 文件名部分:“index.asp”,
        1. 从域名后的最后一个“/”开始到“?”为止,是文件名部分,
        2. 如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,
        3. 如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分
      • 锚部分:“name”,从“#”开始到最后,都是锚部分
      • 参数部分:“boardID=5&ID=24618&page=1”,从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分
  3. URI和URL的区别
    1. URI,uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。
    2. URL,uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。
  4. HTTP之请求消息Request
    1. 请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。

      HTTP/1.1 200 OK

      Date: Fri, 22 May 2009 06:07:21 GMT

      Content-Type: text/html; charset=UTF-8

      <html>

            <head></head>

            <body>

                  <!--body goes here-->

            </body>

      </html>

  5. HTTP之响应消息Response
    1. 状态行、消息报头、空行和响应正文。
  6. 状态行,由HTTP协议版本号(HTTP/1.1),状态码(200),状态消息 (OK)
    1. 消息报头,用来说明客户端要使用的一些附加信息
    2. 空行,消息报头后面的空行是必须的
    3. 响应正文,服务器返回给客户端的文本信息。
  7. HTTP之状态码
    1. 1xx:指示信息--表示请求已接收,继续处理
    2. 2xx:成功--表示请求已被成功接收、理解、接受
    3. 3xx:重定向--要完成请求必须进行更进一步的操作
    4. 4xx:客户端错误--请求有语法错误或请求无法实现
    5. 5xx:服务器端错误--服务器未能实现合法的请求
  8. HTTP请求方法
    1. HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
    2. GET     请求指定的页面信息,并返回实体主体。
    3. HEAD     类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
    4. POST     向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
    5. PUT     从客户端向服务器传送的数据取代指定的文档的内容。
  9. HTTP工作原理
    1. 例如:在浏览器地址栏键入URL,按下回车之后会经历以下流程:
    2. 浏览器将该 html 文本并显示内容;
    3. 释放 TCP连接;
    4. 服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;
    5. 浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器;
    6. 解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建立TCP连接;
    7. 浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;
  10. GET和POST请求的区别
    1. GET提交的数据会在地址栏中显示出来,而POST提交,地址栏不会改变
    2. 传输数据的大小
    3. 安全性,POST的安全性要比GET的安全性高。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值