zoukankan      html  css  js  c++  java
  • 计算机网络基础

    一、HTTP报文

    1.请求报文

    HTTP协议是以ASCII码传输,建立在TCP/IP协议之上的应用层规范。规范把HTTP请求分为三部分:状态行、请求头、消息主体。类似下面这样:

    <method> <requests-URL> <version>
    <headers>
    
    <entity-body>

    HTTP定义了与服务器交互的不同方法,最基本的方法有4中,分别是Get、Post、Put和Delete。

    1。Get用于信息获取,而且应该是安全的和幂等的:所谓安全的是指该操作用于获取信息而非修改信息,幂等意味对同意URLL的多个请求应该返回相同的结果。

    GET请求报文示例:

     GET /books/?sex=man&name=Professional HTTP/1.1
     Host: www.example.com
     User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
     Gecko/20050225 Firefox/1.0.1
     Connection: Keep-Alive

    2.Post表示可能修改服务器上的资源的请求:

     POST / HTTP/1.1
     Host: www.example.com
     User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
     Gecko/20050225 Firefox/1.0.1
     Content-Type: application/x-www-form-urlencoded
     Content-Length: 40
     Connection: Keep-Alive
    
     sex=man&name=Professional  

    3.注意:

    • Get可以提交的数据量受到URL长度的限制,HTTP协议规范没有对URL长度进行限制,但是特定的浏览器以及服务器可能对对其限制。
    • Post是没有大小限制的,HTTP协议也没有进行大小限制,但是处于安全的考虑,服务器软件在实现的时候会做一定的限制
    • 其实,在上面的两个例子中,GET和POST数据的内容是一模一样,只是位置不同,一个在URL,一个在HTTP的报文里

    2.响应报文

    HTTP响应报文也由三部分组成:状态行、响应头、响应正文。

    状态行有协议版本、数字形式的状态码以及相应的状态描述组成,各元素之间以空格分隔。

    常见的状态码有如下几种:

    • 200 OK: 客户端请求成功
    • 301 Moved: Permanently 请求永久重定向
    • 302 Moved Temporarily: 请求临时重定向
    • 304 Not Modified :文件未修改,可以直接使用缓存的文件
    • 400 Bad Request :由于客户端请求有语法错误,不能被服务器理解
    • 401 Unauthorized :请求未经授权,这个状态码必须和WWW-Authenticate报头域一起使用
    • 403 Forbidden: 服务器收到请求,但是拒绝提供服务。服务器通常会在响应正文中给出不提供服务的原因
    • 404 Not Found :请求资源不存在
    • 500 Internal Server Error: 服务器发生不可预期的错误,导致无法完成客户端的请求
    • 503 Service Unavailable: 服务器当前不能处理客户端的请求,在一段时间后,可能回复正常
  • 相关阅读:
    Mac 下 IDEA 无法启动的问题
    oracle impdp
    张亚琴:人生是赛场不是战场,人生是一个没有终点的赛场,永远都在起跑线上
    sc抽象组件工作
    Jenkins 实现gitLab提交代码立即利用Jenkins发版
    Jenkins 修改admin密码
    docker 安装nginx,并配置vue项目在nginx启动
    No 'Access-Control-Allow-Origin' header is present on the requested resource 是跨域的问题吗?
    Vue个别vue文件不能热加载
    IVT虚拟化支持
  • 原文地址:https://www.cnblogs.com/jxc321/p/7542529.html
Copyright © 2011-2022 走看看