网络安全之计算机网络基础知识<二>

一.IP与端口

IP地址:指互联网协议地址。是IP协议提供的地址格式,为互联网上的每一个网络和每一个主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

简单来说,IP地址是电子设备(计算机)在互联网上的唯一标识,它的作用就是在互联网中寻找电脑。
例子:小美的电脑和小帅的电脑能互通的前提条件就是能互相找到对方的地址,也就是IP地址。

端口:可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。

简单来说,端口就是应用程序(服务)在计算机中的唯一标识。
例子:假如小帅的电脑打开了很多应用程序,其中有邮件(端口假设为10)、聊天(端口假设为11)等,小美想和小帅聊天,就需要找到IP地址并访问11端口。

源端口(客户机)端口随机,目标端口(服务器)端口固定开启监听。端口范围为 0-65535.

二.HTTP协议分析

超文本传输协议(HTTP)是一个简单的请求-响应协议,他通常运行在TCP之上,指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。【传输协议定义了浏览器和客户端传输数据的格式】

特点:基于TCP/IP协议;默认端口号为80;请求与响应是对应的;每次请求相互独立,是无状态协议

HTTP协议-请求request
①请求行
⭐请求方式:GET
⭐请求uri:basePage/ProgramOrder.jsp
⭐协议及版本:HTTP/1.1
②请求头
⭐Host:请求主机域名/IP地址
Host:www.baidu.com
⭐User-Agent:告诉服务器浏览器的基本信息,供服务器解决浏览器的兼容问题
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0
⭐Accept:传输文件类型
Accept: application/json, text/plain
⭐Referer:告诉服务器从哪里来
Referer:https://www.baidu.com/
⭐Accept-Encoding:浏览器申明自己可接收的编码方法
Accept-Encoding:gzip, deflate
⭐Accept-Language:浏览器申明自己可接收的语言
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
③请求空行
这里就是一个空行
④请求体【post请求方式时的参数】

注:uri 是比url 范围要大的,可以包含很多网站,而url是代表特定的定位符。
百度
url:http://baidu.com/new/index.php
uri :/new/index.php
搜狐:http://www.souhu.com/new/index.php
uri:/new/index.php

HTTP有七种请求方式,常用get,post
get请求的请求参数在url地址中,url有长度限制
post请求的请求参数在url地址中,无大小限制

HTTP协议-响应response
①响应行
⭐协议及版本:HTTP/1.1
⭐响应状态码:200
⭐状态码描述:OK
②响应头
Content-Type:text/html; charset=UTF-8
Date:Tue, 12 Dec 2023 06:24:10 GMT
Server:nginx/1.15.11
③响应空行
④响应体

响应状态码:服务器告诉浏览器本次请求和响应的状态
1XX:服务器接收浏览器消息未完成,发送1XX状态码
2XX:成功,200
3XX:重定向,302,304(访问缓存)
4XX:客户端错误,404(没有找到对应资源),405(请求方法不被允许)
5XX:服务器错误,500(服务器内部出现异常)

相关推荐

  1. 网络安全计算机网络基础知识

    2023-12-15 19:42:05       60 阅读
  2. 第二章:计算机系统基础知识计算机网络

    2023-12-15 19:42:05       31 阅读
  3. 计算机网络技术基础知识

    2023-12-15 19:42:05       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-15 19:42:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-15 19:42:05       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-15 19:42:05       87 阅读
  4. Python语言-面向对象

    2023-12-15 19:42:05       96 阅读

热门阅读

  1. ORACLE释放表空间中的空闲数据文件

    2023-12-15 19:42:05       48 阅读
  2. 富文本内容图片点击实现多图预览

    2023-12-15 19:42:05       62 阅读
  3. Linux anacron命令 检测长期不执行的定时任务

    2023-12-15 19:42:05       45 阅读
  4. 30天精通Nodejs--第十三天:MySQL2

    2023-12-15 19:42:05       58 阅读
  5. 计算机网络中的通信子网主要有哪些功能?

    2023-12-15 19:42:05       64 阅读
  6. 挑战52天学小猪佩奇笔记--day22

    2023-12-15 19:42:05       56 阅读
  7. C++的函数包装模板std::function

    2023-12-15 19:42:05       63 阅读